lsst.meas.algorithms  22.0.1-18-g3db9cf4b+f395498f22
Public Member Functions | Public Attributes | List of all members
lsst.meas.algorithms.brightStarStamps.BrightStarStamps Class Reference
Inheritance diagram for lsst.meas.algorithms.brightStarStamps.BrightStarStamps:
lsst.meas.algorithms.stamps.Stamps lsst.meas.algorithms.stamps.StampsBase

Public Member Functions

def __init__ (self, starStamps, innerRadius=None, outerRadius=None, nb90Rots=None, metadata=None, use_mask=True, use_variance=False, use_archive=False)
 
def initAndNormalize (cls, starStamps, innerRadius, outerRadius, nb90Rots=None, metadata=None, use_mask=True, use_variance=False, use_archive=False, imCenter=None, discardNanFluxObjects=True, statsControl=afwMath.StatisticsControl(), statsFlag=afwMath.stringToStatisticsProperty("MEAN"), badMaskPlanes=('BAD', 'SAT', 'NO_DATA'))
 
def readFits (cls, filename)
 
def readFitsWithOptions (cls, filename, options)
 
def append (self, item, innerRadius=None, outerRadius=None)
 
def extend (self, bss)
 
def getMagnitudes (self)
 
def getGaiaIds (self)
 
def getAnnularFluxes (self)
 
def selectByMag (self, magMin=None, magMax=None)
 
def getPositions (self)
 
def append (self, item)
 
def writeFits (self, filename)
 
def __len__ (self)
 
def __getitem__ (self, index)
 
def __iter__ (self)
 
def getMaskedImages (self)
 
def getArchiveElements (self)
 
def metadata (self)
 

Public Attributes

 normalized
 
 nb90Rots
 
 use_mask
 
 use_variance
 
 use_archive
 

Detailed Description

Collection of bright star stamps and associated metadata.

Parameters
----------
starStamps : `collections.abc.Sequence` [`BrightStarStamp`]
    Sequence of star stamps. Cannot contain both normalized and
    unnormalized stamps.
innerRadius : `int`, optional
    Inner radius value, in pixels. This and ``outerRadius`` define the
    annulus used to compute the ``"annularFlux"`` values within each
    ``starStamp``. Must be provided if ``normalize`` is True.
outerRadius : `int`, optional
    Outer radius value, in pixels. This and ``innerRadius`` define the
    annulus used to compute the ``"annularFlux"`` values within each
    ``starStamp``. Must be provided if ``normalize`` is True.
nb90Rots : `int`, optional
    Number of 90 degree rotations required to compensate for detector
    orientation.
metadata : `lsst.daf.base.PropertyList`, optional
    Metadata associated with the bright stars.
use_mask : `bool`
    If `True` read and write mask data. Default `True`.
use_variance : `bool`
    If ``True`` read and write variance data. Default ``False``.
use_archive : `bool`
    If ``True`` read and write an Archive that contains a Persistable
    associated with each stamp. In the case of bright stars, this is
    usually a ``TransformPoint2ToPoint2``, used to warp each stamp
    to the same pixel grid before stacking.

Raises
------
ValueError
    Raised if one of the star stamps provided does not contain the
    required keys.
AttributeError
    Raised if there is a mix-and-match of normalized and unnormalized
    stamps, stamps normalized with different annulus definitions, or if
    stamps are to be normalized but annular radii were not provided.


Notes
-----
A butler can be used to read only a part of the stamps, specified by a
bbox:

>>> starSubregions = butler.get("brightStarStamps", dataId, parameters={'bbox': bbox})

Definition at line 151 of file brightStarStamps.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.meas.algorithms.brightStarStamps.BrightStarStamps.__init__ (   self,
  starStamps,
  innerRadius = None,
  outerRadius = None,
  nb90Rots = None,
  metadata = None,
  use_mask = True,
  use_variance = False,
  use_archive = False 
)

Definition at line 201 of file brightStarStamps.py.

Member Function Documentation

◆ __getitem__()

def lsst.meas.algorithms.stamps.StampsBase.__getitem__ (   self,
  index 
)
inherited

Definition at line 379 of file stamps.py.

◆ __iter__()

def lsst.meas.algorithms.stamps.StampsBase.__iter__ (   self)
inherited

Definition at line 382 of file stamps.py.

◆ __len__()

def lsst.meas.algorithms.stamps.StampsBase.__len__ (   self)
inherited

