lsst.pipe.tasks g540474b770+e939cf0e26
Loading...
Searching...
No Matches
lsst.pipe.tasks.measurementDriver.SingleBandMeasurementDriverTask Class Reference
Inheritance diagram for lsst.pipe.tasks.measurementDriver.SingleBandMeasurementDriverTask:
lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask lsst.pipe.tasks.measurementDriver.ForcedMeasurementDriverTask

Public Member Functions

 __init__ (self, *args, **kwargs)
 
pipeBase.Struct run (self, afwImage.Exposure exposure, afwTable.SourceCatalog|None catalog=None, measBase.IdGenerator|None idGenerator=None)
 
pipeBase.Struct runFromImage (self, afwImage.MaskedImage|afwImage.Image|np.ndarray image, afwImage.Mask|np.ndarray mask=None, afwImage.Image|np.ndarray variance=None, afwGeom.SkyWcs wcs=None, afwDetection.Psf|np.ndarray psf=None, afwImage.PhotoCalib photoCalib=None, afwTable.SourceCatalog catalog=None, measBase.IdGenerator idGenerator=None)
 
 __setattr__ (self, name, value)
 

Public Attributes

afwTable.SchemaMapper schema = schema
 
 peakSchema = peakSchema
 
afwTable.SchemaMapper mapper
 
measAlgorithms.ScaleVarianceTask scaleVariance
 
measAlgorithms.SourceDetectionTask detection
 
measDeblender.SourceDeblendTask|scarlet.ScarletDeblendTask deblend
 
measBase.SingleFrameMeasurementTask|measBase.ForcedMeasurementTask measurement
 
measBase.ApplyApCorrTask applyApCorr
 
measBase.CatalogCalculationTask catalogCalculation
 
afwTable.Schema initSchema
 
 config
 

Static Public Attributes

 ConfigClass = MeasurementDriverBaseConfig
 

Protected Member Functions

afwTable.SourceCatalog _deblendSources (self, afwImage.Exposure exposure, afwTable.SourceCatalog catalog)
 
 _ensureValidInputs (self, afwTable.SourceCatalog|None catalog)
 
 _initializeSchema (self, afwTable.SourceCatalog catalog=None)
 
 _addCoordErrorFieldsIfMissing (self, afwTable.Schema schema)
 
 _makeSubtasks (self)
 
afwTable.SourceCatalog|None _prepareSchemaAndSubtasks (self, afwTable.SourceCatalog|None catalog)
 
 _scaleVariance (self, afwImage.Exposure exposure, str band="a single")
 
afwTable.SourceCatalog|dict[str, afwTable.SourceCatalog] _toContiguous (self, afwTable.SourceCatalog|dict[str, afwTable.SourceCatalog] catalog)
 
afwTable.SourceCatalog _updateCatalogSchema (self, afwTable.SourceCatalog catalog)
 
tuple[afwTable.SourceCatalog, afwMath.BackgroundList] _detectSources (self, afwImage.Exposure|afwImage.MultibandExposure exposure, measBase.IdGenerator idGenerator)
 
 _measureSources (self, afwImage.Exposure exposure, afwTable.SourceCatalog catalog, measBase.IdGenerator idGenerator, afwTable.SourceCatalog|None refCat=None)
 
 _applyApCorr (self, afwImage.Exposure exposure, afwTable.SourceCatalog catalog, measBase.IdGenerator idGenerator)
 
 _runCatalogCalculation (self, afwTable.SourceCatalog catalog)
 
afwTable.SourceCatalog _processCatalog (self, afwImage.Exposure exposure, afwTable.SourceCatalog catalog, measBase.IdGenerator idGenerator, str band="a single", afwTable.SourceCatalog|None refCat=None)
 

Static Protected Attributes

str _DefaultName = "measurementDriverBase"
 
str _Deblender = ""
 

Detailed Description

Mid-level driver for processing single-band data.

Offers a helper method for direct handling of raw image data in addition to
the standard single-band exposure.

Examples
--------
Here is an example of how to use this class to run variance scaling,
detection, deblending, and measurement on a single-band exposure:

