1060 def run(self, exposure, amp, isTransposed=False):
1061 """Measure and remove serial/parallel overscan from an amplifier image.
1063 This will be deprecated.
1067 exposure : `lsst.afw.image.Exposure`
1068 Image data that will have the overscan corrections applied.
1069 amp : `lsst.afw.cameraGeom.Amplifier`
1070 Amplifier to use for debugging purposes.
1071 isTransposed : `bool`, optional
1072 Is the image transposed, such that serial and parallel
1073 overscan regions are reversed? Default is False.
1077 overscanResults : `lsst.pipe.base.Struct`
1078 Result struct with components:
1081 Value or fit subtracted from the amplifier image data
1082 (scalar or `lsst.afw.image.Image`).
1084 Value or fit subtracted from the serial overscan image
1085 data (scalar or `lsst.afw.image.Image`).
1087 Image of the serial overscan region with the serial
1088 overscan correction applied
1089 (`lsst.afw.image.Image`). This quantity is used to
1090 estimate the amplifier read noise empirically.
1091 ``parallelOverscanFit``
1092 Value or fit subtracted from the parallel overscan
1093 image data (scalar, `lsst.afw.image.Image`, or None).
1094 ``parallelOverscanImage``
1095 Image of the parallel overscan region with the
1096 parallel overscan correction applied
1097 (`lsst.afw.image.Image` or None).
1099 Mean of the fit serial overscan region.
1100 This and the following values will be tuples of
1101 (serial, parallel) if doParallelOverscan=True.
1103 Median of the fit serial overscan region.
1105 Sigma of the fit serial overscan region.
1107 Mean of the residual of the serial overscan region after
1110 Median of the residual of the serial overscan region after
1113 Mean of the residual of the serial overscan region after
1120 Raised if an invalid overscan type is set.
1123 serialOverscanBBox = amp.getRawSerialOverscanBBox()
1124 imageBBox = amp.getRawDataBBox()
1126 if self.config.doParallelOverscan:
1129 parallelOverscanBBox = amp.getRawParallelOverscanBBox()
1130 imageBBox = imageBBox.expandedTo(parallelOverscanBBox)
1134 geom.Point2I(serialOverscanBBox.getMinX(), imageBBox.getEndY()),
1135 geom.Extent2I(imageBBox.getWidth(), serialOverscanBBox.getHeight()),
1140 imageBBox.getMinY()),
1142 imageBBox.getHeight()),
1150 isTransposed=isTransposed,
1151 leadingToSkip=self.config.leadingColumnsToSkip,
1152 trailingToSkip=self.config.trailingColumnsToSkip,
1154 overscanMean = serialResults.overscanMean
1155 overscanMedian = serialResults.overscanMedian
1156 overscanSigma = serialResults.overscanSigma
1157 residualMean = serialResults.overscanMeanResidual
1158 residualMedian = serialResults.overscanMedianResidual
1159 residualSigma = serialResults.overscanSigmaResidual
1162 parallelResults =
None
1163 if self.config.doParallelOverscan:
1166 parallelOverscanBBox = amp.getRawParallelOverscanBBox()
1167 imageBBox = amp.getRawDataBBox()
1183 parallelOverscanBBox,
1184 isTransposed=
not isTransposed,
1185 leadingToSkip=self.config.leadingRowsToSkip,
1186 trailingToSkip=self.config.trailingRowsToSkip,
1188 overscanMean = (overscanMean, parallelResults.overscanMean)
1189 overscanMedian = (overscanMedian, parallelResults.overscanMedian)
1190 overscanSigma = (overscanSigma, parallelResults.overscanSigma)
1191 residualMean = (residualMean, parallelResults.overscanMeanResidual)
1192 residualMedian = (residualMedian, parallelResults.overscanMedianResidual)
1193 residualSigma = (residualSigma, parallelResults.overscanSigmaResidual)
1195 parallelOverscanFit = parallelResults.overscanOverscanModel
if parallelResults
else None
1196 parallelOverscanImage = parallelResults.overscanImage
if parallelResults
else None
1198 return pipeBase.Struct(imageFit=serialResults.ampOverscanModel,
1199 overscanFit=serialResults.overscanOverscanModel,
1200 overscanImage=serialResults.overscanImage,
1202 parallelOverscanFit=parallelOverscanFit,
1203 parallelOverscanImage=parallelOverscanImage,
1204 overscanMean=overscanMean,
1205 overscanMedian=overscanMedian,
1206 overscanSigma=overscanSigma,
1207 residualMean=residualMean,
1208 residualMedian=residualMedian,
1209 residualSigma=residualSigma)