lsst.ip.diffim g180d380827+107df2c2fa
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | List of all members
lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin Class Reference
Inheritance diagram for lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin:

Public Member Functions

 getExecutionOrder (cls)
 
 __init__ (self, config, name, schema, metadata, logName=None)
 
 measureDipoles (self, measRecord, exposure, posExp=None, negExp=None)
 
 doClassify (self, measRecord, chi2val)
 
 fail (self, measRecord, error=None)
 

Public Attributes

 log
 
 posFluxKey
 
 negFluxKey
 
 fluxKey
 
 posCentroidKey
 
 negCentroidKey
 
 centroidKey
 
 orientationKey
 
 separationKey
 
 chi2dofKey
 
 nDataKey
 
 signalToNoiseKey
 
 classificationFlagKey
 
 classificationAttemptedFlagKey
 
 flagKey
 
 edgeFlagKey
 
 FAILURE_TOO_LARGE
 
 FAILURE_EDGE
 
 FAILURE_FIT
 

Static Public Attributes

 ConfigClass = DipoleFitPluginConfig
 
 DipoleFitAlgorithmClass = DipoleFitAlgorithm
 
int FAILURE_EDGE = 1
 
int FAILURE_FIT = 2
 
int FAILURE_NOT_DIPOLE = 4
 
int FAILURE_TOO_LARGE = 8
 

Protected Member Functions

 _setupSchema (self, config, name, schema, metadata)
 

Detailed Description

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 class `~lsst.module.name.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_DipoleFit` so that it may be used alongside
the existing `ip_diffim_DipoleMeasurement` classes until such a time as those
are deemed to be replaceable by this.

Definition at line 954 of file dipoleFitTask.py.

Constructor & Destructor Documentation

◆ __init__()

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.__init__ ( self,
config,
name,
schema,
metadata,
logName = None )

Definition at line 988 of file dipoleFitTask.py.

Member Function Documentation

◆ _setupSchema()

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin._setupSchema ( self,
config,
name,
schema,
metadata )
protected
Add fields for the outputs, and save the keys for fast assignment.

Definition at line 997 of file dipoleFitTask.py.

◆ doClassify()

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.doClassify ( self,
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:

1. Does the total signal-to-noise surpass the ``minSn``?
2. 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``.
3. Is it a good fit (``chi2dof`` < 1)? (Currently not used.)

Definition at line 1160 of file dipoleFitTask.py.

◆ fail()

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.fail ( self,
measRecord,
error = None )
Catch failures and set the correct flags.

Fallback on the current slot centroid positions, but set the dipole
failure flag, since we attempted to fit the source.

Definition at line 1212 of file dipoleFitTask.py.

◆ getExecutionOrder()

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.getExecutionOrder ( cls)
This algorithm simultaneously fits the centroid and flux, and does
not require any previous centroid fit.

Definition at line 982 of file dipoleFitTask.py.

◆ measureDipoles()

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.measureDipoles ( self,
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 both `posExp` and `negExp` are `None`, will attempt to fit the
    dipole to just the `exposure` with no constraint.
posExp : `lsst.afw.image.Exposure`, optional
    "Positive" exposure, typically a science exposure, or None if unavailable
    When `posExp` is `None`, will compute `posImage = exposure + negExp`.
negExp : `lsst.afw.image.Exposure`, optional
    "Negative" exposure, typically a template exposure, or None if unavailable
    When `negExp` is `None`, will compute `negImage = posExp - exposure`.

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`)

Definition at line 1058 of file dipoleFitTask.py.

Member Data Documentation

◆ centroidKey

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.centroidKey

Definition at line 1017 of file dipoleFitTask.py.

◆ chi2dofKey

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.chi2dofKey

Definition at line 1030 of file dipoleFitTask.py.

◆ classificationAttemptedFlagKey

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.classificationAttemptedFlagKey

Definition at line 1046 of file dipoleFitTask.py.

◆ classificationFlagKey

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.classificationFlagKey

Definition at line 1042 of file dipoleFitTask.py.

◆ ConfigClass

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.ConfigClass = DipoleFitPluginConfig
static

Definition at line 973 of file dipoleFitTask.py.

◆ DipoleFitAlgorithmClass

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.DipoleFitAlgorithmClass = DipoleFitAlgorithm
static

Definition at line 974 of file dipoleFitTask.py.

◆ edgeFlagKey

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.edgeFlagKey

Definition at line 1054 of file dipoleFitTask.py.

◆ FAILURE_EDGE [1/2]

int lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.FAILURE_EDGE = 1
static

Definition at line 976 of file dipoleFitTask.py.

◆ FAILURE_EDGE [2/2]

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.FAILURE_EDGE

Definition at line 1119 of file dipoleFitTask.py.

◆ FAILURE_FIT [1/2]

int lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.FAILURE_FIT = 2
static

Definition at line 977 of file dipoleFitTask.py.

◆ FAILURE_FIT [2/2]

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.FAILURE_FIT

Definition at line 1122 of file dipoleFitTask.py.

◆ FAILURE_NOT_DIPOLE

int lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.FAILURE_NOT_DIPOLE = 4
static

Definition at line 978 of file dipoleFitTask.py.

◆ FAILURE_TOO_LARGE [1/2]

int lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.FAILURE_TOO_LARGE = 8
static

Definition at line 979 of file dipoleFitTask.py.

◆ FAILURE_TOO_LARGE [2/2]

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.FAILURE_TOO_LARGE

Definition at line 1107 of file dipoleFitTask.py.

◆ flagKey

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.flagKey

Definition at line 1050 of file dipoleFitTask.py.

◆ fluxKey

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.fluxKey

Definition at line 1007 of file dipoleFitTask.py.

◆ log

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.log

Definition at line 993 of file dipoleFitTask.py.

◆ nDataKey

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.nDataKey

Definition at line 1034 of file dipoleFitTask.py.

◆ negCentroidKey

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.negCentroidKey

Definition at line 1013 of file dipoleFitTask.py.

◆ negFluxKey

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.negFluxKey

Definition at line 1003 of file dipoleFitTask.py.

◆ orientationKey

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.orientationKey

Definition at line 1022 of file dipoleFitTask.py.

◆ posCentroidKey

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.posCentroidKey

Definition at line 1009 of file dipoleFitTask.py.

◆ posFluxKey

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.posFluxKey

Definition at line 1000 of file dipoleFitTask.py.

◆ separationKey

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.separationKey

Definition at line 1026 of file dipoleFitTask.py.

◆ signalToNoiseKey

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.signalToNoiseKey

Definition at line 1038 of file dipoleFitTask.py.


The documentation for this class was generated from the following file: