ScarletModelData

class lsst.meas.extensions.scarlet.ScarletModelData(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:
resultstr

The result of the object converted into a JSON format

classmethod parse_obj(data: dict) ScarletModelData

Construct a ScarletModelData from python decoded JSON object.

Parameters:
inMemoryDatasetMapping

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

Returns:
resultScarletModelData

The ScarletModelData that was loaded the from the input object

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

Use the scarlet models to set HeavyFootprints for modeled sources

Parameters:
cataloglsst.afw.table.SourceCatalog

The catalog missing heavy footprints for deblended sources.

bandstr

The name of the band that the catalog data describes.

psfModellsst.afw.detection.Psf

The observed PSF model for the catalog.

maskImagelsst.afw.image.MaskX

The masked image used to calculate the fraction of pixels in each footprint with valid data. This is only used when updateFluxColumns is True, and is required if it is.

redistributeImagelsst.afw.image.Image

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

removeScarletDatabool

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

updateFluxColumnsbool

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.