LSST Applications 27.0.0,g0265f82a02+469cd937ee,g02d81e74bb+21ad69e7e1,g1470d8bcf6+cbe83ee85a,g2079a07aa2+e67c6346a6,g212a7c68fe+04a9158687,g2305ad1205+94392ce272,g295015adf3+81dd352a9d,g2bbee38e9b+469cd937ee,g337abbeb29+469cd937ee,g3939d97d7f+72a9f7b576,g487adcacf7+71499e7cba,g50ff169b8f+5929b3527e,g52b1c1532d+a6fc98d2e7,g591dd9f2cf+df404f777f,g5a732f18d5+be83d3ecdb,g64a986408d+21ad69e7e1,g858d7b2824+21ad69e7e1,g8a8a8dda67+a6fc98d2e7,g99cad8db69+f62e5b0af5,g9ddcbc5298+d4bad12328,ga1e77700b3+9c366c4306,ga8c6da7877+71e4819109,gb0e22166c9+25ba2f69a1,gb6a65358fc+469cd937ee,gbb8dafda3b+69d3c0e320,gc07e1c2157+a98bf949bb,gc120e1dc64+615ec43309,gc28159a63d+469cd937ee,gcf0d15dbbd+72a9f7b576,gdaeeff99f8+a38ce5ea23,ge6526c86ff+3a7c1ac5f1,ge79ae78c31+469cd937ee,gee10cc3b42+a6fc98d2e7,gf1cff7945b+21ad69e7e1,gfbcc870c63+9a11dc8c8f
LSST Data Management Base Package
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Static Public Attributes | Static Protected Attributes | List of all members
lsst.ip.diffim.dipoleFitTask.DipoleFitTask Class Reference
Inheritance diagram for lsst.ip.diffim.dipoleFitTask.DipoleFitTask:

Public Member Functions

 __init__ (self, schema, algMetadata=None, **kwargs)
 
 run (self, sources, exposure, posExp=None, negExp=None, **kwargs)
 

Public Attributes

 plugins_pre
 
 plugins_post
 
 dipoleFit
 
 plugins
 

Static Public Attributes

 ConfigClass = DipoleFitTaskConfig
 

Static Protected Attributes

str _DefaultName = "dipoleFit"
 

Detailed Description

A task that fits a dipole to a difference image, with an optional
separate detection image.

Because it subclasses SingleFrameMeasurementTask, and calls
SingleFrameMeasurementTask.run() from its run() method, it still
can be used identically to a standard SingleFrameMeasurementTask.

Definition at line 127 of file dipoleFitTask.py.

Constructor & Destructor Documentation

◆ __init__()

lsst.ip.diffim.dipoleFitTask.DipoleFitTask.__init__ ( self,
schema,
algMetadata = None,
** kwargs )

Definition at line 139 of file dipoleFitTask.py.

139 def __init__(self, schema, algMetadata=None, **kwargs):
140 super().__init__(schema, algMetadata, **kwargs)
141
142 # Enforce a specific plugin order, so that DipoleFit can fall back on
143 # SdssCentroid for non-dipoles
144 self.plugins_pre = self.plugins.copy()
145 self.plugins_post = self.plugins.copy()
146 self.plugins_pre.clear()
147 self.plugins_pre["base_SdssCentroid"] = self.plugins["base_SdssCentroid"]
148 self.plugins_post.pop("base_SdssCentroid")
149 self.dipoleFit = self.plugins_post.pop("ip_diffim_DipoleFit")
150 del self.plugins
151

Member Function Documentation

◆ run()

lsst.ip.diffim.dipoleFitTask.DipoleFitTask.run ( self,
sources,
exposure,
posExp = None,
negExp = None,
** kwargs )
Run dipole measurement and classification.

Run SdssCentroid first, then switch the centroid slot, then DipoleFit
then the rest; DipoleFit will fall back on SdssCentroid for sources
not containing positive+negative peaks.

Parameters
----------
sources : `lsst.afw.table.SourceCatalog`
    ``diaSources`` that will be measured using dipole measurement.
exposure : `lsst.afw.image.Exposure`
    The difference exposure on which the ``sources`` were detected.
    If neither ``posExp`` nor ``negExp`` are set, then the dipole is also
    fitted directly to this difference image.
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`.
**kwargs
    Additional keyword arguments for `lsst.meas.base.sfm.SingleFrameMeasurementTask`.

Definition at line 153 of file dipoleFitTask.py.

153 def run(self, sources, exposure, posExp=None, negExp=None, **kwargs):
154 """Run dipole measurement and classification.
155
156 Run SdssCentroid first, then switch the centroid slot, then DipoleFit
157 then the rest; DipoleFit will fall back on SdssCentroid for sources
158 not containing positive+negative peaks.
159
160 Parameters
161 ----------
162 sources : `lsst.afw.table.SourceCatalog`
163 ``diaSources`` that will be measured using dipole measurement.
164 exposure : `lsst.afw.image.Exposure`
165 The difference exposure on which the ``sources`` were detected.
166 If neither ``posExp`` nor ``negExp`` are set, then the dipole is also
167 fitted directly to this difference image.
168 posExp : `lsst.afw.image.Exposure`, optional
169 "Positive" exposure, typically a science exposure, or None if unavailable
170 When `posExp` is `None`, will compute `posImage = exposure + negExp`.
171 negExp : `lsst.afw.image.Exposure`, optional
172 "Negative" exposure, typically a template exposure, or None if unavailable
173 When `negExp` is `None`, will compute `negImage = posExp - exposure`.
174 **kwargs
175 Additional keyword arguments for `lsst.meas.base.sfm.SingleFrameMeasurementTask`.
176 """
177 # Run plugins in a very specific order, so DipoleFitPlugin has a
178 # centroid to fall back on.
179 self.plugins = self.plugins_pre
180 super().run(sources, exposure, **kwargs)
181
182 for source in sources:
183 self.dipoleFit.measureDipoles(source, exposure, posExp, negExp)
184 # Use the new DipoleFit outputs for subsequent measurements, now that
185 # non-dipoles have been filled in with the earlier centroid values.
186 sources.schema.getAliasMap().set("slot_Centroid", "ip_diffim_DipoleFit")
187
188 self.plugins = self.plugins_post
189 super().run(sources, exposure, **kwargs)
190
191
daf::base::PropertySet * set
Definition fits.cc:931

Member Data Documentation

◆ _DefaultName

str lsst.ip.diffim.dipoleFitTask.DipoleFitTask._DefaultName = "dipoleFit"
staticprotected

Definition at line 137 of file dipoleFitTask.py.

◆ ConfigClass

lsst.ip.diffim.dipoleFitTask.DipoleFitTask.ConfigClass = DipoleFitTaskConfig
static

Definition at line 136 of file dipoleFitTask.py.

◆ dipoleFit

lsst.ip.diffim.dipoleFitTask.DipoleFitTask.dipoleFit

Definition at line 149 of file dipoleFitTask.py.

◆ plugins

lsst.ip.diffim.dipoleFitTask.DipoleFitTask.plugins

Definition at line 179 of file dipoleFitTask.py.

◆ plugins_post

lsst.ip.diffim.dipoleFitTask.DipoleFitTask.plugins_post

Definition at line 145 of file dipoleFitTask.py.

◆ plugins_pre

lsst.ip.diffim.dipoleFitTask.DipoleFitTask.plugins_pre

Definition at line 144 of file dipoleFitTask.py.


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