LSST Applications  21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lsst.ip.diffim.dipoleMeasurement.ClassificationDipolePlugin Class Reference
Inheritance diagram for lsst.ip.diffim.dipoleMeasurement.ClassificationDipolePlugin:
lsst.meas.base.sfm.SingleFramePlugin lsst.meas.base.baseMeasurement.BaseMeasurementPlugin lsst.meas.base.pluginsBase.BasePlugin

Public Member Functions

def getExecutionOrder (cls)
 
def __init__ (self, config, name, schema, metadata)
 
def measure (self, measRecord, exposure)
 
def fail (self, measRecord, error=None)
 
def measureN (self, measCat, exposure)
 
def getLogName (self)
 

Static Public Member Functions

def getTransformClass ()
 

Public Attributes

 dipoleAnalysis
 
 keyProbability
 
 keyFlag
 
 config
 
 name
 
 logName
 

Static Public Attributes

 ConfigClass = ClassificationDipoleConfig
 
 registry = PluginRegistry(SingleFramePluginConfig)
 
float CENTROID_ORDER = 0.0
 
float SHAPE_ORDER = 1.0
 
float FLUX_ORDER = 2.0
 
float APCORR_ORDER = 3.0
 
float DEFAULT_CATALOGCALCULATION = 4.0
 

Detailed Description

A plugin to classify whether a diaSource is a dipole.

Definition at line 51 of file dipoleMeasurement.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.ip.diffim.dipoleMeasurement.ClassificationDipolePlugin.__init__ (   self,
  config,
  name,
  schema,
  metadata 
)

Definition at line 66 of file dipoleMeasurement.py.

66  def __init__(self, config, name, schema, metadata):
67  SingleFramePlugin.__init__(self, config, name, schema, metadata)
68  self.dipoleAnalysis = DipoleAnalysis()
69  self.keyProbability = schema.addField(name + "_value", type="D",
70  doc="Set to 1 for dipoles, else 0.")
71  self.keyFlag = schema.addField(name + "_flag", type="Flag", doc="Set to 1 for any fatal failure.")
72 

Member Function Documentation

◆ fail()

def lsst.ip.diffim.dipoleMeasurement.ClassificationDipolePlugin.fail (   self,
  measRecord,
  error = None 
)
Record a failure of the `measure` or `measureN` method.

Parameters
----------
measRecord : `lsst.afw.table.SourceRecord`
    Table record describing the source being measured.
error : `MeasurementError`, optional
    Only provided if the measurement failed due to a
    `MeasurementError` being raised; otherwise, will be `None`.

Notes
-----
When the plugin raises an exception, framework will call
`BasePlugin.fail` to allow the plugin to set its failure flag
field(s).  When `BasePlugin.measureN` raises an exception,
`BasePlugin.fail` will be called repeatedly with all the records that
were being measured.

If the exception is an `MeasurementError`, it will be passed as the
error argument; in all other cases the error argument will be `None`,
and the failure will be logged by the measurement framework as a
warning.

Reimplemented from lsst.meas.base.pluginsBase.BasePlugin.

Definition at line 96 of file dipoleMeasurement.py.

96  def fail(self, measRecord, error=None):
97  measRecord.set(self.keyFlag, True)
98 
99 

◆ getExecutionOrder()

def lsst.ip.diffim.dipoleMeasurement.ClassificationDipolePlugin.getExecutionOrder (   cls)
Returns
-------
result : `callable`

Reimplemented from lsst.meas.base.pluginsBase.BasePlugin.

Definition at line 58 of file dipoleMeasurement.py.

58  def getExecutionOrder(cls):
59  """
60  Returns
61  -------
62  result : `callable`
63  """
64  return cls.APCORR_ORDER
65 

◆ getLogName()

def lsst.meas.base.pluginsBase.BasePlugin.getLogName (   self)
inherited

Definition at line 134 of file pluginsBase.py.

134  def getLogName(self):
135  return self.logName
136 

◆ getTransformClass()

def lsst.meas.base.pluginsBase.BasePlugin.getTransformClass ( )
staticinherited
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.

Reimplemented in lsst.meas.base.plugins.ForcedPeakCentroidPlugin, and lsst.meas.base.plugins.SingleFramePeakCentroidPlugin.

Definition at line 169 of file pluginsBase.py.

169  def getTransformClass():
170  """Get the measurement transformation appropriate to this plugin.
171 
172  This returns a subclass of `transforms.MeasurementTransform`, which
173  may be instantiated with details of the algorithm configuration and
174  then called with information about calibration and WCS to convert from
175  raw measurement quantities to calibrated units. Calibrated data is
176  then provided in a separate output table.
177 
178  Notes
179  -----
180  By default, we copy everything from the input to the output without
181  transformation.
182  """
183  return PassThroughTransform

◆ measure()

def lsst.ip.diffim.dipoleMeasurement.ClassificationDipolePlugin.measure (   self,
  measRecord,
  exposure 
)
Measure the properties of a source on a single image.

The image may be from a single epoch, or it may be a coadd.

Parameters
----------
measRecord : `lsst.afw.table.SourceRecord`
    Record describing the object being measured. Previously-measured
    quantities may be retrieved from here, and it will be updated
    in-place tih 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.

