DeferredChargeTask¶
- class lsst.ip.isr.DeferredChargeTask(config: Config | None = None, *, name: str | None = None, parentTask: Task | None = None, log: logging.Logger | lsst.utils.logging.LsstLogAdapter | None = None)¶
- Bases: - Task- Task to correct an exposure for charge transfer inefficiency. - This uses the methods described by Snyder et al. 2021, Journal of Astronimcal Telescopes, Instruments, and Systems, 7, 048002. doi:10.1117/1.JATIS.7.4.048002 (Snyder+21). - Methods Summary - Empty (clear) the metadata for this Task and all sub-Tasks. - flipData(ampData, amp)- Flip data array such that readout corner is at lower-left. - 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. - local_offset_inverse(inputArr, drift_scale, ...)- Remove CTI effects from local offsets. - local_trap_inverse(inputArr, trap[, ...])- Apply localized trapping inverse operator to pixel signals. - makeField(doc)- Make a - lsst.pex.config.ConfigurableFieldfor this task.- makeSubtask(name, **keyArgs)- Create a subtask as a new instance as the - nameattribute of this task.- run(exposure, ctiCalib[, gains])- Correct deferred charge/CTI issues. - timer(name[, logLevel])- Context manager to log performance data for an arbitrary block of code. - Methods Documentation - static flipData(ampData, amp)¶
- Flip data array such that readout corner is at lower-left. - Parameters:
- ampDatanumpy.ndarray, (nx, ny)
- Image data to flip. 
- amplsst.afw.cameraGeom.Amplifier
- Amplifier to get readout corner information. 
 
- ampData
- Returns:
- ampDatanumpy.ndarray, (nx, ny)
- Flipped image data. 
 
- ampData
 
 - 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
 
 - 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
 
 - static local_offset_inverse(inputArr, drift_scale, decay_time, num_previous_pixels=15)¶
- Remove CTI effects from local offsets. - This implements equation 10 of Snyder+21. For an image with CTI, s’(m, n), the correction factor is equal to the maximum value of the set of: - {A_L s'(m, n - j) exp(-j t / \tau_L)}_j=0^jmax - Parameters:
- inputArrnumpy.ndarray, (nx, ny)
- Input image data to correct. 
- drift_scalefloat
- Drift scale (Snyder+21 A_L value) to use in correction. 
- decay_timefloat
- Decay time (Snyder+21 tau_L) of the correction. 
- num_previous_pixelsint, optional
- Number of previous pixels to use for correction. As the CTI has an exponential decay, this essentially truncates the correction where that decay scales the input charge to near zero. 
 
- inputArr
- Returns:
- outputArrnumpy.ndarray, (nx, ny)
- Corrected image data. 
 
- outputArr
 
 - static local_trap_inverse(inputArr, trap, global_cti=0.0, num_previous_pixels=6)¶
- Apply localized trapping inverse operator to pixel signals. - This implements equation 13 of Snyder+21. For an image with CTI, s’(m, n), the correction factor is equal to the maximum value of the set of: - {A_L s'(m, n - j) exp(-j t / \tau_L)}_j=0^jmax - Parameters:
- inputArrnumpy.ndarray, (nx, ny)
- Input image data to correct. 
- traplsst.ip.isr.SerialTrap
- Serial trap describing the capture and release of charge. 
- global_cti: `float`
- Mean charge transfer inefficiency, b from Snyder+21. 
- num_previous_pixelsint, optional
- Number of previous pixels to use for correction. 
 
- inputArr
- Returns:
- outputArrnumpy.ndarray, (nx, ny)
- Corrected image data. 
 
- outputArr
 
 - 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") 
 - 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.
 - run(exposure, ctiCalib, gains=None)¶
- Correct deferred charge/CTI issues. - Parameters:
- exposurelsst.afw.image.Exposure
- Exposure to correct the deferred charge on. 
- ctiCaliblsst.ip.isr.DeferredChargeCalib
- Calibration object containing the charge transfer inefficiency model. 
- gainsdict[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. 
 
- exposure
- Returns:
- exposurelsst.afw.image.Exposure
- The corrected exposure. 
 
- exposure