SourceDeblendTask

SourceDeblendTask splits blended sources into individual sources.

Processing summary

SourceDeblendTask performs housekeeping work — updating table schemas and extracting the PSF from the input image — then delegates to lsst.meas.deblender.deblend to perform deblending. The task has no return value; the input SourceCatalog is modified in-place.

Python API summary

from lsst.meas.deblender.sourceDeblendTask import SourceDeblendTask
classSourceDeblendTask(schema, peakSchema=None, **kwargs)

Split blended sources into individual sources...

attributeconfig

Access configuration fields and retargetable subtasks.

methodrun(exposure, sources)

Get the PSF from the provided exposure and then run deblend...

See also

See the SourceDeblendTask API reference for complete details.

Retargetable subtasks

No subtasks.

Configuration fields

assignStrayFlux

Default
True
Field type

bool Field

Assign stray flux (not claimed by any child in the deblender) to deblend children.

catchFailures

Default
True
Field type

bool Field

If True, catch exceptions thrown by the deblender, log them, and set a flag on the parent, instead of letting them propagate up.

ciDeblendChildRange

Default
[2, 10]
Field type

int ListField

Only deblend parent Footprints with a number of peaks in the (inclusive) range indicated.If useCiLimits==False then this parameter is ignored.

ciNumParentsToDeblend

Default
10
Field type

int Field

Only use the first ciNumParentsToDeblend parent footprints with a total peak count within ciDebledChildRange. If useCiLimits==False then this parameter is ignored.

clipStrayFluxFraction

Default
0.001
Field type

float Field

When splitting stray flux, clip fractions below this value to zero.

edgeHandling

Default
'ramp'
Field type

str ChoiceField (optional)

Choices
'clip'

Clip the template at the edge AND the mirror of the edge.

'ramp'

Ramp down flux at the image edge by the PSF

'noclip'

Ignore the edge when building the symmetric template.

None

Field is optional

What to do when a peak to be deblended is close to the edge of the image

maskLimits

Default
{}
Field type

DictField

Key type

str

Value type

float

Mask planes with the corresponding limit on the fraction of masked pixels. Sources violating this limit will not be deblended.

maskPlanes

Default
['SAT', 'INTRP', 'NO_DATA']
Field type

str ListField

Mask planes to ignore when performing statistics

maxFootprintArea

Default
1000000
Field type

int Field

Maximum area for footprints before they are ignored as large; non-positive means no threshold applied

maxFootprintSize

Default
0
Field type

int Field

Maximum linear dimension for footprints before they are ignored as large; non-positive means no threshold applied

maxNumberOfPeaks

Default
0
Field type

int Field

Only deblend the brightest maxNumberOfPeaks peaks in the parent (<= 0: unlimited)

maxTempDotProd

Default
0.5
Field type

float Field

If the dot product between two templates is larger than this value, we consider them to be describing the same object (i.e. they are degenerate). If one of the objects has been labeled as a PSF it will be removed, otherwise the template with the lowest value will be removed.

medianSmoothTemplate

Default
True
Field type

bool Field

Apply a smoothing filter to all of the template images

minFootprintAxisRatio

Default
0.0
Field type

float Field

Minimum axis ratio for footprints before they are ignored as large; non-positive means no threshold applied

notDeblendedMask

Default
'NOT_DEBLENDED'
Field type

str Field (optional)

Mask name for footprints not deblended, or None

propagateAllPeaks

Default
False
Field type

bool Field

Guarantee that all peaks produce a child source.

psfChisq1

Default
1.5
Field type

float Field

Chi-squared per DOF cut for deciding a source is a PSF during deblending (un-shifted PSF model)

psfChisq2

Default
1.5
Field type

float Field

Chi-squared per DOF cut for deciding a source is PSF during deblending (shifted PSF model)

psfChisq2b

Default
1.5
Field type

float Field

Chi-squared per DOF cut for deciding a source is a PSF during deblending (shifted PSF model #2)

removeDegenerateTemplates

Default
False
Field type

bool Field

Try to remove similar templates?

strayFluxRule

Default
'trim'
Field type

str ChoiceField (optional)

Choices
'r-to-peak'

~ 1/(1+R^2) to the peak

'r-to-footprint'

~ 1/(1+R^2) to the closest pixel in the footprint. CAUTION: this can be computationally expensive on large footprints!

'nearest-footprint'

Assign 100% to the nearest footprint (using L-1 norm aka Manhattan distance)

'trim'

Shrink the parent footprint to pixels that are not assigned to children

None

Field is optional

How to split flux among peaks

strayFluxToPointSources

Default
'necessary'
Field type

str ChoiceField (optional)

Choices
'necessary'

When there is not an extended object in the footprint

'always'

Always

'never'

Never; stray flux will not be attributed to any deblended child if the deblender thinks all peaks look like point sources

None

Field is optional

When the deblender should attribute stray flux to point sources

tinyFootprintSize

Default
2
Field type

int RangeField

Range

[2,inf)

Footprints smaller in width or height than this value will be ignored; minimum of 2 due to PSF gradient calculation.

useCiLimits

Default
False
Field type

bool Field

Limit the number of sources deblended for CI to prevent long build times

weightTemplates

Default
False
Field type

bool Field

If true, a least-squares fit of the templates will be done to the full image. The templates will be re-weighted based on this fit.