lsst.ip.isr gdc0c513512+8dc8b78d92
|
Public Member Functions | |
__init__ (self, **kwargs) | |
runQuantum (self, butlerQC, inputRefs, outputRefs) | |
run (self, ccdExposure, *camera=None, bias=None, linearizer=None, crosstalk=None, crosstalkSources=None, dark=None, flat=None, ptc=None, bfKernel=None, bfGains=None, defects=None, fringes=pipeBase.Struct(fringes=None), opticsTransmission=None, filterTransmission=None, sensorTransmission=None, atmosphereTransmission=None, detectorNum=None, strayLightData=None, illumMaskedImage=None, deferredChargeCalib=None) | |
defineEffectivePtc (self, ptcDataset, detector, bfGains, overScans, metadata) | |
ensureExposure (self, inputExp, camera=None, detectorNum=None) | |
compareCameraKeywords (self, exposureMetadata, calib, calibName) | |
convertIntToFloat (self, exposure) | |
maskAmplifier (self, ccdExposure, amp, defects) | |
overscanCorrection (self, ccdExposure, amp) | |
updateVariance (self, ampExposure, amp, ptcDataset) | |
maskNegativeVariance (self, exposure) | |
darkCorrection (self, exposure, darkExposure, invert=False) | |
doLinearize (self, detector) | |
flatCorrection (self, exposure, flatExposure, invert=False) | |
saturationDetection (self, exposure, amp) | |
saturationInterpolation (self, exposure) | |
suspectDetection (self, exposure, amp) | |
maskDefect (self, exposure, defectBaseList) | |
maskEdges (self, exposure, numEdgePixels=0, maskPlane="SUSPECT", level='DETECTOR') | |
maskAndInterpolateDefects (self, exposure, defectBaseList) | |
maskNan (self, exposure) | |
maskAndInterpolateNan (self, exposure) | |
measureBackground (self, exposure, IsrQaConfig=None) | |
roughZeroPoint (self, exposure) | |
flatContext (self, exp, flat, dark=None) | |
makeBinnedImages (self, exposure) | |
debugView (self, exposure, stepname) | |
Static Public Member Functions | |
extractCalibDate (calib) | |
Public Attributes | |
vignettePolygon | |
Static Public Attributes | |
ConfigClass = IsrTaskConfig | |
Static Protected Attributes | |
str | _DefaultName = "isr" |
Apply common instrument signature correction algorithms to a raw frame. The process for correcting imaging data is very similar from camera to camera. This task provides a vanilla implementation of doing these corrections, including the ability to turn certain corrections off if they are not needed. The inputs to the primary method, `run()`, are a raw exposure to be corrected and the calibration data products. The raw input is a single chip sized mosaic of all amps including overscans and other non-science pixels. The __init__ method sets up the subtasks for ISR processing, using the defaults from `lsst.ip.isr`. Parameters ---------- args : `list` Positional arguments passed to the Task constructor. None used at this time. kwargs : `dict`, optional Keyword arguments passed on to the Task constructor. None used at this time.
Definition at line 984 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.__init__ | ( | self, | |
** | kwargs ) |
Definition at line 1011 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.compareCameraKeywords | ( | self, | |
exposureMetadata, | |||
calib, | |||
calibName ) |
Compare header keywords to confirm camera states match. Parameters ---------- exposureMetadata : `lsst.daf.base.PropertySet` Header for the exposure being processed. calib : `lsst.afw.image.Exposure` or `lsst.ip.isr.IsrCalib` Calibration to be applied. calibName : `str` Calib type for log message.
Definition at line 1995 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.convertIntToFloat | ( | self, | |
exposure ) |
Convert exposure image from uint16 to float. If the exposure does not need to be converted, the input is immediately returned. For exposures that are converted to use floating point pixels, the variance is set to unity and the mask to zero. Parameters ---------- exposure : `lsst.afw.image.Exposure` The raw exposure to be converted. Returns ------- newexposure : `lsst.afw.image.Exposure` The input ``exposure``, converted to floating point pixels. Raises ------ RuntimeError Raised if the exposure type cannot be converted to float.
Definition at line 2025 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.darkCorrection | ( | self, | |
exposure, | |||
darkExposure, | |||
invert = False ) |
Apply dark correction in place. Parameters ---------- exposure : `lsst.afw.image.Exposure` Exposure to process. darkExposure : `lsst.afw.image.Exposure` Dark exposure of the same size as ``exposure``. invert : `Bool`, optional If True, re-add the dark to an already corrected image. Raises ------ RuntimeError Raised if either ``exposure`` or ``darkExposure`` do not have their dark time defined. See Also -------- lsst.ip.isr.isrFunctions.darkCorrection
Definition at line 2280 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.debugView | ( | self, | |
exposure, | |||
stepname ) |
Utility function to examine ISR exposure at different stages. Parameters ---------- exposure : `lsst.afw.image.Exposure` Exposure to view. stepname : `str` State of processing to view.
Definition at line 2725 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.defineEffectivePtc | ( | self, | |
ptcDataset, | |||
detector, | |||
bfGains, | |||
overScans, | |||
metadata ) |
Define an effective Photon Transfer Curve dataset with nominal gains and noise. Parameters ---------- ptcDataset : `lsst.ip.isr.PhotonTransferCurveDataset` Input Photon Transfer Curve dataset. detector : `lsst.afw.cameraGeom.Detector` Detector object. bfGains : `dict` Gains from running the brighter-fatter code. A dict keyed by amplifier name for the detector in question. ovserScans : `list` [`lsst.pipe.base.Struct`] List of overscanResults structures metadata : `lsst.daf.base.PropertyList` Exposure metadata to update gain and noise provenance. Returns ------- effectivePtc : `lsst.ip.isr.PhotonTransferCurveDataset` PTC dataset containing gains and readout noise values to be used throughout Instrument Signature Removal.
Definition at line 1783 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.doLinearize | ( | self, | |
detector ) |
Check if linearization is needed for the detector cameraGeom. Checks config.doLinearize and the linearity type of the first amplifier. Parameters ---------- detector : `lsst.afw.cameraGeom.Detector` Detector to get linearity type from. Returns ------- doLinearize : `Bool` If True, linearization should be performed.
Definition at line 2323 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.ensureExposure | ( | self, | |
inputExp, | |||
camera = None, | |||
detectorNum = None ) |
Ensure that the data returned by Butler is a fully constructed exp. ISR requires exposure-level image data for historical reasons, so if we did not recieve that from Butler, construct it from what we have, modifying the input in place. Parameters ---------- inputExp : `lsst.afw.image` image-type. The input data structure obtained from Butler. Can be `lsst.afw.image.Exposure`, `lsst.afw.image.DecoratedImageU`, or `lsst.afw.image.ImageF` camera : `lsst.afw.cameraGeom.camera`, optional The camera associated with the image. Used to find the appropriate detector if detector is not already set. detectorNum : `int`, optional The detector in the camera to attach, if the detector is not already set. Returns ------- inputExp : `lsst.afw.image.Exposure` The re-constructed exposure, with appropriate detector parameters. Raises ------ TypeError Raised if the input data cannot be used to construct an exposure.
Definition at line 1916 of file isrTask.py.
|
static |
Extract common calibration metadata values that will be written to output header. Parameters ---------- calib : `lsst.afw.image.Exposure` or `lsst.ip.isr.IsrCalib` Calibration to pull date information from. Returns ------- dateString : `str` Calibration creation date string to add to header.
Definition at line 1971 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.flatContext | ( | self, | |
exp, | |||
flat, | |||
dark = None ) |
Context manager that applies and removes flats and darks, if the task is configured to apply them. Parameters ---------- exp : `lsst.afw.image.Exposure` Exposure to process. flat : `lsst.afw.image.Exposure` Flat exposure the same size as ``exp``. dark : `lsst.afw.image.Exposure`, optional Dark exposure the same size as ``exp``. Yields ------ exp : `lsst.afw.image.Exposure` The flat and dark corrected exposure.
Definition at line 2673 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.flatCorrection | ( | self, | |
exposure, | |||
flatExposure, | |||
invert = False ) |
Apply flat correction in place. Parameters ---------- exposure : `lsst.afw.image.Exposure` Exposure to process. flatExposure : `lsst.afw.image.Exposure` Flat exposure of the same size as ``exposure``. invert : `Bool`, optional If True, unflatten an already flattened image. See Also -------- lsst.ip.isr.isrFunctions.flatCorrection
Definition at line 2342 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.makeBinnedImages | ( | self, | |
exposure ) |
Make visualizeVisit style binned exposures. Parameters ---------- exposure : `lsst.afw.image.Exposure` Exposure to bin. Returns ------- bin1 : `lsst.afw.image.Exposure` Binned exposure using binFactor1. bin2 : `lsst.afw.image.Exposure` Binned exposure using binFactor2.
Definition at line 2703 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.maskAmplifier | ( | self, | |
ccdExposure, | |||
amp, | |||
defects ) |
Identify bad amplifiers, saturated and suspect pixels. Parameters ---------- ccdExposure : `lsst.afw.image.Exposure` Input exposure to be masked. amp : `lsst.afw.cameraGeom.Amplifier` Catalog of parameters defining the amplifier on this exposure to mask. defects : `lsst.ip.isr.Defects` List of defects. Used to determine if the entire amplifier is bad. Returns ------- badAmp : `Bool` If this is true, the entire amplifier area is covered by defects and unusable.
Definition at line 2062 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.maskAndInterpolateDefects | ( | self, | |
exposure, | |||
defectBaseList ) |
Mask and interpolate defects using mask plane "BAD", in place. Parameters ---------- exposure : `lsst.afw.image.Exposure` Exposure to process. defectBaseList : defects-like List of defects to mask and interpolate. Can be `lsst.ip.isr.Defects` or `list` of `lsst.afw.image.DefectBase`. See Also -------- lsst.ip.isr.isrTask.maskDefect
Definition at line 2510 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.maskAndInterpolateNan | ( | self, | |
exposure ) |
"Mask and interpolate NaN/infs using mask plane "UNMASKEDNAN", in place. Parameters ---------- exposure : `lsst.afw.image.Exposure` Exposure to process. See Also -------- lsst.ip.isr.isrTask.maskNan
Definition at line 2561 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.maskDefect | ( | self, | |
exposure, | |||
defectBaseList ) |
Mask defects using mask plane "BAD", in place. Parameters ---------- exposure : `lsst.afw.image.Exposure` Exposure to process. defectBaseList : defect-type List of defects to mask. Can be of type `lsst.ip.isr.Defects` or `list` of `lsst.afw.image.DefectBase`. Notes ----- Call this after CCD assembly, since defects may cross amplifier boundaries.
Definition at line 2452 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.maskEdges | ( | self, | |
exposure, | |||
numEdgePixels = 0, | |||
maskPlane = "SUSPECT", | |||
level = 'DETECTOR' ) |
Mask edge pixels with applicable mask plane. Parameters ---------- exposure : `lsst.afw.image.Exposure` Exposure to process. numEdgePixels : `int`, optional Number of edge pixels to mask. maskPlane : `str`, optional Mask plane name to use. level : `str`, optional Level at which to mask edges.
Definition at line 2476 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.maskNan | ( | self, | |
exposure ) |
Mask NaNs using mask plane "UNMASKEDNAN", in place. Parameters ---------- exposure : `lsst.afw.image.Exposure` Exposure to process. Notes ----- We mask over all non-finite values (NaN, inf), including those that are masked with other bits (because those may or may not be interpolated over later, and we want to remove all NaN/infs). Despite this behaviour, the "UNMASKEDNAN" mask plane is used to preserve the historical name.
Definition at line 2535 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.maskNegativeVariance | ( | self, | |
exposure ) |
Identify and mask pixels with negative variance values. Parameters ---------- exposure : `lsst.afw.image.Exposure` Exposure to process. See Also -------- lsst.ip.isr.isrFunctions.updateVariance
Definition at line 2264 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.measureBackground | ( | self, | |
exposure, | |||
IsrQaConfig = None ) |
Measure the image background in subgrids, for quality control. Parameters ---------- exposure : `lsst.afw.image.Exposure` Exposure to process. IsrQaConfig : `lsst.ip.isr.isrQa.IsrQaConfig` Configuration object containing parameters on which background statistics and subgrids to use.
Definition at line 2582 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.overscanCorrection | ( | self, | |
ccdExposure, | |||
amp ) |
Apply overscan correction in place. This method does initial pixel rejection of the overscan region. The overscan can also be optionally segmented to allow for discontinuous overscan responses to be fit separately. The actual overscan subtraction is performed by the `lsst.ip.isr.overscan.OverscanTask`, which is called here after the amplifier is preprocessed. Parameters ---------- ccdExposure : `lsst.afw.image.Exposure` Exposure to have overscan correction performed. amp : `lsst.afw.cameraGeom.Amplifer` The amplifier to consider while correcting the overscan. Returns ------- overscanResults : `lsst.pipe.base.Struct` Result struct with components: ``imageFit`` Value or fit subtracted from the amplifier image data. (scalar or `lsst.afw.image.Image`) ``overscanFit`` Value or fit subtracted from the overscan image data. (scalar or `lsst.afw.image.Image`) ``overscanImage`` Image of the overscan region with the overscan correction applied. This quantity is used to estimate the amplifier read noise empirically. (`lsst.afw.image.Image`) ``edgeMask`` Mask of the suspect pixels. (`lsst.afw.image.Mask`) ``overscanMean`` Median overscan fit value. (`float`) ``overscanSigma`` Clipped standard deviation of the overscan after correction. (`float`) Raises ------ RuntimeError Raised if the ``amp`` does not contain raw pixel information. See Also -------- lsst.ip.isr.overscan.OverscanTask
Definition at line 2139 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.roughZeroPoint | ( | self, | |
exposure ) |
Set an approximate magnitude zero point for the exposure. Parameters ---------- exposure : `lsst.afw.image.Exposure` Exposure to process.
Definition at line 2646 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.run | ( | self, | |
ccdExposure, | |||
* | camera = None, | ||
bias = None, | |||
linearizer = None, | |||
crosstalk = None, | |||
crosstalkSources = None, | |||
dark = None, | |||
flat = None, | |||
ptc = None, | |||
bfKernel = None, | |||
bfGains = None, | |||
defects = None, | |||
fringes = pipeBase.Struct(fringes=None), | |||
opticsTransmission = None, | |||
filterTransmission = None, | |||
sensorTransmission = None, | |||
atmosphereTransmission = None, | |||
detectorNum = None, | |||
strayLightData = None, | |||
illumMaskedImage = None, | |||
deferredChargeCalib = None ) |
Perform instrument signature removal on an exposure. Steps included in the ISR processing, in order performed, are: - saturation and suspect pixel masking - overscan subtraction - CCD assembly of individual amplifiers - bias subtraction - variance image construction - linearization of non-linear response - crosstalk masking - brighter-fatter correction - dark subtraction - fringe correction - stray light subtraction - flat correction - masking of known defects and camera specific features - vignette calculation - appending transmission curve and distortion model Parameters ---------- ccdExposure : `lsst.afw.image.Exposure` The raw exposure that is to be run through ISR. The exposure is modified by this method. camera : `lsst.afw.cameraGeom.Camera`, optional The camera geometry for this exposure. Required if one or more of ``ccdExposure``, ``bias``, ``dark``, or ``flat`` does not have an associated detector. bias : `lsst.afw.image.Exposure`, optional Bias calibration frame. linearizer : `lsst.ip.isr.linearize.LinearizeBase`, optional Functor for linearization. crosstalk : `lsst.ip.isr.crosstalk.CrosstalkCalib`, optional Calibration for crosstalk. crosstalkSources : `list`, optional List of possible crosstalk sources. dark : `lsst.afw.image.Exposure`, optional Dark calibration frame. flat : `lsst.afw.image.Exposure`, optional Flat calibration frame. ptc : `lsst.ip.isr.PhotonTransferCurveDataset`, optional Photon transfer curve dataset, with, e.g., gains and read noise. bfKernel : `numpy.ndarray`, optional Brighter-fatter kernel. bfGains : `dict` of `float`, optional Gains used to override the detector's nominal gains for the brighter-fatter correction. A dict keyed by amplifier name for the detector in question. defects : `lsst.ip.isr.Defects`, optional List of defects. fringes : `lsst.pipe.base.Struct`, optional Struct containing the fringe correction data, with elements: ``fringes`` fringe calibration frame (`lsst.afw.image.Exposure`) ``seed`` random seed derived from the ``ccdExposureId`` for random number generator (`numpy.uint32`) opticsTransmission: `lsst.afw.image.TransmissionCurve`, optional A ``TransmissionCurve`` that represents the throughput of the, optics, to be evaluated in focal-plane coordinates. filterTransmission : `lsst.afw.image.TransmissionCurve` A ``TransmissionCurve`` that represents the throughput of the filter itself, to be evaluated in focal-plane coordinates. sensorTransmission : `lsst.afw.image.TransmissionCurve` A ``TransmissionCurve`` that represents the throughput of the sensor itself, to be evaluated in post-assembly trimmed detector coordinates. atmosphereTransmission : `lsst.afw.image.TransmissionCurve` A ``TransmissionCurve`` that represents the throughput of the atmosphere, assumed to be spatially constant. detectorNum : `int`, optional The integer number for the detector to process. strayLightData : `object`, optional Opaque object containing calibration information for stray-light correction. If `None`, no correction will be performed. illumMaskedImage : `lsst.afw.image.MaskedImage`, optional Illumination correction image. Returns ------- result : `lsst.pipe.base.Struct` Result struct with component: ``exposure`` The fully ISR corrected exposure. (`lsst.afw.image.Exposure`) ``outputExposure`` An alias for ``exposure``. (`lsst.afw.image.Exposure`) ``ossThumb`` Thumbnail image of the exposure after overscan subtraction. (`numpy.ndarray`) ``flattenedThumb`` Thumbnail image of the exposure after flat-field correction. (`numpy.ndarray`) ``outputStatistics`` Values of the additional statistics calculated. Raises ------ RuntimeError Raised if a configuration option is set to `True`, but the required calibration data has not been specified. Notes ----- The current processed exposure can be viewed by setting the appropriate `lsstDebug` entries in the ``debug.display`` dictionary. The names of these entries correspond to some of the `IsrTaskConfig` Boolean options, with the value denoting the frame to use. The exposure is shown inside the matching option check and after the processing of that step has finished. The steps with debug points are: * doAssembleCcd * doBias * doCrosstalk * doBrighterFatter * doDark * doFringe * doStrayLight * doFlat In addition, setting the ``postISRCCD`` entry displays the exposure after all ISR processing has finished.
Definition at line 1178 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.runQuantum | ( | self, | |
butlerQC, | |||
inputRefs, | |||
outputRefs ) |
Definition at line 1024 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.saturationDetection | ( | self, | |
exposure, | |||
amp ) |
Detect and mask saturated pixels in config.saturatedMaskName. Parameters ---------- exposure : `lsst.afw.image.Exposure` Exposure to process. Only the amplifier DataSec is processed. amp : `lsst.afw.cameraGeom.Amplifier` Amplifier detector data. See Also -------- lsst.ip.isr.isrFunctions.makeThresholdMask
Definition at line 2367 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.saturationInterpolation | ( | self, | |
exposure ) |
Interpolate over saturated pixels, in place. This method should be called after `saturationDetection`, to ensure that the saturated pixels have been identified in the SAT mask. It should also be called after `assembleCcd`, since saturated regions may cross amplifier boundaries. Parameters ---------- exposure : `lsst.afw.image.Exposure` Exposure to process. See Also -------- lsst.ip.isr.isrTask.saturationDetection lsst.ip.isr.isrFunctions.interpolateFromMask
Definition at line 2391 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.suspectDetection | ( | self, | |
exposure, | |||
amp ) |
Detect and mask suspect pixels in config.suspectMaskName. Parameters ---------- exposure : `lsst.afw.image.Exposure` Exposure to process. Only the amplifier DataSec is processed. amp : `lsst.afw.cameraGeom.Amplifier` Amplifier detector data. See Also -------- lsst.ip.isr.isrFunctions.makeThresholdMask Notes ----- Suspect pixels are pixels whose value is greater than amp.getSuspectLevel(). This is intended to indicate pixels that may be affected by unknown systematics; for example if non-linearity corrections above a certain level are unstable then that would be a useful value for suspectLevel. A value of `nan` indicates that no such level exists and no pixels are to be masked as suspicious.
Definition at line 2416 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.updateVariance | ( | self, | |
ampExposure, | |||
amp, | |||
ptcDataset ) |
Set the variance plane using the gain and read noise The read noise is calculated from the ``overscanImage`` if the ``doEmpiricalReadNoise`` option is set in the configuration; otherwise the value from the amplifier data is used. Parameters ---------- ampExposure : `lsst.afw.image.Exposure` Exposure to process. amp : `lsst.afw.cameraGeom.Amplifier` or `FakeAmp` Amplifier detector data. ptcDataset : `lsst.ip.isr.PhotonTransferCurveDataset` Effective PTC dataset containing the gains and read noise. See also -------- lsst.ip.isr.isrFunctions.updateVariance
Definition at line 2232 of file isrTask.py.
|
staticprotected |
Definition at line 1009 of file isrTask.py.
|
static |
Definition at line 1008 of file isrTask.py.
lsst.ip.isr.isrTask.IsrTask.vignettePolygon |
Definition at line 1651 of file isrTask.py.