lsst.ip.isr gdc0c513512+d6c9a0a3b8
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Static Protected Attributes | List of all members
lsst.ip.isr.isrStatistics.IsrStatisticsTask Class Reference
Inheritance diagram for lsst.ip.isr.isrStatistics.IsrStatisticsTask:

Public Member Functions

 __init__ (self, statControl=None, **kwargs)
 
 run (self, inputExp, ptc=None, overscanResults=None, **kwargs)
 
 measureCti (self, inputExp, overscans, gains)
 
 measureBanding (self, inputExp, overscans)
 
 measureProjectionStatistics (self, inputExp, overscans)
 
 copyCalibDistributionStatistics (self, inputExp, **kwargs)
 
 measureBiasShifts (self, inputExp, overscanResults)
 
 measureAmpCorrelations (self, inputExp, overscanResults)
 
 measureDivisaderoStatistics (self, inputExp, **kwargs)
 

Static Public Member Functions

 makeKernel (kernelSize)
 

Public Attributes

 statControl
 
 statType
 

Static Public Attributes

 ConfigClass = IsrStatisticsTaskConfig
 

Protected Member Functions

 _scan_for_shifts (self, overscanData)
 
 _satisfies_flatness (self, shiftRow, shiftPeak, overscanData)
 

Static Protected Attributes

str _DefaultName = "isrStatistics"
 

Detailed Description

Task to measure arbitrary statistics on ISR processed exposures.

The goal is to wrap a number of optional measurements that are
useful for calibration production and detector stability.

Definition at line 208 of file isrStatistics.py.

Constructor & Destructor Documentation

◆ __init__()

lsst.ip.isr.isrStatistics.IsrStatisticsTask.__init__ ( self,
statControl = None,
** kwargs )

Definition at line 217 of file isrStatistics.py.

Member Function Documentation

◆ _satisfies_flatness()

lsst.ip.isr.isrStatistics.IsrStatisticsTask._satisfies_flatness ( self,
shiftRow,
shiftPeak,
overscanData )
protected
Determine if a region is flat.

Parameters
----------
shiftRow : `int`
    Row with possible peak.
shiftPeak : `float`
    Value at the possible peak.
overscanData : `list` [`float`]
    Overscan data used to fit around the possible peak.

Returns
-------
isFlat : `bool`
    Indicates if the region is flat, and so the peak is valid.

Definition at line 718 of file isrStatistics.py.

◆ _scan_for_shifts()

lsst.ip.isr.isrStatistics.IsrStatisticsTask._scan_for_shifts ( self,
overscanData )
protected
Scan overscan data for shifts.

Parameters
----------
overscanData : `list` [`float`]
     Overscan data to search for shifts.

Returns
-------
noise : `float`
    Noise estimated from Butterworth filtered overscan data.
peaks : `list` [`float`, `float`, `int`, `int`]
    Shift peak information, containing the convolved peak
    value, the raw peak value, and the lower and upper bounds
    of the region checked.

Definition at line 674 of file isrStatistics.py.

◆ copyCalibDistributionStatistics()

lsst.ip.isr.isrStatistics.IsrStatisticsTask.copyCalibDistributionStatistics ( self,
inputExp,
** kwargs )
Copy calibration statistics for this exposure.

Parameters
----------
inputExp : `lsst.afw.image.Exposure`
    The exposure being processed.
**kwargs :
    Keyword arguments with calibrations.

Returns
-------
outputStats : `dict` [`str`, [`dict` [`str`, `float`]]]
    Dictionary of measurements, keyed by amplifier name and
    statistics segment.

Definition at line 576 of file isrStatistics.py.

◆ makeKernel()

lsst.ip.isr.isrStatistics.IsrStatisticsTask.makeKernel ( kernelSize)
static
Make a boxcar smoothing kernel.

Parameters
----------
kernelSize : `int`
    Size of the kernel in pixels.

Returns
-------
kernel : `np.array`
    Kernel for boxcar smoothing.

Definition at line 422 of file isrStatistics.py.

◆ measureAmpCorrelations()

lsst.ip.isr.isrStatistics.IsrStatisticsTask.measureAmpCorrelations ( self,
inputExp,
overscanResults )
Measure correlations between amplifier segments.

Parameters
----------
inputExp : `lsst.afw.image.Exposure`
    Exposure to measure.
overscans : `list` [`lsst.pipe.base.Struct`]
    List of overscan results.  Expected fields are:

    ``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 (`lsst.afw.image.Image`). This
        quantity is used to estimate the amplifier read noise
        empirically.

Returns
-------
outputStats : `dict` [`str`, [`dict` [`str`, `float`]]]
    Dictionary of measurements, keyed by amplifier name and
    statistics segment.

Notes
-----
Based on eo_pipe implementation:
https://github.com/lsst-camera-dh/eo_pipe/blob/main/python/lsst/eo/pipe/raft_level_correlations.py  # noqa: E501 W505

Definition at line 750 of file isrStatistics.py.

◆ measureBanding()

lsst.ip.isr.isrStatistics.IsrStatisticsTask.measureBanding ( self,
inputExp,
overscans )
Task to measure banding statistics.

Parameters
----------
inputExp : `lsst.afw.image.Exposure`
    Exposure to measure.
overscans : `list` [`lsst.pipe.base.Struct`]
    List of overscan results.  Expected fields are:

    ``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 (`lsst.afw.image.Image`). This
        quantity is used to estimate the amplifier read noise
        empirically.

Returns
-------
outputStats : `dict` [`str`, [`dict` [`str`, `float`]]]
    Dictionary of measurements, keyed by amplifier name and
    statistics segment.

Definition at line 441 of file isrStatistics.py.

