IsrStatisticsTask¶
- class lsst.ip.isr.IsrStatisticsTask(statControl=None, **kwargs)¶
- Bases: - Task- 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. - Methods Summary - copyCalibDistributionStatistics(inputExp, ...)- Copy calibration statistics for this exposure. - Empty (clear) the metadata for this Task and all sub-Tasks. - Get metadata for all tasks. - Get the task name as a hierarchical name including parent task names. - getName()- Get the name of the task. - Get a dictionary of all tasks as a shallow copy. - makeField(doc)- Make a - lsst.pex.config.ConfigurableFieldfor this task.- makeKernel(kernelSize)- Make a boxcar smoothing kernel. - makeSubtask(name, **keyArgs)- Create a subtask as a new instance as the - nameattribute of this task.- measureAmpCorrelations(inputExp, overscanResults)- Measure correlations between amplifier segments. - measureBanding(inputExp, overscans)- Task to measure banding statistics. - measureBiasShifts(inputExp, overscanResults)- Measure number of bias shifts from overscan data. - measureCti(inputExp, overscans, gains)- Task to measure CTI statistics. - measureDivisaderoStatistics(inputExp, **kwargs)- Measure Max Divisadero Tearing effect per amp. - measureProjectionStatistics(inputExp, overscans)- Task to measure metrics from image slicing. - run(inputExp[, ptc, overscanResults])- Task to run arbitrary statistics. - timer(name[, logLevel])- Context manager to log performance data for an arbitrary block of code. - Methods Documentation - copyCalibDistributionStatistics(inputExp, **kwargs)¶
- Copy calibration statistics for this exposure. 
 - getFullMetadata() TaskMetadata¶
- Get metadata for all tasks. - Returns:
- metadataTaskMetadata
- The keys are the full task name. Values are metadata for the top-level task and all subtasks, sub-subtasks, etc. 
 
- metadata
 - Notes - The returned metadata includes timing information (if - @timer.timeMethodis used) and any metadata set by the task. The name of each item consists of the full task name with- .replaced by- :, followed by- .and the name of the item, e.g.:- topLevelTaskName:subtaskName:subsubtaskName.itemName - using - :in the full task name disambiguates the rare situation that a task has a subtask and a metadata item with the same name.
 - getFullName() str¶
- Get the task name as a hierarchical name including parent task names. - Returns:
- fullNamestr
- The full name consists of the name of the parent task and each subtask separated by periods. For example: - The full name of top-level task “top” is simply “top”. 
- The full name of subtask “sub” of top-level task “top” is “top.sub”. 
- The full name of subtask “sub2” of subtask “sub” of top-level task “top” is “top.sub.sub2”. 
 
 
- fullName
 
 - getName() str¶
- Get the name of the task. - Returns:
- taskNamestr
- Name of the task. 
 
- taskName
 - See also - getFullName
- Get the full name of the task. 
 
 - getTaskDict() dict[str, weakref.ReferenceType[lsst.pipe.base.task.Task]]¶
- Get a dictionary of all tasks as a shallow copy. - Returns:
- taskDictdict
- Dictionary containing full task name: task object for the top-level task and all subtasks, sub-subtasks, etc. 
 
- taskDict
 
 - classmethod makeField(doc: str) ConfigurableField¶
- Make a - lsst.pex.config.ConfigurableFieldfor this task.- Parameters:
- docstr
- Help text for the field. 
 
- doc
- Returns:
- configurableFieldlsst.pex.config.ConfigurableField
- A - ConfigurableFieldfor this task.
 
- configurableField
 - Examples - Provides a convenient way to specify this task is a subtask of another task. - Here is an example of use: - class OtherTaskConfig(lsst.pex.config.Config): aSubtask = ATaskClass.makeField("brief description of task") 
 - static makeKernel(kernelSize)¶
- Make a boxcar smoothing kernel. - Parameters:
- kernelSizeint
- Size of the kernel in pixels. 
 
- kernelSize
- Returns:
- kernelnp.array
- Kernel for boxcar smoothing. 
 
- kernel
 
 - makeSubtask(name: str, **keyArgs: Any) None¶
- Create a subtask as a new instance as the - nameattribute of this task.- Parameters:
- namestr
- Brief name of the subtask. 
- **keyArgs
- Extra keyword arguments used to construct the task. The following arguments are automatically provided and cannot be overridden: - config.
- parentTask.
 
 
- name
 - Notes - The subtask must be defined by - Task.config.name, an instance of- ConfigurableFieldor- RegistryField.
 - measureAmpCorrelations(inputExp, overscanResults)¶
- Measure correlations between amplifier segments. - Parameters:
- inputExplsst.afw.image.Exposure
- Exposure to measure. 
- overscanslist[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.
 
 
- inputExp
- Returns:
 - 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 
 - measureBanding(inputExp, overscans)¶
- Task to measure banding statistics. - Parameters:
- inputExplsst.afw.image.Exposure
- Exposure to measure. 
- overscanslist[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.
 
 
- inputExp
- Returns:
 
 - measureBiasShifts(inputExp, overscanResults)¶
- Measure number of bias shifts from overscan data. - Parameters:
- inputExplsst.afw.image.Exposure
- Exposure to measure. 
- overscanslist[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.
 
 
- inputExp
- Returns:
 - 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 
 - measureCti(inputExp, overscans, gains)¶
- Task to measure CTI statistics. - Parameters:
- inputExplsst.afw.image.Exposure
- Exposure to measure. 
- overscanslist[lsst.pipe.base.Struct]
- List of overscan results (expects base units of adu). 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.
 
- gainsdict[strfloat]
- Dictionary of per-amplifier gains, indexed by amplifier name. 
 
- inputExp
- Returns:
 
 - measureDivisaderoStatistics(inputExp, **kwargs)¶
- Measure Max Divisadero Tearing effect per amp. - Parameters:
- inputExplsst.afw.image.Exposure
- Exposure to measure. Usually a flat. 
- **kwargs
- The flat will be selected from here. 
 
- inputExp
- Returns:
- outputStatsdict[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). 
 
 
- outputStats
 
 - measureProjectionStatistics(inputExp, overscans)¶
- Task to measure metrics from image slicing. - Parameters:
- inputExplsst.afw.image.Exposure
- Exposure to measure. 
- overscanslist[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.
 
 
- inputExp
- Returns:
 
 - run(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:
- inputExplsst.afw.image.Exposure
- The exposure to measure. 
- ptclsst.ip.isr.PtcDataset, optional
- A PTC object containing gains to use. 
- overscanResultslist[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. 
 
- inputExp
- Returns:
- resultStructlsst.pipe.base.Struct
- Contains the measured statistics as a dict stored in a field named - results.
 
- resultStruct
- Raises:
- RuntimeError
- Raised if the amplifier gains could not be found.