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.