lsst.pipe.tasks g9fbc5161f1+30b2b595e6
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Static Protected Attributes | List of all members
lsst.pipe.tasks.processBrightStars.ProcessBrightStarsTask Class Reference
Inheritance diagram for lsst.pipe.tasks.processBrightStars.ProcessBrightStarsTask:

Public Member Functions

 __init__ (self, initInputs=None, *args, **kwargs)
 
 runQuantum (self, butlerQC, inputRefs, outputRefs)
 
 run (self, inputExposure, refObjLoader=None, dataId=None, skyCorr=None)
 
 applySkyCorr (self, calexp, skyCorr)
 
 extractStamps (self, inputExposure, filterName="phot_g_mean", refObjLoader=None, inputBrightStarStamps=None)
 
 warpStamps (self, stamps, pixCenters)
 
 setModelStamp (self)
 

Public Attributes

 modelStampSize
 
 modelCenter
 

Static Public Attributes

 ConfigClass = ProcessBrightStarsConfig
 

Protected Member Functions

 _getCutout (self, inputExposure, Point2D coordPix, list[int] stampSize)
 
 _replaceSecondaryFootprints (self, stamp, coordPix, objectId, find="DETECTED", replace="BAD")
 

Static Protected Attributes

str _DefaultName = "processBrightStars"
 

Detailed Description

Extract bright star cutouts; normalize and warp to the same pixel grid.

This task is used to extract, process, and store small image cut-outs
(or "postage stamps") around bright stars. It relies on three methods,
called in succession:

`extractStamps`
    Find bright stars within the exposure using a reference catalog and
    extract a stamp centered on each.
`warpStamps`
    Shift and warp each stamp to remove optical distortions and sample all
    stars on the same pixel grid.
`measureAndNormalize`
    Compute the flux of an object in an annulus and normalize it. This is
    required to normalize each bright star stamp as their central pixels
    are likely saturated and/or contain ghosts, and cannot be used.

Definition at line 165 of file processBrightStars.py.

Constructor & Destructor Documentation

◆ __init__()

lsst.pipe.tasks.processBrightStars.ProcessBrightStarsTask.__init__ ( self,
initInputs = None,
* args,
** kwargs )

Definition at line 187 of file processBrightStars.py.

Member Function Documentation

◆ _getCutout()

lsst.pipe.tasks.processBrightStars.ProcessBrightStarsTask._getCutout ( self,
inputExposure,
Point2D coordPix,
list[int] stampSize )
protected
Get a cutout from an input exposure, handling edge cases.

Generate a cutout from an input exposure centered on a given position
and with a given size.
If any part of the cutout is outside the input exposure bounding box,
the cutout is padded with NaNs.

Parameters
----------
inputExposure : `~lsst.afw.image.ExposureF`
    The image to extract bright star stamps from.
coordPix : `~lsst.geom.Point2D`
    Center of the cutout in pixel space.
stampSize : `list` [`int`]
    Size of the cutout, in pixels.

Returns
-------
stamp : `~lsst.afw.image.ExposureF` or `None`
    The cutout, or `None` if the cutout is entirely outside the input
    exposure bounding box.

Notes
-----
This method is a short-term workaround until DM-40042 is implemented.
At that point, it should be replaced by a call to the Exposure method
``getCutout``, which will handle edge cases automatically.

Definition at line 415 of file processBrightStars.py.

◆ _replaceSecondaryFootprints()

lsst.pipe.tasks.processBrightStars.ProcessBrightStarsTask._replaceSecondaryFootprints ( self,
stamp,
coordPix,
objectId,
find = "DETECTED",
replace = "BAD" )
protected
Replace all secondary footprints in a stamp with another mask flag.

This method identifies all secondary footprints in a stamp as those
whose ``find`` footprints do not overlap the given pixel coordinates.
If then sets these secondary footprints to the ``replace`` flag.

Parameters
----------
stamp : `~lsst.afw.image.ExposureF`
    The postage stamp to modify.
coordPix : `~lsst.geom.Point2D`
    The pixel coordinates of the central primary object.
objectId : `int`
    The unique identifier of the central primary object.
find : `str`, optional
    The mask plane to use to identify secondary footprints.
replace : `str`, optional
    The mask plane to set secondary footprints to.

Notes
-----
This method modifies the input ``stamp`` in-place.

Definition at line 466 of file processBrightStars.py.

◆ applySkyCorr()

lsst.pipe.tasks.processBrightStars.ProcessBrightStarsTask.applySkyCorr ( self,
calexp,
skyCorr )
Apply sky correction to the input exposure.

Sky corrections can be generated using the
`~lsst.pipe.tasks.skyCorrection.SkyCorrectionTask`.
As the sky model generated via that task extends over the full focal
plane, this should produce a more optimal sky subtraction solution.

Parameters
----------
calexp : `~lsst.afw.image.Exposure` or `~lsst.afw.image.MaskedImage`
    Calibrated exposure to correct.
skyCorr : `~lsst.afw.math.backgroundList.BackgroundList`
    Full focal plane sky correction from ``SkyCorrectionTask``.

Notes
-----
This method modifies the input ``calexp`` in-place.

Definition at line 298 of file processBrightStars.py.

◆ extractStamps()

