InterpImageTask

class lsst.pipe.tasks.interpImage.InterpImageTask(config: Optional[Config] = None, name: Optional[str] = None, parentTask: Optional[Task] = None, log: Optional[Union[logging.Logger, lsst.utils.logging.LsstLogAdapter]] = None)

Bases: lsst.pipe.base.Task

Interpolate over bad image pixels

Methods Summary

emptyMetadata() Empty (clear) the metadata for this Task and all sub-Tasks.
getFullMetadata() Get metadata for all tasks.
getFullName() Get the task name as a hierarchical name including parent task names.
getName() Get the name of the task.
getTaskDict() Get a dictionary of all tasks as a shallow copy.
interpolateImage(maskedImage, psf, …) Interpolate over defects in an image
makeField(doc) Make a lsst.pex.config.ConfigurableField for this task.
makeSubtask(name, **keyArgs) Create a subtask as a new instance as the name attribute of this task.
run(image[, planeName, fwhmPixels, defects]) Interpolate in place over pixels in a maskedImage marked as bad
timer(name, logLevel) Context manager to log performance data for an arbitrary block of code.
transposeContext(maskedImage, defects) Context manager to potentially transpose an image

Methods Documentation

emptyMetadata() → None

Empty (clear) the metadata for this Task and all sub-Tasks.

getFullMetadata() → lsst.pipe.base._task_metadata.TaskMetadata

Get metadata for all tasks.

Returns:
metadata : TaskMetadata

The keys are the full task name. Values are metadata for the top-level task and all subtasks, sub-subtasks, etc.

Notes

The returned metadata includes timing information (if @timer.timeMethod is 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:
fullName : str

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”.
getName() → str

Get the name of the task.

Returns:
taskName : str

Name of the task.

See also

getFullName
getTaskDict() → Dict[str, weakref.ReferenceType[lsst.pipe.base.task.Task]]

Get a dictionary of all tasks as a shallow copy.

Returns:
taskDict : dict

Dictionary containing full task name: task object for the top-level task and all subtasks, sub-subtasks, etc.

interpolateImage(maskedImage, psf, defectList, fallbackValue)

Interpolate over defects in an image

Parameters:
maskedImage : lsst.afw.image.MaskedImage

Image on which to perform interpolation.

psf : lsst.afw.detection.Psf

Point-spread function; currently unused.

defectList : lsst.meas.algorithms.Defects

List of defects to interpolate over.

fallbackValue : float

Value to set when interpolation fails.

classmethod makeField(doc: str) → lsst.pex.config.configurableField.ConfigurableField

Make a lsst.pex.config.ConfigurableField for this task.

Parameters:
doc : str

Help text for the field.

Returns:
configurableField : lsst.pex.config.ConfigurableField

A ConfigurableField for this task.

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) → None

Create a subtask as a new instance as the name attribute of this task.

Parameters:
name : str

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”.

Notes

The subtask must be defined by Task.config.name, an instance of ConfigurableField or RegistryField.

run(image, planeName=None, fwhmPixels=None, defects=None)

Interpolate in place over pixels in a maskedImage marked as bad

Pixels to be interpolated are set by either a mask planeName provided by the caller OR a defects list of type Defects If both are provided an exception is raised.

Note that the interpolation code in meas_algorithms currently doesn’t use the input PSF (though it’s a required argument), so it’s not important to set the input PSF parameters exactly. This PSF is set here as the psf attached to the “image” (i.e if the image passed in is an Exposure). Otherwise, a psf model is created using measAlg.GaussianPsfFactory with the value of fwhmPixels (the value passed in by the caller, or the default defaultFwhm set in measAlg.GaussianPsfFactory if None).

Parameters:
image : lsst.afw.image.MaskedImage or lsst.afw.image.exposure.Exposure

MaskedImage OR Exposure to be interpolated.

planeName : str, optional

Name of mask plane over which to interpolate. If None, must provide a defects list.

fwhmPixels : int, optional

FWHM of core star (pixels). If None the default is used, where the default is set to the exposure psf if available.

defects : lsst.meas.algorithms.Defects, optional

List of defects of type ipIsr.Defects over which to interpolate.

timer(name: str, logLevel: int = 10) → Iterator[None]

Context manager to log performance data for an arbitrary block of code.

Parameters:
name : str

Name of code being timed; data will be logged using item name: Start and End.

logLevel

A logging level constant.

See also

timer.logInfo

Examples

Creating a timer context:

with self.timer("someCodeToTime"):
    pass  # code to time
transposeContext(maskedImage, defects)

Context manager to potentially transpose an image

This applies the transpose configuration setting.

Transposing the image allows us to interpolate along columns instead of rows, which is useful when the saturation trails are typically oriented along rows on the warped/coadded images, instead of along columns as they typically are in raw CCD images.

Parameters:
maskedImage : lsst.afw.image.MaskedImage

Image on which to perform interpolation.

defects : lsst.meas.algorithms.Defects

List of defects to interpolate over.

Yields:
useImage : lsst.afw.image.MaskedImage

Image to use for interpolation; it may have been transposed.

useDefects : lsst.meas.algorithms.Defects

List of defects to use for interpolation; they may have been transposed.