>>> from lsst.pipe.tasks.measurementDriver import (
...     SingleBandMeasurementDriverConfig,
...     SingleBandMeasurementDriverTask,
... )
>>> import lsst.meas.extensions.shapeHSM  # To register its plugins
>>> config = SingleBandMeasurementDriverConfig()
>>> config.doScaleVariance = True
>>> config.doDetect = True
>>> config.doDeblend = True
>>> config.doMeasure = True
>>> config.scaleVariance.background.binSize = 64
>>> config.detection.thresholdValue = 5.5
>>> config.deblend.tinyFootprintSize = 3
>>> config.measurement.plugins.names |= [
...     "base_SdssCentroid",
...     "base_SdssShape",
...     "ext_shapeHSM_HsmSourceMoments",
... ]
>>> config.measurement.slots.psfFlux = None
>>> config.measurement.doReplaceWithNoise = False
>>> exposure = butler.get("deepCoadd", dataId=...)
>>> driver = SingleBandMeasurementDriverTask(config=config)
>>> results = driver.run(exposure)
>>> results.catalog.writeFits("meas_catalog.fits")

Alternatively, if an exposure is not available, the driver can also process
raw image data:

>>> image = ...
>>> mask = ...
>>> variance = ...
>>> wcs = ...
>>> psf = ...
>>> photoCalib = ...
>>> results = driver.runFromImage(
...     image, mask, variance, wcs, psf, photoCalib
... )
>>> results.catalog.writeFits("meas_catalog.fits")

Definition at line 655 of file measurementDriver.py.

Constructor & Destructor Documentation

◆ __init__()

lsst.pipe.tasks.measurementDriver.SingleBandMeasurementDriverTask.__init__ ( self,
* args,
** kwargs )

Definition at line 710 of file measurementDriver.py.

Member Function Documentation

◆ __setattr__()

lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask.__setattr__ ( self,
name,
value )
inherited
Prevent external modifications of the initial Schema.

Definition at line 196 of file measurementDriver.py.

◆ _addCoordErrorFieldsIfMissing()

lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask._addCoordErrorFieldsIfMissing ( self,
afwTable.Schema schema )
protectedinherited
Add coordinate error fields to the schema in-place if they are not
already present.

Parameters
----------
schema :
    Schema to be checked for coordinate error fields.

Definition at line 292 of file measurementDriver.py.

◆ _applyApCorr()

lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask._applyApCorr ( self,
afwImage.Exposure exposure,
afwTable.SourceCatalog catalog,
measBase.IdGenerator idGenerator )
protectedinherited
Apply aperture corrections to the catalog.

Parameters
----------
exposure :
    Exposure on which to apply aperture corrections.
catalog :
    Catalog to be corrected using the aperture correction map from
    the exposure.
idGenerator :
    Generator for unique source IDs.

Definition at line 541 of file measurementDriver.py.

◆ _deblendSources()

afwTable.SourceCatalog lsst.pipe.tasks.measurementDriver.SingleBandMeasurementDriverTask._deblendSources ( self,
afwImage.Exposure exposure,
afwTable.SourceCatalog catalog )
protected
Run single-band deblending given an exposure and a catalog.

Parameters
----------
exposure :
    Exposure on which to run the deblending algorithm.
catalog :
    Catalog containing sources to be deblended.

Returns
-------
catalog :
    Catalog after deblending, with sources separated into their
    individual components if they were deblended.

Reimplemented from lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask.

Definition at line 863 of file measurementDriver.py.

◆ _detectSources()

tuple[afwTable.SourceCatalog, afwMath.BackgroundList] lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask._detectSources ( self,
afwImage.Exposure | afwImage.MultibandExposure exposure,
measBase.IdGenerator idGenerator )
protectedinherited
Run the detection subtask to identify sources in the image.

Parameters
----------
exposure :
    Exposure on which to run the detection algorithm.
idGenerator :
    Generator for unique source IDs.

Returns
-------
catalog :
    A catalog containing detected sources.
backgroundList :
    A list of background models obtained from the detection process,
    if available.

Definition at line 458 of file measurementDriver.py.

◆ _ensureValidInputs()

lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask._ensureValidInputs ( self,
afwTable.SourceCatalog | None catalog )
protectedinherited
Perform validation and adjustments of inputs without heavy
computation.

Parameters
----------
catalog :
    Catalog to be extended by the driver task.

Reimplemented in lsst.pipe.tasks.measurementDriver.ForcedMeasurementDriverTask, and lsst.pipe.tasks.measurementDriver.MultiBandMeasurementDriverTask.

Definition at line 209 of file measurementDriver.py.

◆ _initializeSchema()

lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask._initializeSchema ( self,
afwTable.SourceCatalog catalog = None )
protectedinherited
Initialize the Schema to be used for constructing the subtasks.

Though it may seem clunky, this workaround is necessary to ensure
Schema consistency across all subtasks.

