|
LSST Applications g00d0e8bbd7+8c5ae1fdc5,g013ef56533+603670b062,g083dd6704c+2e189452a7,g199a45376c+0ba108daf9,g1c5cce2383+bc9f6103a4,g1fd858c14a+cd69ed4fc1,g210f2d0738+c4742f2e9e,g262e1987ae+612fa42d85,g29ae962dfc+83d129e820,g2cef7863aa+aef1011c0b,g35bb328faa+8c5ae1fdc5,g3fd5ace14f+5eaa884f2a,g47891489e3+e32160a944,g53246c7159+8c5ae1fdc5,g5b326b94bb+dcc56af22d,g64539dfbff+c4742f2e9e,g67b6fd64d1+e32160a944,g74acd417e5+c122e1277d,g786e29fd12+668abc6043,g87389fa792+8856018cbb,g88cb488625+47d24e4084,g89139ef638+e32160a944,g8d7436a09f+d14b4ff40a,g8ea07a8fe4+b212507b11,g90f42f885a+e1755607f3,g97be763408+34be90ab8c,g98df359435+ec1fa61bf1,ga2180abaac+8c5ae1fdc5,ga9e74d7ce9+43ac651df0,gbf99507273+8c5ae1fdc5,gc2a301910b+c4742f2e9e,gca7fc764a6+e32160a944,gd7ef33dd92+e32160a944,gdab6d2f7ff+c122e1277d,gdb1e2cdc75+1b18322db8,ge410e46f29+e32160a944,ge41e95a9f2+c4742f2e9e,geaed405ab2+0d91c11c6d,w.2025.44
LSST Data Management Base Package
|
Functions | |
| createPsf (fwhm) | |
| transposeMaskedImage (maskedImage) | |
| interpolateDefectList (maskedImage, defectList, fwhm, fallbackValue=None, maskNameList=None, useLegacyInterp=True) | |
| makeThresholdMask (maskedImage, threshold, growFootprints=1, maskName='SAT') | |
| growMasks (mask, radius=0, maskNameList=['BAD'], maskValue="BAD") | |
| maskE2VEdgeBleed (exposure, e2vEdgeBleedSatMinArea=10000, e2vEdgeBleedSatMaxArea=100000, e2vEdgeBleedYMax=350, saturatedMaskName="SAT", log=None) | |
| maskITLEdgeBleed (ccdExposure, badAmpDict, fpCore, itlEdgeBleedSatMinArea=10000, itlEdgeBleedSatMaxArea=100000, itlEdgeBleedThreshold=5000., itlEdgeBleedModelConstant=0.02, saturatedMaskName="SAT", log=None) | |
| _applyMaskITLEdgeBleed (ccdExposure, xCore, satLevel, widthSat, itlEdgeBleedThreshold=5000., itlEdgeBleedModelConstant=0.03, saturatedMaskName="SAT", log=None) | |
| maskITLSatSag (ccdExposure, fpCore, saturatedMaskName="SAT") | |
| maskITLDip (exposure, detectorConfig, maskPlaneNames=["SUSPECT", "ITL_DIP"], log=None) | |
| interpolateFromMask (maskedImage, fwhm, growSaturatedFootprints=1, maskNameList=['SAT'], fallbackValue=None, useLegacyInterp=True) | |
| saturationCorrection (maskedImage, saturation, fwhm, growFootprints=1, interpolate=True, maskName='SAT', fallbackValue=None, useLegacyInterp=True) | |
| trimToMatchCalibBBox (rawMaskedImage, calibMaskedImage) | |
| biasCorrection (maskedImage, biasMaskedImage, trimToFit=False) | |
| darkCorrection (maskedImage, darkMaskedImage, expScale, darkScale, invert=False, trimToFit=False) | |
| updateVariance (maskedImage, gain, readNoise, replace=True) | |
| flatCorrection (maskedImage, flatMaskedImage, scalingType, userScale=1.0, invert=False, trimToFit=False) | |
| illuminationCorrection (maskedImage, illumMaskedImage, illumScale, trimToFit=True) | |
| brighterFatterCorrection (exposure, kernel, maxIter, threshold, applyGain, gains=None) | |
| transferFlux (cFunc, fStep, correctionMode=True) | |
| fluxConservingBrighterFatterCorrection (exposure, kernel, maxIter, threshold, applyGain, gains=None, correctionMode=True) | |
| gainContext (exp, image, apply, gains=None, invert=False, isTrimmed=True) | |
| attachTransmissionCurve (exposure, opticsTransmission=None, filterTransmission=None, sensorTransmission=None, atmosphereTransmission=None) | |
| applyGains (exposure, normalizeGains=False, ptcGains=None, isTrimmed=True) | |
| widenSaturationTrails (mask) | |
| setBadRegions (exposure, badStatistic="MEDIAN") | |
| checkFilter (exposure, filterList, log) | |
| getPhysicalFilter (filterLabel, log) | |
| countMaskedPixels (maskedIm, maskPlane) | |
| getExposureGains (exposure) | |
| getExposureReadNoises (exposure) | |
| isTrimmedExposure (exposure) | |
| isTrimmedImage (image, detector) | |
| compareCameraKeywords (doRaiseOnCalibMismatch, cameraKeywordsToCompare, exposureMetadata, calib, calibName, log=None) | |
|
protected |
Apply ITL edge bleed masking model.
Parameters
----------
ccdExposure : `lsst.afw.image.Exposure`
Exposure to apply masking to.
xCore: `int`
X coordinate of the saturated core.
satLevel: `float`
Minimum saturation level of the detector.
widthSat: `float`
Width of the saturated core.
itlEdgeBleedThreshold : `float`, optional
Threshold above median sky background for edge bleed detection
(electron units).
itlEdgeBleedModelConstant : `float`, optional
Constant in the decaying exponential in the edge bleed masking.
saturatedMaskName : `str`, optional
Mask name for saturation.
log : `logging.Logger`, optional
Logger to handle messages.
Definition at line 403 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.applyGains | ( | exposure, | |
| normalizeGains = False, | |||
| ptcGains = None, | |||
| isTrimmed = True ) |
Scale an exposure by the amplifier gains.
Parameters
----------
exposure : `lsst.afw.image.Exposure`
Exposure to process. The image is modified.
normalizeGains : `Bool`, optional
If True, then amplifiers are scaled to force the median of
each amplifier to equal the median of those medians.
ptcGains : `dict`[`str`], optional
Dictionary keyed by amp name containing the PTC gains.
isTrimmed : `bool`, optional
Is the input image trimmed?
Definition at line 1418 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.attachTransmissionCurve | ( | exposure, | |
| opticsTransmission = None, | |||
| filterTransmission = None, | |||
| sensorTransmission = None, | |||
| atmosphereTransmission = None ) |
Attach a TransmissionCurve to an Exposure, given separate curves for
different components.
Parameters
----------
exposure : `lsst.afw.image.Exposure`
Exposure object to modify by attaching the product of all given
``TransmissionCurves`` in post-assembly trimmed detector coordinates.
Must have a valid ``Detector`` attached that matches the detector
associated with sensorTransmission.
opticsTransmission : `lsst.afw.image.TransmissionCurve`
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.
Returns
-------
combined : `lsst.afw.image.TransmissionCurve`
The TransmissionCurve attached to the exposure.
Notes
-----
All ``TransmissionCurve`` arguments are optional; if none are provided, the
attached ``TransmissionCurve`` will have unit transmission everywhere.
Definition at line 1366 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.biasCorrection | ( | maskedImage, | |
| biasMaskedImage, | |||
| trimToFit = False ) |
Apply bias correction in place.
Parameters
----------
maskedImage : `lsst.afw.image.MaskedImage`
Image to process. The image is modified by this method.
biasMaskedImage : `lsst.afw.image.MaskedImage`
Bias image of the same size as ``maskedImage``
trimToFit : `Bool`, optional
If True, raw data is symmetrically trimmed to match
calibration size.
Raises
------
RuntimeError
Raised if ``maskedImage`` and ``biasMaskedImage`` do not have
the same size.
Definition at line 761 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.brighterFatterCorrection | ( | exposure, | |
| kernel, | |||
| maxIter, | |||
| threshold, | |||
| applyGain, | |||
| gains = None ) |
Apply brighter fatter correction in place for the image.
Parameters
----------
exposure : `lsst.afw.image.Exposure`
Exposure to have brighter-fatter correction applied. Modified
by this method.
kernel : `numpy.ndarray`
Brighter-fatter kernel to apply.
maxIter : scalar
Number of correction iterations to run.
threshold : scalar
Convergence threshold in terms of the sum of absolute
deviations between an iteration and the previous one.
applyGain : `Bool`
If True, then the exposure values are scaled by the gain prior
to correction.
gains : `dict` [`str`, `float`]
A dictionary, keyed by amplifier name, of the gains to use.
If gains is None, the nominal gains in the amplifier object are used.
Returns
-------
diff : `float`
Final difference between iterations achieved in correction.
iteration : `int`
Number of iterations used to calculate correction.
Notes
-----
This correction takes a kernel that has been derived from flat
field images to redistribute the charge. The gradient of the
kernel is the deflection field due to the accumulated charge.
Given the original image I(x) and the kernel K(x) we can compute
the corrected image Ic(x) using the following equation:
Ic(x) = I(x) + 0.5*d/dx(I(x)*d/dx(int( dy*K(x-y)*I(y))))
To evaluate the derivative term we expand it as follows:
0.5 * ( d/dx(I(x))*d/dx(int(dy*K(x-y)*I(y)))
+ I(x)*d^2/dx^2(int(dy* K(x-y)*I(y))) )
Because we use the measured counts instead of the incident counts
we apply the correction iteratively to reconstruct the original
counts and the correction. We stop iterating when the summed
difference between the current corrected image and the one from
the previous iteration is below the threshold. We do not require
convergence because the number of iterations is too large a
computational cost. How we define the threshold still needs to be
evaluated, the current default was shown to work reasonably well
on a small set of images. For more information on the method see
DocuShare Document-19407.
The edges as defined by the kernel are not corrected because they
have spurious values due to the convolution.
Definition at line 944 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.checkFilter | ( | exposure, | |
| filterList, | |||
| log ) |
Check to see if an exposure is in a filter specified by a list.
The goal of this is to provide a unified filter checking interface
for all filter dependent stages.
Parameters
----------
exposure : `lsst.afw.image.Exposure`
Exposure to examine.
filterList : `list` [`str`]
List of physical_filter names to check.
log : `logging.Logger`
Logger to handle messages.
Returns
-------
result : `bool`
True if the exposure's filter is contained in the list.
Definition at line 1556 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.compareCameraKeywords | ( | doRaiseOnCalibMismatch, | |
| cameraKeywordsToCompare, | |||
| exposureMetadata, | |||
| calib, | |||
| calibName, | |||
| log = None ) |
Compare header keywords to confirm camera states match.
Parameters
----------
doRaiseOnCalibMismatch : `bool`
Raise on calibration mismatch? Otherwise, log a warning.
cameraKeywordsToCompare : `list` [`str`]
List of camera keywords to compare.
exposureMetadata : `lsst.daf.base.PropertyList`
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.
log : `logging.Logger`, optional
Logger to handle messages.
Definition at line 1748 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.countMaskedPixels | ( | maskedIm, | |
| maskPlane ) |
Count the number of pixels in a given mask plane.
Parameters
----------
maskedIm : `~lsst.afw.image.MaskedImage`
Masked image to examine.
maskPlane : `str`
Name of the mask plane to examine.
Returns
-------
nPix : `int`
Number of pixels in the requested mask plane.
Definition at line 1628 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.createPsf | ( | fwhm | ) |
Make a double Gaussian PSF.
Parameters
----------
fwhm : scalar
FWHM of double Gaussian smoothing kernel.
Returns
-------
psf : `lsst.meas.algorithms.DoubleGaussianPsf`
The created smoothing kernel.
Definition at line 77 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.darkCorrection | ( | maskedImage, | |
| darkMaskedImage, | |||
| expScale, | |||
| darkScale, | |||
| invert = False, | |||
| trimToFit = False ) |
Apply dark correction in place.
Parameters
----------
maskedImage : `lsst.afw.image.MaskedImage`
Image to process. The image is modified by this method.
darkMaskedImage : `lsst.afw.image.MaskedImage`
Dark image of the same size as ``maskedImage``.
expScale : scalar
Dark exposure time for ``maskedImage``.
darkScale : scalar
Dark exposure time for ``darkMaskedImage``.
invert : `Bool`, optional
If True, re-add the dark to an already corrected image.
trimToFit : `Bool`, optional
If True, raw data is symmetrically trimmed to match
calibration size.
Raises
------
RuntimeError
Raised if ``maskedImage`` and ``darkMaskedImage`` do not have
the same size.
Notes
-----
The dark correction is applied by calculating:
maskedImage -= dark * expScaling / darkScaling
Definition at line 790 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.flatCorrection | ( | maskedImage, | |
| flatMaskedImage, | |||
| scalingType, | |||
| userScale = 1.0, | |||
| invert = False, | |||
| trimToFit = False ) |
Apply flat correction in place.
Parameters
----------
maskedImage : `lsst.afw.image.MaskedImage`
Image to process. The image is modified.
flatMaskedImage : `lsst.afw.image.MaskedImage`
Flat image of the same size as ``maskedImage``
scalingType : str
Flat scale computation method. Allowed values are 'MEAN',
'MEDIAN', or 'USER'.
userScale : scalar, optional
Scale to use if ``scalingType='USER'``.
invert : `Bool`, optional
If True, unflatten an already flattened image.
trimToFit : `Bool`, optional
If True, raw data is symmetrically trimmed to match
calibration size.
Raises
------
RuntimeError
Raised if ``maskedImage`` and ``flatMaskedImage`` do not have
the same size or if ``scalingType`` is not an allowed value.
Definition at line 862 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.fluxConservingBrighterFatterCorrection | ( | exposure, | |
| kernel, | |||
| maxIter, | |||
| threshold, | |||
| applyGain, | |||
| gains = None, | |||
| correctionMode = True ) |
Apply brighter fatter correction in place for the image.
This version presents a modified version of the algorithm
found in ``lsst.ip.isr.isrFunctions.brighterFatterCorrection``
which conserves the image flux, resulting in improved
correction of the cores of stars. The convolution has also been
modified to mitigate edge effects.
Parameters
----------
exposure : `lsst.afw.image.Exposure`
Exposure to have brighter-fatter correction applied. Modified
by this method.
kernel : `numpy.ndarray`
Brighter-fatter kernel to apply.
maxIter : scalar
Number of correction iterations to run.
threshold : scalar
Convergence threshold in terms of the sum of absolute
deviations between an iteration and the previous one.
applyGain : `Bool`
If True, then the exposure values are scaled by the gain prior
to correction.
gains : `dict` [`str`, `float`]
A dictionary, keyed by amplifier name, of the gains to use.
If gains is None, the nominal gains in the amplifier object are used.
correctionMode : `Bool`
If True (default) the function applies correction for BFE. If False,
the code can instead be used to generate a simulation of BFE (sign
change in the direction of the effect)
Returns
-------
diff : `float`
Final difference between iterations achieved in correction.
iteration : `int`
Number of iterations used to calculate correction.
Notes
-----
Modified version of ``lsst.ip.isr.isrFunctions.brighterFatterCorrection``.
This correction takes a kernel that has been derived from flat
field images to redistribute the charge. The gradient of the
kernel is the deflection field due to the accumulated charge.
Given the original image I(x) and the kernel K(x) we can compute
the corrected image Ic(x) using the following equation:
Ic(x) = I(x) + 0.5*d/dx(I(x)*d/dx(int( dy*K(x-y)*I(y))))
Improved algorithm at this step applies the divergence theorem to
obtain a pixelised correction.
Because we use the measured counts instead of the incident counts
we apply the correction iteratively to reconstruct the original
counts and the correction. We stop iterating when the summed
difference between the current corrected image and the one from
the previous iteration is below the threshold. We do not require
convergence because the number of iterations is too large a
computational cost. How we define the threshold still needs to be
evaluated, the current default was shown to work reasonably well
on a small set of images.
Edges are handled in the convolution by padding. This is still not
a physical model for the edge, but avoids discontinuity in the correction.
Author of modified version: Lance.Miller@physics.ox.ac.uk
(see DM-38555).
Definition at line 1154 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.gainContext | ( | exp, | |
| image, | |||
| apply, | |||
| gains = None, | |||
| invert = False, | |||
| isTrimmed = True ) |
Context manager that applies and removes gain.
Parameters
----------
exp : `lsst.afw.image.Exposure`
Exposure to apply/remove gain.
image : `lsst.afw.image.Image`
Image to apply/remove gain.
apply : `bool`
If True, apply and remove the amplifier gain.
gains : `dict` [`str`, `float`], optional
A dictionary, keyed by amplifier name, of the gains to use.
If gains is None, the nominal gains in the amplifier object are used.
invert : `bool`, optional
Invert the gains (e.g. convert electrons to adu temporarily)?
isTrimmed : `bool`, optional
Is this a trimmed exposure?
Yields
------
exp : `lsst.afw.image.Exposure`
Exposure with the gain applied.
Definition at line 1304 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.getExposureGains | ( | exposure | ) |
Get the per-amplifier gains used for this exposure.
Parameters
----------
exposure : `lsst.afw.image.Exposure`
The exposure to find gains for.
Returns
-------
gains : `dict` [`str` `float`]
Dictionary of gain values, keyed by amplifier name.
Returns empty dict when detector is None.
Definition at line 1648 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.getExposureReadNoises | ( | exposure | ) |
Get the per-amplifier read noise used for this exposure.
Parameters
----------
exposure : `lsst.afw.image.Exposure`
The exposure to find read noise for.
Returns
-------
readnoises : `dict` [`str` `float`]
Dictionary of read noise values, keyed by amplifier name.
Returns empty dict when detector is None.
Definition at line 1680 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.getPhysicalFilter | ( | filterLabel, | |
| log ) |
Get the physical filter label associated with the given filterLabel.
If ``filterLabel`` is `None` or there is no physicalLabel attribute
associated with the given ``filterLabel``, the returned label will be
"Unknown".
Parameters
----------
filterLabel : `lsst.afw.image.FilterLabel`
The `lsst.afw.image.FilterLabel` object from which to derive the
physical filter label.
log : `logging.Logger`
Logger to handle messages.
Returns
-------
physicalFilter : `str`
The value returned by the physicalLabel attribute of ``filterLabel`` if
it exists, otherwise set to \"Unknown\".
Definition at line 1595 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.growMasks | ( | mask, | |
| radius = 0, | |||
| maskNameList = ['BAD'], | |||
| maskValue = "BAD" ) |
Grow a mask by an amount and add to the requested plane.
Parameters
----------
mask : `lsst.afw.image.Mask`
Mask image to process.
radius : scalar
Amount to grow the mask.
maskNameList : `str` or `list` [`str`]
Mask names that should be grown.
maskValue : `str`
Mask plane to assign the newly masked pixels to.
Definition at line 206 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.illuminationCorrection | ( | maskedImage, | |
| illumMaskedImage, | |||
| illumScale, | |||
| trimToFit = True ) |
Apply illumination correction in place.
Parameters
----------
maskedImage : `lsst.afw.image.MaskedImage`
Image to process. The image is modified.
illumMaskedImage : `lsst.afw.image.MaskedImage`
Illumination correction image of the same size as ``maskedImage``.
illumScale : scalar
Scale factor for the illumination correction.
trimToFit : `Bool`, optional
If True, raw data is symmetrically trimmed to match
calibration size.
Raises
------
RuntimeError
Raised if ``maskedImage`` and ``illumMaskedImage`` do not have
the same size.
Definition at line 913 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.interpolateDefectList | ( | maskedImage, | |
| defectList, | |||
| fwhm, | |||
| fallbackValue = None, | |||
| maskNameList = None, | |||
| useLegacyInterp = True ) |
Interpolate over defects specified in a defect list.
Parameters
----------
maskedImage : `lsst.afw.image.MaskedImage`
Image to process.
defectList : `lsst.meas.algorithms.Defects`
List of defects to interpolate over.
fwhm : `float`
FWHM of double Gaussian smoothing kernel.
fallbackValue : scalar, optional
Fallback value if an interpolated value cannot be determined.
If None, then the clipped mean of the image is used.
maskNameList : `list [string]`
List of the defects to interpolate over (used for GP interpolator).
useLegacyInterp : `bool`
Use the legacy interpolation (polynomial interpolation) if True. Use
Gaussian Process interpolation if False.
Notes
-----
The ``fwhm`` parameter is used to create a PSF, but the underlying
interpolation code (`lsst.meas.algorithms.interpolateOverDefects`) does
not currently make use of this information in legacy Interpolation, but use
if for the Gaussian Process as an estimation of the correlation lenght.
Definition at line 114 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.interpolateFromMask | ( | maskedImage, | |
| fwhm, | |||
| growSaturatedFootprints = 1, | |||
| maskNameList = ['SAT'], | |||
| fallbackValue = None, | |||
| useLegacyInterp = True ) |
Interpolate over defects identified by a particular set of mask planes.
Parameters
----------
maskedImage : `lsst.afw.image.MaskedImage`
Image to process.
fwhm : `float`
FWHM of double Gaussian smoothing kernel.
growSaturatedFootprints : scalar, optional
Number of pixels to grow footprints for saturated pixels.
maskNameList : `List` of `str`, optional
Mask plane name.
fallbackValue : scalar, optional
Value of last resort for interpolation.
Notes
-----
The ``fwhm`` parameter is used to create a PSF, but the underlying
interpolation code (`lsst.meas.algorithms.interpolateOverDefects`) does
not currently make use of this information.
Definition at line 632 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.isTrimmedExposure | ( | exposure | ) |
Check if the unused pixels (pre-/over-scan pixels) have
been trimmed from an exposure.
Parameters
----------
exposure : `lsst.afw.image.Exposure`
The exposure to check.
Returns
-------
result : `bool`
True if the image is trimmed, else False.
Definition at line 1712 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.isTrimmedImage | ( | image, | |
| detector ) |
Check if the unused pixels (pre-/over-scan pixels) have
been trimmed from an image
Parameters
----------
image : `lsst.afw.image.Image`
The image to check.
detector : `lsst.afw.cameraGeom.Detector`
The detector associated with the image.
Returns
-------
result : `bool`
True if the image is trimmed, else False.
Definition at line 1729 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.makeThresholdMask | ( | maskedImage, | |
| threshold, | |||
| growFootprints = 1, | |||
| maskName = 'SAT' ) |
Mask pixels based on threshold detection.
Parameters
----------
maskedImage : `lsst.afw.image.MaskedImage`
Image to process. Only the mask plane is updated.
threshold : scalar
Detection threshold.
growFootprints : scalar, optional
Number of pixels to grow footprints of detected regions.
maskName : str, optional
Mask plane name, or list of names to convert
Returns
-------
defectList : `lsst.meas.algorithms.Defects`
Defect list constructed from pixels above the threshold.
Definition at line 171 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.maskE2VEdgeBleed | ( | exposure, | |
| e2vEdgeBleedSatMinArea = 10000, | |||
| e2vEdgeBleedSatMaxArea = 100000, | |||
| e2vEdgeBleedYMax = 350, | |||
| saturatedMaskName = "SAT", | |||
| log = None ) |
Mask edge bleeds in E2V detectors.
Parameters
----------
exposure : `lsst.afw.image.Exposure`
Exposure to apply masking to.
e2vEdgeBleedSatMinArea : `int`, optional
Minimum limit of saturated cores footprint area.
e2vEdgeBleedSatMaxArea : `int`, optional
Maximum limit of saturated cores footprint area.
e2vEdgeBleedYMax: `float`, optional
Height of edge bleed masking.
saturatedMaskName : `str`, optional
Mask name for saturation.
log : `logging.Logger`, optional
Logger to handle messages.
Definition at line 229 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.maskITLDip | ( | exposure, | |
| detectorConfig, | |||
| maskPlaneNames = ["SUSPECT", "ITL_DIP"], | |||
| log = None ) |
Add mask bits according to the ITL dip model.
Parameters
----------
exposure : `lsst.afw.image.Exposure`
Exposure to do ITL dip masking.
detectorConfig : `lsst.ip.isr.overscanAmpConfig.OverscanDetectorConfig`
Configuration for this detector.
maskPlaneNames : `list [`str`], optional
Name of the ITL Dip mask planes.
log : `logging.Logger`, optional
If not set, a default logger will be used.
Definition at line 548 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.maskITLEdgeBleed | ( | ccdExposure, | |
| badAmpDict, | |||
| fpCore, | |||
| itlEdgeBleedSatMinArea = 10000, | |||
| itlEdgeBleedSatMaxArea = 100000, | |||
| itlEdgeBleedThreshold = 5000., | |||
| itlEdgeBleedModelConstant = 0.02, | |||
| saturatedMaskName = "SAT", | |||
| log = None ) |
Mask edge bleeds in ITL detectors.
Parameters
----------
ccdExposure : `lsst.afw.image.Exposure`
Exposure to apply masking to.
badAmpDict : `dict` [`str`, `bool`]
Dictionary of amplifiers, keyed by name, value is True if
amplifier is fully masked.
fpCore : `lsst.afw.detection._detection.Footprint`
Footprint of saturated core.
itlEdgeBleedThreshold : `float`, optional
Threshold above median sky background for edge bleed detection
(electron units).
itlEdgeBleedModelConstant : `float`, optional
Constant in the decaying exponential in the edge bleed masking.
saturatedMaskName : `str`, optional
Mask name for saturation.
log : `logging.Logger`, optional
Logger to handle messages.
Definition at line 287 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.maskITLSatSag | ( | ccdExposure, | |
| fpCore, | |||
| saturatedMaskName = "SAT" ) |
Mask columns presenting saturation sag in saturated footprints in
ITL detectors.
Parameters
----------
ccdExposure : `lsst.afw.image.Exposure`
Exposure to apply masking to.
fpCore : `lsst.afw.detection._detection.Footprint`
Footprint of saturated core.
saturatedMaskName : `str`, optional
Mask name for saturation.
Definition at line 520 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.saturationCorrection | ( | maskedImage, | |
| saturation, | |||
| fwhm, | |||
| growFootprints = 1, | |||
| interpolate = True, | |||
| maskName = 'SAT', | |||
| fallbackValue = None, | |||
| useLegacyInterp = True ) |
Mark saturated pixels and optionally interpolate over them
Parameters
----------
maskedImage : `lsst.afw.image.MaskedImage`
Image to process.
saturation : scalar
Saturation level used as the detection threshold.
fwhm : `float`
FWHM of double Gaussian smoothing kernel.
growFootprints : scalar, optional
Number of pixels to grow footprints of detected regions.
interpolate : Bool, optional
If True, saturated pixels are interpolated over.
maskName : str, optional
Mask plane name.
fallbackValue : scalar, optional
Value of last resort for interpolation.
Notes
-----
The ``fwhm`` parameter is used to create a PSF, but the underlying
interpolation code (`lsst.meas.algorithms.interpolateOverDefects`) does
not currently make use of this information.
Definition at line 673 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.setBadRegions | ( | exposure, | |
| badStatistic = "MEDIAN" ) |
Set all BAD areas of the chip to the average of the rest of the exposure
Parameters
----------
exposure : `lsst.afw.image.Exposure`
Exposure to mask. The exposure mask is modified.
badStatistic : `str`, optional
Statistic to use to generate the replacement value from the
image data. Allowed values are 'MEDIAN' or 'MEANCLIP'.
Returns
-------
badPixelCount : scalar
Number of bad pixels masked.
badPixelValue : scalar
Value substituted for bad pixels.
Raises
------
RuntimeError
Raised if `badStatistic` is not an allowed value.
Definition at line 1509 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.transferFlux | ( | cFunc, | |
| fStep, | |||
| correctionMode = True ) |
Take the input convolved deflection potential and the flux array
to compute and apply the flux transfer into the correction array.
Parameters
----------
cFunc: `numpy.array`
Deflection potential, being the convolution of the flux F with the
kernel K.
fStep: `numpy.array`
The array of flux values which act as the source of the flux transfer.
correctionMode: `bool`
Defines if applying correction (True) or generating sims (False).
Returns
-------
corr:
BFE correction array
Definition at line 1070 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.transposeMaskedImage | ( | maskedImage | ) |
Make a transposed copy of a masked image.
Parameters
----------
maskedImage : `lsst.afw.image.MaskedImage`
Image to process.
Returns
-------
transposed : `lsst.afw.image.MaskedImage`
The transposed copy of the input image.
Definition at line 94 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.trimToMatchCalibBBox | ( | rawMaskedImage, | |
| calibMaskedImage ) |
Compute number of edge trim pixels to match the calibration data.
Use the dimension difference between the raw exposure and the
calibration exposure to compute the edge trim pixels. This trim
is applied symmetrically, with the same number of pixels masked on
each side.
Parameters
----------
rawMaskedImage : `lsst.afw.image.MaskedImage`
Image to trim.
calibMaskedImage : `lsst.afw.image.MaskedImage`
Calibration image to draw new bounding box from.
Returns
-------
replacementMaskedImage : `lsst.afw.image.MaskedImage`
``rawMaskedImage`` trimmed to the appropriate size.
Raises
------
RuntimeError
Raised if ``rawMaskedImage`` cannot be symmetrically trimmed to
match ``calibMaskedImage``.
Definition at line 713 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.updateVariance | ( | maskedImage, | |
| gain, | |||
| readNoise, | |||
| replace = True ) |
Set the variance plane based on the image plane.
The maskedImage must have units of `adu` (if gain != 1.0) or
electron (if gain == 1.0). This routine will always produce a
variance plane in the same units as the image.
Parameters
----------
maskedImage : `lsst.afw.image.MaskedImage`
Image to process. The variance plane is modified.
gain : scalar
The amplifier gain in electron/adu.
readNoise : scalar
The amplifier read noise in electron/pixel.
replace : `bool`, optional
Replace the current variance? If False, the image
variance will be added to the current variance plane.
Definition at line 834 of file isrFunctions.py.
| lsst.ip.isr.isrFunctions.widenSaturationTrails | ( | mask | ) |
Grow the saturation trails by an amount dependent on the width of the
trail.
Parameters
----------
mask : `lsst.afw.image.Mask`
Mask which will have the saturated areas grown.
Definition at line 1461 of file isrFunctions.py.