Definition at line 376 of file stamps.py.

◆ append() [1/2]

def lsst.meas.algorithms.stamps.Stamps.append (   self,
  item 
)
inherited
Add an additional stamp.

Parameters
----------
item : `Stamp`
    Stamp object to append.

Definition at line 419 of file stamps.py.

◆ append() [2/2]

def lsst.meas.algorithms.brightStarStamps.BrightStarStamps.append (   self,
  item,
  innerRadius = None,
  outerRadius = None 
)
Add an additional bright star stamp.

Parameters
----------
item : `BrightStarStamp`
    Bright star stamp to append.
innerRadius : `int`, optional
    Inner radius value, in pixels. This and ``outerRadius`` define the
    annulus used to compute the ``"annularFlux"`` values within each
    ``BrightStarStamp``.
outerRadius : `int`, optional
    Outer radius value, in pixels. This and ``innerRadius`` define the
    annulus used to compute the ``"annularFlux"`` values within each
    ``BrightStarStamp``.

Definition at line 364 of file brightStarStamps.py.

◆ extend()

def lsst.meas.algorithms.brightStarStamps.BrightStarStamps.extend (   self,
  bss 
)
Extend BrightStarStamps instance by appending elements from another
instance.

Parameters
----------
bss : `BrightStarStamps`
    Other instance to concatenate.

Reimplemented from lsst.meas.algorithms.stamps.Stamps.

Definition at line 390 of file brightStarStamps.py.

◆ getAnnularFluxes()

def lsst.meas.algorithms.brightStarStamps.BrightStarStamps.getAnnularFluxes (   self)
Retrieve normalization factors for each star.

These are computed by integrating the flux in annulus centered on the
bright star, far enough from center to be beyond most severe ghosts and
saturation. The inner and outer radii that define the annulus can be
recovered from the metadata.

Returns
-------
annularFluxes : `list` [`float`]

Definition at line 423 of file brightStarStamps.py.

◆ getArchiveElements()

def lsst.meas.algorithms.stamps.StampsBase.getArchiveElements (   self)
inherited
Retrieve archive elements associated with each stamp.

Returns
-------
archiveElements :
    `list` [`lsst.afwTable.io.Persistable`]

Definition at line 395 of file stamps.py.

◆ getGaiaIds()

def lsst.meas.algorithms.brightStarStamps.BrightStarStamps.getGaiaIds (   self)
Retrieve Gaia IDs for each star.

Returns
-------
gaiaIds : `list` [`int`]

Definition at line 414 of file brightStarStamps.py.

◆ getMagnitudes()

def lsst.meas.algorithms.brightStarStamps.BrightStarStamps.getMagnitudes (   self)
Retrieve Gaia G magnitudes for each star.

Returns
-------
gaiaGMags : `list` [`float`]

Definition at line 405 of file brightStarStamps.py.

◆ getMaskedImages()

def lsst.meas.algorithms.stamps.StampsBase.getMaskedImages (   self)
inherited
Retrieve star images.

Returns
-------
maskedImages :
    `list` [`lsst.afw.image.maskedImage.maskedImage.MaskedImageF`]

Definition at line 385 of file stamps.py.

◆ getPositions()

def lsst.meas.algorithms.stamps.Stamps.getPositions (   self)
inherited

Definition at line 416 of file stamps.py.

◆ initAndNormalize()

def lsst.meas.algorithms.brightStarStamps.BrightStarStamps.initAndNormalize (   cls,
  starStamps,
  innerRadius,
  outerRadius,
  nb90Rots = None,
  metadata = None,
  use_mask = True,
  use_variance = False,
  use_archive = False,
  imCenter = None,
  discardNanFluxObjects = True,
  statsControl = afwMath.StatisticsControl(),
  statsFlag = afwMath.stringToStatisticsProperty("MEAN"),
  badMaskPlanes = ('BAD', 'SAT', 'NO_DATA') 
)
Normalize a set of bright star stamps and initialize a
BrightStarStamps instance.

Since the center of bright stars are saturated and/or heavily affected
by ghosts, we measure their flux in an annulus with a large enough
inner radius to avoid the most severe ghosts and contain enough
non-saturated pixels.

Parameters
----------
starStamps : `collections.abc.Sequence` [`BrightStarStamp`]
    Sequence of star stamps. Cannot contain both normalized and
    unnormalized stamps.
innerRadius : `int`
    Inner radius value, in pixels. This and ``outerRadius`` define the
    annulus used to compute the ``"annularFlux"`` values within each
    ``starStamp``.
outerRadius : `int`
    Outer radius value, in pixels. This and ``innerRadius`` define the
    annulus used to compute the ``"annularFlux"`` values within each
    ``starStamp``.
nb90Rots : `int`, optional
    Number of 90 degree rotations required to compensate for detector
    orientation.
metadata : `lsst.daf.base.PropertyList`, optional
    Metadata associated with the bright stars.
use_mask : `bool`
    If `True` read and write mask data. Default `True`.
use_variance : `bool`
    If ``True`` read and write variance data. Default ``False``.
use_archive : `bool`
    If ``True`` read and write an Archive that contains a Persistable
    associated with each stamp. In the case of bright stars, this is
    usually a ``TransformPoint2ToPoint2``, used to warp each stamp
    to the same pixel grid before stacking.
imCenter : `collections.abc.Sequence`, optional
    Center of the object, in pixels. If not provided, the center of the
    first stamp's pixel grid will be used.
discardNanFluxObjects : `bool`
    Whether objects with NaN annular flux should be discarded.
    If False, these objects will not be normalized.
statsControl : `lsst.afw.math.statistics.StatisticsControl`, optional
    StatisticsControl to be used when computing flux over all pixels
    within the annulus.
statsFlag : `lsst.afw.math.statistics.Property`, optional
    statsFlag to be passed on to ``afwMath.makeStatistics`` to compute
    annularFlux. Defaults to a simple MEAN.
badMaskPlanes : `collections.abc.Collection` [`str`]
    Collection of mask planes to ignore when computing annularFlux.

Raises
------
ValueError
    Raised if one of the star stamps provided does not contain the
    required keys.
AttributeError
    Raised if there is a mix-and-match of normalized and unnormalized
    stamps, stamps normalized with different annulus definitions, or if
    stamps are to be normalized but annular radii were not provided.

Definition at line 215 of file brightStarStamps.py.

◆ metadata()

def lsst.meas.algorithms.stamps.StampsBase.metadata (   self)
inherited

Definition at line 406 of file stamps.py.

◆ readFits()

def lsst.meas.algorithms.brightStarStamps.BrightStarStamps.readFits (   cls,
  filename 
)
Build an instance of this class from a file.

Parameters
----------
filename : `str`
    Name of the file to read

Reimplemented from lsst.meas.algorithms.stamps.Stamps.

Definition at line 332 of file brightStarStamps.py.

◆ readFitsWithOptions()

def lsst.meas.algorithms.brightStarStamps.BrightStarStamps.readFitsWithOptions (   cls,
  filename,
  options 
)
Build an instance of this class with options.

Parameters
----------
filename : `str`
    Name of the file to read
options : `PropertyList`
    Collection of metadata parameters

Reimplemented from lsst.meas.algorithms.stamps.Stamps.

Definition at line 343 of file brightStarStamps.py.

◆ selectByMag()

def lsst.meas.algorithms.brightStarStamps.BrightStarStamps.selectByMag (   self,
  magMin = None,
  magMax = None 
)
Return the subset of bright star stamps for objects with specified
magnitude cuts (in Gaia G).

Parameters
----------
magMin : `float`, optional
    Keep only stars fainter than this value.
magMax : `float`, optional
    Keep only stars brighter than this value.

Definition at line 437 of file brightStarStamps.py.

◆ writeFits()

def lsst.meas.algorithms.stamps.StampsBase.writeFits (   self,
  filename 
)
inherited
Write this object to a file.

Parameters
----------
filename : `str`
    Name of file to write

Definition at line 363 of file stamps.py.

Member Data Documentation

◆ nb90Rots

lsst.meas.algorithms.brightStarStamps.BrightStarStamps.nb90Rots

Definition at line 212 of file brightStarStamps.py.

◆ normalized

lsst.meas.algorithms.brightStarStamps.BrightStarStamps.normalized

Definition at line 209 of file brightStarStamps.py.

◆ use_archive

lsst.meas.algorithms.stamps.StampsBase.use_archive
inherited

Definition at line 310 of file stamps.py.

◆ use_mask

lsst.meas.algorithms.stamps.StampsBase.use_mask
inherited

Definition at line 308 of file stamps.py.

◆ use_variance

lsst.meas.algorithms.stamps.StampsBase.use_variance
inherited

Definition at line 309 of file stamps.py.


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