Parameters
----------
catalog :
    Catalog from which to extract the Schema. If not provided, the
    user-provided Schema and if that is also not provided during
    initialization, a minimal Schema will be used.

Definition at line 233 of file measurementDriver.py.

◆ _makeSubtasks()

lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask._makeSubtasks ( self)
protectedinherited
Construct subtasks based on the configuration and the Schema.

Definition at line 307 of file measurementDriver.py.

◆ _measureSources()

lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask._measureSources ( self,
afwImage.Exposure exposure,
afwTable.SourceCatalog catalog,
measBase.IdGenerator idGenerator,
afwTable.SourceCatalog | None refCat = None )
protectedinherited
Run the measurement subtask to compute properties of sources.

Parameters
----------
exposure :
    Exposure on which to run the measurement algorithm.
catalog :
    Catalog containing sources on which to run the measurement subtask.
idGenerator :
    Generator for unique source IDs.
refCat :
    Reference catalog to be used for forced measurements, if any.
    If not provided, the measurement will be run on the sources in the
    catalog in a standard manner without reference.

Definition at line 503 of file measurementDriver.py.

◆ _prepareSchemaAndSubtasks()

afwTable.SourceCatalog | None lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask._prepareSchemaAndSubtasks ( self,
afwTable.SourceCatalog | None catalog )
protectedinherited
Ensure subtasks are properly initialized according to the
configuration and the provided catalog.

Parameters
----------
catalog :
    Optional catalog to be used for initializing the Schema and the
    subtasks.

Returns
-------
catalog :
    Updated catalog to be passed to the subtasks, if it was provided.

Definition at line 357 of file measurementDriver.py.

◆ _processCatalog()

afwTable.SourceCatalog lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask._processCatalog ( self,
afwImage.Exposure exposure,
afwTable.SourceCatalog catalog,
measBase.IdGenerator idGenerator,
str band = "a single",
afwTable.SourceCatalog | None refCat = None )
protectedinherited
Process a catalog through measurement, aperture correction, and
catalog calculation subtasks.

Parameters
----------
exposure :
    Exposure associated with the catalog.
catalog :
    Catalog to be processed by the subtasks.
idGenerator :
    Generator for unique source IDs.
band :
    Band associated with the exposure and catalog. Used for logging.
refCat :
    Reference catalog for forced measurements. If not provided, the
    measurement will be run on the sources in the catalog in a standard
    manner without reference.

Returns
-------
catalog :
    Catalog after processing through the configured subtasks.

Definition at line 575 of file measurementDriver.py.

◆ _runCatalogCalculation()

lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask._runCatalogCalculation ( self,
afwTable.SourceCatalog catalog )
protectedinherited
Run the catalog calculation plugins on the catalog.

Parameters
----------
catalog :
    Catalog to be processed by the catalog calculation subtask.

Definition at line 565 of file measurementDriver.py.

◆ _scaleVariance()

lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask._scaleVariance ( self,
afwImage.Exposure exposure,
str band = "a single" )
protectedinherited
Scale the variance plane of an exposure to match the observed
variance.

Parameters
----------
exposure :
    Exposure on which to run the variance scaling algorithm.
band :
    Band associated with the exposure. Used for logging.

Definition at line 390 of file measurementDriver.py.

◆ _toContiguous()

afwTable.SourceCatalog | dict[str, afwTable.SourceCatalog] lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask._toContiguous ( self,
afwTable.SourceCatalog | dict[str, afwTable.SourceCatalog] catalog )
protectedinherited
Make a catalog or catalogs contiguous if they are not already.

Parameters
----------
catalog :
    Catalog or dictionary of catalogs with bands as keys to be made
    contiguous.

Returns
-------
catalog :
    Contiguous catalog or dictionary of contiguous catalogs.

Definition at line 405 of file measurementDriver.py.

◆ _updateCatalogSchema()

afwTable.SourceCatalog lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask._updateCatalogSchema ( self,
afwTable.SourceCatalog catalog )
protectedinherited
Update the Schema of the provided catalog to incorporate changes
made by the configured subtasks.

Parameters
----------
catalog :
    Catalog to be updated with the Schema changes.

Returns
-------
updatedCatalog :
    Catalog with the updated Schema.

Definition at line 432 of file measurementDriver.py.

◆ run()

pipeBase.Struct lsst.pipe.tasks.measurementDriver.SingleBandMeasurementDriverTask.run ( self,
afwImage.Exposure exposure,
afwTable.SourceCatalog | None catalog = None,
measBase.IdGenerator | None idGenerator = None )
Process a single-band exposure through the configured subtasks and
return the results as a struct.

