DipoleFitPlugin¶
-
class
lsst.ip.diffim.
DipoleFitPlugin
(config, name, schema, metadata, logName=None)¶ Bases:
lsst.meas.base.SingleFramePlugin
A single frame measurement plugin that fits dipoles to all merged (two-peak)
diaSources
.This measurement plugin accepts up to three input images in its
measure
method. If these are provided, it includes data from the pre-subtraction posImage (science image) and optionally negImage (template image) to constrain the fit. The meat of the fitting routines are in the classDipoleFitAlgorithm
.Notes
The motivation behind this plugin and the necessity for including more than one exposure are documented in DMTN-007 (http://dmtn-007.lsst.io).
This class is named
ip_diffim_DipoleFit
so that it may be used alongside the existingip_diffim_DipoleMeasurement
classes until such a time as those are deemed to be replaceable by this.Attributes Summary
APCORR_ORDER
CENTROID_ORDER
DEFAULT_CATALOGCALCULATION
FAILURE_EDGE
FAILURE_FIT
FAILURE_NOT_DIPOLE
FLUX_ORDER
SHAPE_ORDER
registry
Methods Summary
doClassify
(measRecord, chi2val)Classify a source as a dipole. fail
(measRecord[, error])Catch failures and set the correct flags. getExecutionOrder
()Set execution order to FLUX_ORDER
.getLogName
()getTransformClass
()Get the measurement transformation appropriate to this plugin. measure
(measRecord, exposure[, posExp, negExp])Perform the non-linear least squares minimization on the putative dipole source. measureN
(measCat, exposure)Measure the properties of blended sources on a single image. Attributes Documentation
-
APCORR_ORDER
= 3.0¶
-
CENTROID_ORDER
= 0.0¶
-
DEFAULT_CATALOGCALCULATION
= 4.0¶
-
FAILURE_EDGE
= 1¶
-
FAILURE_FIT
= 2¶
-
FAILURE_NOT_DIPOLE
= 4¶
-
FLUX_ORDER
= 2.0¶
-
SHAPE_ORDER
= 1.0¶
-
registry
= <lsst.meas.base.pluginRegistry.PluginRegistry object>¶
Methods Documentation
-
doClassify
(measRecord, chi2val)¶ Classify a source as a dipole.
Parameters: - measRecord : TODO: DM-17458
TODO: DM-17458
- chi2val : TODO: DM-17458
TODO: DM-17458
Notes
Sources are classified as dipoles, or not, according to three criteria:
- Does the total signal-to-noise surpass the
minSn
? - Are the pos/neg fluxes greater than 1.0 and no more than 0.65 (
maxFluxRatio
) of the total flux? By default this will never happen sinceposFlux == negFlux
. - Is it a good fit (
chi2dof
< 1)? (Currently not used.)
-
fail
(measRecord, error=None)¶ Catch failures and set the correct flags.
-
classmethod
getExecutionOrder
()¶ Set execution order to
FLUX_ORDER
.This includes algorithms that require both
getShape()
andgetCentroid()
, in addition to a Footprint and its Peaks.
-
getLogName
()¶
-
static
getTransformClass
()¶ Get the measurement transformation appropriate to this plugin.
This returns a subclass of
transforms.MeasurementTransform
, which may be instantiated with details of the algorithm configuration and then called with information about calibration and WCS to convert from raw measurement quantities to calibrated units. Calibrated data is then provided in a separate output table.Notes
By default, we copy everything from the input to the output without transformation.
-
measure
(measRecord, exposure, posExp=None, negExp=None)¶ Perform the non-linear least squares minimization on the putative dipole source.
Parameters: - measRecord :
lsst.afw.table.SourceRecord
diaSources that will be measured using dipole measurement
- exposure :
lsst.afw.image.Exposure
Difference exposure on which the diaSources were detected;
exposure = posExp-negExp
If bothposExp
andnegExp
areNone
, will attempt to fit the dipole to just theexposure
with no constraint.- posExp :
lsst.afw.image.Exposure
, optional “Positive” exposure, typically a science exposure, or None if unavailable When
posExp
isNone
, will computeposImage = exposure + negExp
.- negExp :
lsst.afw.image.Exposure
, optional “Negative” exposure, typically a template exposure, or None if unavailable When
negExp
isNone
, will computenegImage = posExp - exposure
.
Returns: - result : TODO: DM-17458
TODO: DM-17458
Notes
The main functionality of this routine was placed outside of this plugin (into
DipoleFitAlgorithm.fitDipole()
) so thatDipoleFitAlgorithm.fitDipole()
can be called separately for testing (@seetests/testDipoleFitter.py
)- measRecord :
-
measureN
(measCat, exposure)¶ Measure the properties of blended sources on a single image.
This operates on all members of a blend family at once. The image may be from a single epoch, or it may be a coadd.
Parameters: - measCat :
lsst.afw.table.SourceCatalog
Catalog describing the objects (and only those objects) being measured. Previously-measured quantities will be retrieved from here, and it will be updated in-place with the outputs of this plugin.
- exposure :
lsst.afw.image.ExposureF
The pixel data to be measured, together with the associated PSF, WCS, etc. All other sources in the image should have been replaced by noise according to deblender outputs.
Notes
Derived classes that do not implement
measureN
should just inherit this disabled version. Derived classes that do implementmeasureN
should additionally add a bool doMeasureN config field to their config class to signal that measureN-mode is available.- measCat :
-