◆ measureBiasShifts()

lsst.ip.isr.isrStatistics.IsrStatisticsTask.measureBiasShifts ( self,
inputExp,
overscanResults )
Measure number of bias shifts from overscan data.

Parameters
----------
inputExp : `lsst.afw.image.Exposure`
    Exposure to measure.
overscans : `list` [`lsst.pipe.base.Struct`]
    List of overscan results.  Expected fields are:

    ``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 (`lsst.afw.image.Image`). This
        quantity is used to estimate the amplifier read noise
        empirically.

Returns
-------
outputStats : `dict` [`str`, [`dict` [`str`, `float`]]]
    Dictionary of measurements, keyed by amplifier name and
    statistics segment.

Notes
-----
Based on eop_pipe implementation:
https://github.com/lsst-camera-dh/eo_pipe/blob/main/python/lsst/eo/pipe/biasShiftsTask.py  # noqa: E501 W505

Definition at line 622 of file isrStatistics.py.

◆ measureCti()

lsst.ip.isr.isrStatistics.IsrStatisticsTask.measureCti ( self,
inputExp,
overscans,
gains )
Task to measure CTI statistics.

Parameters
----------
inputExp : `lsst.afw.image.Exposure`
    Exposure to measure.
overscans : `list` [`lsst.pipe.base.Struct`]
    List of overscan results.  Expected fields are:

    ``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 (`lsst.afw.image.Image`). This
        quantity is used to estimate the amplifier read noise
        empirically.
gains : `dict` [`str` `float`]
    Dictionary of per-amplifier gains, indexed by amplifier name.

Returns
-------
outputStats : `dict` [`str`, [`dict` [`str`, `float`]]]
    Dictionary of measurements, keyed by amplifier name and
    statistics segment.

Definition at line 315 of file isrStatistics.py.

◆ measureDivisaderoStatistics()

lsst.ip.isr.isrStatistics.IsrStatisticsTask.measureDivisaderoStatistics ( self,
inputExp,
** kwargs )
Measure Max Divisadero Tearing effect per amp.

Parameters
----------
inputExp : `lsst.afw.image.Exposure`
    Exposure to measure. Usually a flat.
**kwargs :
    The flat will be selected from here.

Returns
-------
outputStats : `dict` [`str`, [`dict` [`str`, `float`]]]
    Dictionary of measurements, keyed by amplifier name and
    statistics segment.
    Measurements include

    - DIVISADERO_PROFILE: Robust mean of rows between
      divisaderoProjection<Maximum|Minumum> on readout edge of ccd
      normalized by a linear fit to the same rows.
    - DIVISADERO_MAX_PAIR: Tuple of maximum of the absolute values of
      the DIVISADERO_PROFILE, for number of pixels (specified by
      divisaderoNumImpactPixels on left and right side of amp.
    - DIVISADERO_MAX: Maximum of the absolute values of the
      the DIVISADERO_PROFILE, for the divisaderoNumImpactPixels on
      boundaries of neighboring amps (including the pixels in those
      neighborboring amps).

Definition at line 817 of file isrStatistics.py.

◆ measureProjectionStatistics()

lsst.ip.isr.isrStatistics.IsrStatisticsTask.measureProjectionStatistics ( self,
inputExp,
overscans )
Task to measure metrics from image slicing.

Parameters
----------
inputExp : `lsst.afw.image.Exposure`
    Exposure to measure.
overscans : `list` [`lsst.pipe.base.Struct`]
    List of overscan results.  Expected fields are:

    ``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 (`lsst.afw.image.Image`). This
        quantity is used to estimate the amplifier read noise
        empirically.

Returns
-------
outputStats : `dict` [`str`, [`dict` [`str`, `float`]]]
    Dictionary of measurements, keyed by amplifier name and
    statistics segment.

Definition at line 494 of file isrStatistics.py.

◆ run()

lsst.ip.isr.isrStatistics.IsrStatisticsTask.run ( self,
inputExp,
ptc = None,
overscanResults = None,
** kwargs )
Task to run arbitrary statistics.

The statistics should be measured by individual methods, and
add to the dictionary in the return struct.

Parameters
----------
inputExp : `lsst.afw.image.Exposure`
    The exposure to measure.
ptc : `lsst.ip.isr.PtcDataset`, optional
    A PTC object containing gains to use.
overscanResults : `list` [`lsst.pipe.base.Struct`], optional
    List of overscan results.  Expected fields are:

    ``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 (`lsst.afw.image.Image`). This
        quantity is used to estimate the amplifier read noise
        empirically.
**kwargs :
     Keyword arguments.  Calibrations being passed in should
     have an entry here.

Returns
-------
resultStruct : `lsst.pipe.base.Struct`
    Contains the measured statistics as a dict stored in a
    field named ``results``.

Raises
------
RuntimeError
    Raised if the amplifier gains could not be found.

Definition at line 223 of file isrStatistics.py.

Member Data Documentation

◆ _DefaultName

str lsst.ip.isr.isrStatistics.IsrStatisticsTask._DefaultName = "isrStatistics"
staticprotected

Definition at line 215 of file isrStatistics.py.

◆ ConfigClass

lsst.ip.isr.isrStatistics.IsrStatisticsTask.ConfigClass = IsrStatisticsTaskConfig
static

Definition at line 214 of file isrStatistics.py.

◆ statControl

lsst.ip.isr.isrStatistics.IsrStatisticsTask.statControl

Definition at line 219 of file isrStatistics.py.

◆ statType

lsst.ip.isr.isrStatistics.IsrStatisticsTask.statType

Definition at line 221 of file isrStatistics.py.


The documentation for this class was generated from the following file: