DipoleFitPlugin¶
- class lsst.ip.diffim.DipoleFitPlugin(config, name, schema, metadata, logName=None)¶
- Bases: - 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 - measuremethod. 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 class- DipoleFitAlgorithm.- 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_DipoleFitso that it may be used alongside the existing- ip_diffim_DipoleMeasurementclasses until such a time as those are deemed to be replaceable by this.- Attributes Summary - Order for algorithms which require shape, centroid and flux ( - float).- Order for algorithms which require only Footprint and Peaks ( - float).- Order for catalog calculation plugins. - Order for algorithms which require a shape and a centroid ( - float).- Order for algorithms which require a centroid ( - float).- Registry of subclasses of - SingleFramePlugin(- PluginRegistry).- Methods Summary - doClassify(measRecord, chi2val)- Classify a source as a dipole. - fail(measRecord[, error])- Catch failures and set the correct flags. - Set execution order to - FLUX_ORDER.- 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¶
- Order for algorithms which require shape, centroid and flux ( - float).- Notes - These algorithms may assume that - getCentroidand- getShapewill return good values, that flux has been measured, and that and that a Footprint and its Peaks are available.
 - CENTROID_ORDER = 0.0¶
- Order for algorithms which require only Footprint and Peaks ( - float).- Notes - Algorithms with this execution order include centroids. 
 - DEFAULT_CATALOGCALCULATION = 4.0¶
- Order for catalog calculation plugins. - Notes - These plugins only operate on catalogs; they may not access pixel values. 
 - FAILURE_EDGE = 1¶
 - FAILURE_FIT = 2¶
 - FAILURE_NOT_DIPOLE = 4¶
 - FLUX_ORDER = 2.0¶
- Order for algorithms which require a shape and a centroid ( - float).- Notes - These algorithms may assume that both - getCentroidand- getShapewill return good values, and that a Footprint and its Peaks are available.
 - SHAPE_ORDER = 1.0¶
- Order for algorithms which require a centroid ( - float).- Notes - These algorithms may refer assume that - getCentroidwill return a good centroid, and that a Footprint and its Peaks are available.
 - registry = <lsst.meas.base.pluginRegistry.PluginRegistry object>¶
- Registry of subclasses of - SingleFramePlugin(- PluginRegistry).
 - Methods Documentation - doClassify(measRecord, chi2val)¶
- Classify a source as a dipole. - Parameters:
- measRecordTODO: DM-17458
- TODO: DM-17458 
- chi2valTODO: 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 since- posFlux == 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()and- getCentroid(), 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:
- measRecordlsst.afw.table.SourceRecord
- diaSources that will be measured using dipole measurement 
- exposurelsst.afw.image.Exposure
- Difference exposure on which the diaSources were detected; - exposure = posExp-negExpIf both- posExpand- negExpare- None, will attempt to fit the dipole to just the- exposurewith no constraint.
- posExplsst.afw.image.Exposure, optional
- “Positive” exposure, typically a science exposure, or None if unavailable When - posExpis- None, will compute- posImage = exposure + negExp.
- negExplsst.afw.image.Exposure, optional
- “Negative” exposure, typically a template exposure, or None if unavailable When - negExpis- None, will compute- negImage = posExp - exposure.
 
- measRecord
- Returns:
- resultTODO: DM-17458
- TODO: DM-17458 
 
 - Notes - The main functionality of this routine was placed outside of this plugin (into - DipoleFitAlgorithm.fitDipole()) so that- DipoleFitAlgorithm.fitDipole()can be called separately for testing (@see- tests/testDipoleFitter.py)
 - 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:
- measCatlsst.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. 
- exposurelsst.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. 
 
- measCat
 - Notes - Derived classes that do not implement - measureNshould just inherit this disabled version. Derived classes that do implement- measureNshould additionally add a bool doMeasureN config field to their config class to signal that measureN-mode is available.