lsst.pipe.tasks.processBrightStars.ProcessBrightStarsTask.extractStamps ( self,
inputExposure,
filterName = "phot_g_mean",
refObjLoader = None,
inputBrightStarStamps = None )
Identify the positions of bright stars within an input exposure using
a reference catalog and extract them.

Parameters
----------
inputExposure : `~lsst.afw.image.ExposureF`
    The image to extract bright star stamps from.
filterName : `str`, optional
    Name of the camera filter to use for reference catalog filtering.
refObjLoader : `~lsst.meas.algorithms.ReferenceObjectLoader`, optional
    Loader to find objects within a reference catalog.
inputBrightStarStamps:
    `~lsst.meas.algorithms.brightStarStamps.BrightStarStamps`, optional
    Provides information about the stars that have already been
    extracted from the inputExposure in other steps of the pipeline.
    For example, this is used in the `SubtractBrightStarsTask` to avoid
    extracting stars that already have been extracted when running
    `ProcessBrightStarsTask` to produce brightStarStamps.

Returns
-------
result : `~lsst.pipe.base.Struct`
    Results as a struct with attributes:

    ``starStamps``
        Postage stamps (`list`).
    ``pixCenters``
        Corresponding coords to each star's center, in pixels (`list`).
    ``gMags``
        Corresponding (Gaia) G magnitudes (`list`).
    ``gaiaIds``
        Corresponding unique Gaia identifiers (`np.ndarray`).

Definition at line 321 of file processBrightStars.py.

◆ run()

lsst.pipe.tasks.processBrightStars.ProcessBrightStarsTask.run ( self,
inputExposure,
refObjLoader = None,
dataId = None,
skyCorr = None )
Identify bright stars within an exposure using a reference catalog,
extract stamps around each, then preprocess them.

Bright star preprocessing steps are: shifting, warping and potentially
rotating them to the same pixel grid; computing their annular flux,
and; normalizing them.

Parameters
----------
inputExposure : `~lsst.afw.image.ExposureF`
    The image from which bright star stamps should be extracted.
refObjLoader : `~lsst.meas.algorithms.ReferenceObjectLoader`, optional
    Loader to find objects within a reference catalog.
dataId : `dict` or `~lsst.daf.butler.DataCoordinate`
    The dataId of the exposure (including detector) that bright stars
    should be extracted from.
skyCorr : `~lsst.afw.math.backgroundList.BackgroundList`, optional
    Full focal plane sky correction obtained by `SkyCorrectionTask`.

Returns
-------
brightStarResults : `~lsst.pipe.base.Struct`
    Results as a struct with attributes:

    ``brightStarStamps``
        (`~lsst.meas.algorithms.brightStarStamps.BrightStarStamps`)

Definition at line 206 of file processBrightStars.py.

◆ runQuantum()

lsst.pipe.tasks.processBrightStars.ProcessBrightStarsTask.runQuantum ( self,
butlerQC,
inputRefs,
outputRefs )

Definition at line 191 of file processBrightStars.py.

◆ setModelStamp()

lsst.pipe.tasks.processBrightStars.ProcessBrightStarsTask.setModelStamp ( self)
Compute (model) stamp size depending on provided buffer value.

Definition at line 611 of file processBrightStars.py.

◆ warpStamps()

lsst.pipe.tasks.processBrightStars.ProcessBrightStarsTask.warpStamps ( self,
stamps,
pixCenters )
Warps and shifts all given stamps so they are sampled on the same
pixel grid and centered on the central pixel. This includes rotating
the stamp depending on detector orientation.

Parameters
----------
stamps : `Sequence` [`~lsst.afw.image.ExposureF`]
    Image cutouts centered on a single object.
pixCenters : `Sequence` [`~lsst.geom.Point2D`]
    Positions of each object's center (from the refCat) in pixels.

Returns
-------
result : `~lsst.pipe.base.Struct`
    Results as a struct with attributes:

    ``warpedStars``
        Stamps of warped stars.
            (`list` [`~lsst.afw.image.MaskedImage`])
    ``warpTransforms``
        The corresponding Transform from the initial star stamp
        to the common model grid.
            (`list` [`~lsst.afw.geom.TransformPoint2ToPoint2`])
    ``xy0s``
        Coordinates of the bottom-left pixels of each stamp,
        before rotation.
            (`list` [`~lsst.geom.Point2I`])
    ``nb90Rots``
        The number of 90 degrees rotations required to compensate for
        detector orientation.
            (`int`)

Definition at line 515 of file processBrightStars.py.

Member Data Documentation

◆ _DefaultName

str lsst.pipe.tasks.processBrightStars.ProcessBrightStarsTask._DefaultName = "processBrightStars"
staticprotected

Definition at line 185 of file processBrightStars.py.

◆ ConfigClass

lsst.pipe.tasks.processBrightStars.ProcessBrightStarsTask.ConfigClass = ProcessBrightStarsConfig
static

Definition at line 184 of file processBrightStars.py.

◆ modelCenter

lsst.pipe.tasks.processBrightStars.ProcessBrightStarsTask.modelCenter

Definition at line 623 of file processBrightStars.py.

◆ modelStampSize

lsst.pipe.tasks.processBrightStars.ProcessBrightStarsTask.modelStampSize

Definition at line 613 of file processBrightStars.py.


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