lsst.ip.diffim  14.0-10-g81837af+11
Public Member Functions | Public Attributes | Static Public Attributes | Private Member Functions | List of all members
lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin Class Reference

Subclass of SingleFramePlugin which fits dipoles to all merged (two-peak) diaSources. More...

Inheritance diagram for lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin:

Public Member Functions

def getExecutionOrder (cls)
 Set execution order to FLUX_ORDER. More...
 
def __init__ (self, config, name, schema, metadata)
 
def measure (self, measRecord, exposure, posExp=None, negExp=None)
 Perform the non-linear least squares minimization on the putative dipole source. More...
 
def doClassify (self, measRecord, chi2val)
 Determine if source is classified as dipole via three criteria: More...
 
def fail (self, measRecord, error=None)
 Catch failures and set the correct flags. More...
 

Public Attributes

 log
 
 centroidKey
 
 fluxKey
 
 orientationKey
 
 separationKey
 
 chi2dofKey
 
 signalToNoiseKey
 
 classificationFlagKey
 
 classificationAttemptedFlagKey
 
 flagKey
 
 edgeFlagKey
 

Static Public Attributes

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

Private Member Functions

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

Detailed Description

Subclass of SingleFramePlugin which fits dipoles to all merged (two-peak) diaSources.

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 DipoleFitAlgorithm.

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 842 of file dipoleFitTask.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.__init__ (   self,
  config,
  name,
  schema,
  metadata 
)

Definition at line 875 of file dipoleFitTask.py.

Member Function Documentation

◆ _setupSchema()

def lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin._setupSchema (   self,
  config,
  name,
  schema,
  metadata 
)
private

Definition at line 882 of file dipoleFitTask.py.

◆ doClassify()

def lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.doClassify (   self,
  measRecord,
  chi2val 
)

Determine if source is classified as dipole via 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 (param maxFluxRatio) of the total flux? By default this will never happen since posFlux == negFlux.
  • is it a good fit (chi2dof < 1)? (Currently not used.)

Definition at line 1033 of file dipoleFitTask.py.

◆ fail()

def lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.fail (   self,
  measRecord,
  error = None 
)

Catch failures and set the correct flags.

Definition at line 1073 of file dipoleFitTask.py.

◆ getExecutionOrder()

def lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.getExecutionOrder (   cls)

Set execution order to FLUX_ORDER.

This includes algorithms that require both getShape() and getCentroid(), in addition to a Footprint and its Peaks.

Definition at line 867 of file dipoleFitTask.py.

◆ measure()

def lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.measure (   self,
  measRecord,
  exposure,
  posExp = None,
  negExp = None 
)

Perform the non-linear least squares minimization on the putative dipole source.

Parameters
measRecorddiaSources that will be measured using dipole measurement
exposureDifference exposure on which the diaSources were detected; exposure = posExp-negExp
posExp"Positive" exposure, typically a science exposure, or None if unavailable
negExp"Negative" exposure, typically a template exposure, or None if unavailable
Note
When posExp is None, will compute posImage = exposure + negExp. Likewise, when negExp is None, will compute negImage = posExp - exposure. If both posExp and negExp are None, will attempt to fit the dipole to just the exposure with no constraint.

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 also
tests/testDipoleFitter.py)

Definition at line 950 of file dipoleFitTask.py.

Member Data Documentation

◆ centroidKey

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.centroidKey

Definition at line 884 of file dipoleFitTask.py.

◆ chi2dofKey

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.chi2dofKey

Definition at line 926 of file dipoleFitTask.py.

◆ classificationAttemptedFlagKey

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.classificationAttemptedFlagKey

Definition at line 938 of file dipoleFitTask.py.

◆ classificationFlagKey

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.classificationFlagKey

Definition at line 934 of file dipoleFitTask.py.

◆ ConfigClass

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

Definition at line 859 of file dipoleFitTask.py.

◆ DipoleFitAlgorithmClass

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

Definition at line 860 of file dipoleFitTask.py.

◆ edgeFlagKey

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.edgeFlagKey

Definition at line 946 of file dipoleFitTask.py.

◆ FAILURE_EDGE

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

Definition at line 862 of file dipoleFitTask.py.

◆ FAILURE_FIT

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

Definition at line 863 of file dipoleFitTask.py.

◆ FAILURE_NOT_DIPOLE

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

Definition at line 864 of file dipoleFitTask.py.

◆ flagKey

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.flagKey

Definition at line 942 of file dipoleFitTask.py.

◆ fluxKey

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.fluxKey

Definition at line 914 of file dipoleFitTask.py.

◆ log

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.log

Definition at line 878 of file dipoleFitTask.py.

◆ orientationKey

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.orientationKey

Definition at line 918 of file dipoleFitTask.py.

◆ separationKey

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.separationKey

Definition at line 922 of file dipoleFitTask.py.

◆ signalToNoiseKey

lsst.ip.diffim.dipoleFitTask.DipoleFitPlugin.signalToNoiseKey

Definition at line 930 of file dipoleFitTask.py.


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