Parameters
----------
exposure :
    The exposure on which to run the driver task.
catalog :
    Catalog to be extended by the driver task. If not provided, an
    empty catalog will be created and populated.
idGenerator :
    Object that generates source IDs and provides random seeds.

Returns
-------
result :
    Results as a struct with attributes:

    ``catalog``
        Catalog containing the measured sources
        (`~lsst.afw.table.SourceCatalog`).
    ``backgroundList``
        List of backgrounds (`list[~lsst.afw.math.Background]`). Only
        populated if detection is enabled.

Reimplemented from lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask.

Reimplemented in lsst.pipe.tasks.measurementDriver.ForcedMeasurementDriverTask.

Definition at line 716 of file measurementDriver.py.

◆ runFromImage()

pipeBase.Struct lsst.pipe.tasks.measurementDriver.SingleBandMeasurementDriverTask.runFromImage ( self,
afwImage.MaskedImage | afwImage.Image | np.ndarray image,
afwImage.Mask | np.ndarray mask = None,
afwImage.Image | np.ndarray variance = None,
afwGeom.SkyWcs wcs = None,
afwDetection.Psf | np.ndarray psf = None,
afwImage.PhotoCalib photoCalib = None,
afwTable.SourceCatalog catalog = None,
measBase.IdGenerator idGenerator = None )
Convert image data to an `Exposure`, then run it through the
configured subtasks.

Parameters
----------
image :
    Input image data. Will be converted into an `Exposure` before
    processing.
mask :
    Mask data for the image. Used if ``image`` is a bare `array` or
    `Image`.
variance :
    Variance plane data for the image.
wcs :
    World Coordinate System to associate with the exposure that will
    be created from ``image``.
psf :
    PSF model for the exposure.
photoCalib :
    Photometric calibration model for the exposure.
catalog :
    Catalog to be extended by the driver task. If not provided, a new
    catalog will be created during detection and populated.
idGenerator :
    Generator for unique source IDs.

Returns
-------
result :
    Results as a struct with attributes:

    ``catalog``
        Catalog containing the measured sources
        (`~lsst.afw.table.SourceCatalog`).
    ``backgroundList``
        List of backgrounds (`list[~lsst.afw.math.Background]`).

Reimplemented in lsst.pipe.tasks.measurementDriver.ForcedMeasurementDriverTask.

Definition at line 782 of file measurementDriver.py.

Member Data Documentation

◆ _Deblender

str lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask._Deblender = ""
staticprotectedinherited

Definition at line 169 of file measurementDriver.py.

◆ _DefaultName

str lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask._DefaultName = "measurementDriverBase"
staticprotectedinherited

Definition at line 168 of file measurementDriver.py.

◆ applyApCorr

measBase.ApplyApCorrTask lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask.applyApCorr
inherited

Definition at line 186 of file measurementDriver.py.

◆ catalogCalculation

measBase.CatalogCalculationTask lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask.catalogCalculation
inherited

Definition at line 187 of file measurementDriver.py.

◆ config

lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask.config
inherited

Definition at line 310 of file measurementDriver.py.

◆ ConfigClass

lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask.ConfigClass = MeasurementDriverBaseConfig
staticinherited

Definition at line 167 of file measurementDriver.py.

◆ deblend

measDeblender.SourceDeblendTask | scarlet.ScarletDeblendTask lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask.deblend
inherited

Definition at line 184 of file measurementDriver.py.

◆ detection

measAlgorithms.SourceDetectionTask lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask.detection
inherited

Definition at line 183 of file measurementDriver.py.

◆ initSchema

afwTable.Schema lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask.initSchema
inherited

Definition at line 190 of file measurementDriver.py.

◆ mapper

afwTable.SchemaMapper lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask.mapper
inherited

Definition at line 181 of file measurementDriver.py.

◆ measurement

measBase.SingleFrameMeasurementTask | measBase.ForcedMeasurementTask lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask.measurement
inherited

Definition at line 185 of file measurementDriver.py.

◆ peakSchema

lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask.peakSchema = peakSchema
inherited

Definition at line 178 of file measurementDriver.py.

◆ scaleVariance

measAlgorithms.ScaleVarianceTask lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask.scaleVariance
inherited

Definition at line 182 of file measurementDriver.py.

◆ schema

lsst.pipe.tasks.measurementDriver.MeasurementDriverBaseTask.schema = schema
inherited

Definition at line 175 of file measurementDriver.py.


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