Reimplemented from lsst.meas.base.sfm.SingleFramePlugin.

Definition at line 73 of file dipoleMeasurement.py.

73  def measure(self, measRecord, exposure):
74  passesSn = self.dipoleAnalysis.getSn(measRecord) > self.config.minSn
75  negFlux = np.abs(measRecord.get("ip_diffim_PsfDipoleFlux_neg_instFlux"))
76  negFluxFlag = measRecord.get("ip_diffim_PsfDipoleFlux_neg_flag")
77  posFlux = np.abs(measRecord.get("ip_diffim_PsfDipoleFlux_pos_instFlux"))
78  posFluxFlag = measRecord.get("ip_diffim_PsfDipoleFlux_pos_flag")
79 
80  if negFluxFlag or posFluxFlag:
81  self.fail(measRecord)
82  # continue on to classify
83 
84  totalFlux = negFlux + posFlux
85 
86  # If negFlux or posFlux are NaN, these evaluate to False
87  passesFluxNeg = (negFlux / totalFlux) < self.config.maxFluxRatio
88  passesFluxPos = (posFlux / totalFlux) < self.config.maxFluxRatio
89  if (passesSn and passesFluxPos and passesFluxNeg):
90  val = 1.0
91  else:
92  val = 0.0
93 
94  measRecord.set(self.keyProbability, val)
95 
def measure(mi, x, y, size, statistic, stats)
Definition: fringe.py:517

◆ measureN()

def lsst.meas.base.sfm.SingleFramePlugin.measureN (   self,
  measCat,
  exposure 
)
inherited
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 implement ``measureN``
should additionally add a bool doMeasureN config field to their config
class to signal that measureN-mode is available.

Reimplemented in lsst.meas.base.wrappers.WrappedSingleFramePlugin.

Definition at line 105 of file sfm.py.

105  def measureN(self, measCat, exposure):
106  """Measure the properties of blended sources on a single image.
107 
108  This operates on all members of a blend family at once. The image may
109  be from a single epoch, or it may be a coadd.
110 
111  Parameters
112  ----------
113  measCat : `lsst.afw.table.SourceCatalog`
114  Catalog describing the objects (and only those objects) being
115  measured. Previously-measured quantities will be retrieved from
116  here, and it will be updated in-place with the outputs of this
117  plugin.
118  exposure : `lsst.afw.image.ExposureF`
119  The pixel data to be measured, together with the associated PSF,
120  WCS, etc. All other sources in the image should have been replaced
121  by noise according to deblender outputs.
122 
123  Notes
124  -----
125  Derived classes that do not implement ``measureN`` should just inherit
126  this disabled version. Derived classes that do implement ``measureN``
127  should additionally add a bool doMeasureN config field to their config
128  class to signal that measureN-mode is available.
129  """
130  raise NotImplementedError()
131 
132 

Member Data Documentation

◆ APCORR_ORDER

float lsst.meas.base.pluginsBase.BasePlugin.APCORR_ORDER = 3.0
staticinherited

Definition at line 98 of file pluginsBase.py.

◆ CENTROID_ORDER

float lsst.meas.base.pluginsBase.BasePlugin.CENTROID_ORDER = 0.0
staticinherited

Definition at line 72 of file pluginsBase.py.

◆ config

lsst.meas.base.pluginsBase.BasePlugin.config
inherited

Definition at line 130 of file pluginsBase.py.

◆ ConfigClass

lsst.ip.diffim.dipoleMeasurement.ClassificationDipolePlugin.ConfigClass = ClassificationDipoleConfig
static

Definition at line 55 of file dipoleMeasurement.py.

◆ DEFAULT_CATALOGCALCULATION

float lsst.meas.base.pluginsBase.BasePlugin.DEFAULT_CATALOGCALCULATION = 4.0
staticinherited

Definition at line 108 of file pluginsBase.py.

◆ dipoleAnalysis

lsst.ip.diffim.dipoleMeasurement.ClassificationDipolePlugin.dipoleAnalysis

Definition at line 68 of file dipoleMeasurement.py.

◆ FLUX_ORDER

float lsst.meas.base.pluginsBase.BasePlugin.FLUX_ORDER = 2.0
staticinherited

Definition at line 89 of file pluginsBase.py.

◆ keyFlag

lsst.ip.diffim.dipoleMeasurement.ClassificationDipolePlugin.keyFlag

Definition at line 71 of file dipoleMeasurement.py.

◆ keyProbability

lsst.ip.diffim.dipoleMeasurement.ClassificationDipolePlugin.keyProbability

Definition at line 69 of file dipoleMeasurement.py.

◆ logName

lsst.meas.base.pluginsBase.BasePlugin.logName
inherited

Definition at line 132 of file pluginsBase.py.

◆ name

lsst.meas.base.pluginsBase.BasePlugin.name
inherited

Definition at line 131 of file pluginsBase.py.

◆ registry

lsst.meas.base.sfm.SingleFramePlugin.registry = PluginRegistry(SingleFramePluginConfig)
staticinherited

Definition at line 78 of file sfm.py.

◆ SHAPE_ORDER

float lsst.meas.base.pluginsBase.BasePlugin.SHAPE_ORDER = 1.0
staticinherited

Definition at line 80 of file pluginsBase.py.


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