ScarletModelData

class lsst.meas.extensions.scarlet.ScarletModelData(bands, psf, blends=None)

Bases: object

A container that propagates scarlet models for an entire SourceCatalog

Methods Summary

json() Serialize the data model to a JSON formatted string
parse_obj(data) Construct a ScarletModelData from python decoded JSON object.
updateCatalogFootprints(catalog, band, psfModel) Use the scarlet models to set HeavyFootprints for modeled sources

Methods Documentation

json() → str

Serialize the data model to a JSON formatted string

Returns:
result : str

The result of the object converted into a JSON format

classmethod parse_obj(data: dict) → lsst.meas.extensions.scarlet.io.ScarletModelData

Construct a ScarletModelData from python decoded JSON object.

Parameters:
inMemoryDataset : Mapping

The result of json.load(s) on a JSON persisted ScarletModelData

Returns:
result : ScarletModelData

The ScarletModelData that was loaded the from the input object

updateCatalogFootprints(catalog, band, psfModel, redistributeImage=None, removeScarletData=True, updateFluxColumns=True)

Use the scarlet models to set HeavyFootprints for modeled sources

Parameters:
catalog : lsst.afw.table.SourceCatalog

The catalog missing heavy footprints for deblended sources.

band : str

The name of the band that the catalog data describes.

psfModel : lsst.afw.detection.Psf

The observed PSF model for the catalog.

redistributeImage : lsst.afw.image.Image

The image that is the source for flux re-distribution. If redistributeImage is None then flux re-distribution is not performed.

removeScarletData : bool

Whether or not to remove ScarletBlendData for each blend in order to save memory.

updateFluxColumns : bool

Whether or not to update the deblend_* columns in the catalog. This should only be true when the input catalog schema already contains those columns.