24import lsst.pipe.base
as pipeBase
29 """Configuration parameters for AmpOffsetTask.
31 ampEdgeInset = pexConfig.Field(
32 doc="Number of pixels the amp edge strip is inset from the amp edge. A thin strip of pixels running "
33 "parallel to the edge of the amp is used to characterize the average flux level at the amp edge.",
37 ampEdgeWidth = pexConfig.Field(
38 doc=
"Pixel width of the amp edge strip, starting at ampEdgeInset and extending inwards.",
42 ampEdgeMinFrac = pexConfig.Field(
43 doc=
"Minimum allowed fraction of viable pixel rows along an amp edge. No amp offset estimate will be "
44 "generated for amp edges that do not have at least this fraction of unmasked pixel rows.",
48 ampEdgeMaxOffset = pexConfig.Field(
49 doc=
"Maximum allowed amp offset ADU value. If a measured amp offset value is larger than this, the "
50 "result will be discarded and therefore not used to determine amp pedestal corrections.",
54 ampEdgeWindow = pexConfig.Field(
55 doc=
"Pixel size of the sliding window used to generate rolling average amp offset values.",
59 doBackground = pexConfig.Field(
60 doc=
"Estimate and subtract background prior to amp offset estimation?",
64 background = pexConfig.ConfigurableField(
65 doc=
"An initial background estimation step run prior to amp offset calculation.",
66 target=SubtractBackgroundTask,
68 doDetection = pexConfig.Field(
69 doc=
"Detect sources and update cloned exposure prior to amp offset estimation?",
73 detection = pexConfig.ConfigurableField(
74 doc=
"Source detection to add temporary detection footprints prior to amp offset calculation.",
75 target=SourceDetectionTask,
80 """Calculate and apply amp offset corrections to an exposure.
82 ConfigClass = AmpOffsetConfig
83 _DefaultName = "isrAmpOffset"
89 self.makeSubtask(
"background")
90 if self.config.doDetection:
91 self.makeSubtask(
"detection")
93 def run(self, exposure):
94 """Calculate amp offset values, determine corrective pedestals for each
95 amp, and update the input exposure
in-place. This task
is currently
not
96 implemented,
and should be retargeted by a camera specific version.
101 Exposure to be corrected
for any amp offsets.
103 raise NotImplementedError(
"Amp offset task should be retargeted by a camera specific version.")
def __init__(self, *args, **kwargs)