LSST Applications g0265f82a02+d6b5cd48b5,g02d81e74bb+a41d3748ce,g1470d8bcf6+6be6c9203b,g2079a07aa2+14824f138e,g212a7c68fe+a4f2ea4efa,g2305ad1205+72971fe858,g295015adf3+ab2c85acae,g2bbee38e9b+d6b5cd48b5,g337abbeb29+d6b5cd48b5,g3ddfee87b4+31b3a28dff,g487adcacf7+082e807817,g50ff169b8f+5929b3527e,g52b1c1532d+a6fc98d2e7,g591dd9f2cf+b2918d57ae,g5a732f18d5+66d966b544,g64a986408d+a41d3748ce,g858d7b2824+a41d3748ce,g8a8a8dda67+a6fc98d2e7,g99cad8db69+7fe4acdf18,g9ddcbc5298+d4bad12328,ga1e77700b3+246acaaf9c,ga8c6da7877+84af8b3ff8,gb0e22166c9+3863383f4c,gb6a65358fc+d6b5cd48b5,gba4ed39666+9664299f35,gbb8dafda3b+d8d527deb2,gc07e1c2157+b2dbe6b631,gc120e1dc64+61440b2abb,gc28159a63d+d6b5cd48b5,gcf0d15dbbd+31b3a28dff,gdaeeff99f8+a38ce5ea23,ge6526c86ff+39927bb362,ge79ae78c31+d6b5cd48b5,gee10cc3b42+a6fc98d2e7,gf1cff7945b+a41d3748ce,v24.1.5.rc1
LSST Data Management Base Package
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | List of all members
lsst.meas.base.diaCalculationPlugins.WeightedMeanDiaPsfFlux Class Reference
Inheritance diagram for lsst.meas.base.diaCalculationPlugins.WeightedMeanDiaPsfFlux:
lsst.meas.base.diaCalculation.DiaObjectCalculationPlugin lsst.meas.base.catalogCalculation.CatalogCalculationPlugin lsst.meas.base.pluginsBase.BasePlugin

Public Member Functions

 getExecutionOrder (cls)
 
 calculate (self, diaObjects, diaSources, filterDiaSources, band, **kwargs)
 

Static Public Attributes

 ConfigClass = WeightedMeanDiaPsfFluxConfig
 
list outputCols = ["psfFluxMean", "psfFluxMeanErr", "psfFluxNdata"]
 
str plugType = "multi"
 
bool needsFilter = True
 

Detailed Description

Compute the weighted mean and mean error on the point source fluxes
of the DiaSource measured on the difference image.

Additionally store number of usable data points.

Definition at line 264 of file diaCalculationPlugins.py.

Member Function Documentation

◆ calculate()

lsst.meas.base.diaCalculationPlugins.WeightedMeanDiaPsfFlux.calculate ( self,
diaObjects,
diaSources,
filterDiaSources,
band,
** kwargs )
Compute the weighted mean and mean error of the point source flux.

Parameters
----------
diaObject : `dict`
    Summary object to store values in.
diaSources : `pandas.DataFrame`
    DataFrame representing all diaSources associated with this
    diaObject.
filterDiaSources : `pandas.DataFrame`
    DataFrame representing diaSources associated with this
    diaObject that are observed in the band pass ``band``.
band : `str`
    Simple, string name of the filter for the flux being calculated.
**kwargs
    Any additional keyword arguments that may be passed to the plugin.

Reimplemented from lsst.meas.base.diaCalculation.DiaObjectCalculationPlugin.

Definition at line 282 of file diaCalculationPlugins.py.

287 **kwargs):
288 """Compute the weighted mean and mean error of the point source flux.
289
290 Parameters
291 ----------
292 diaObject : `dict`
293 Summary object to store values in.
294 diaSources : `pandas.DataFrame`
295 DataFrame representing all diaSources associated with this
296 diaObject.
297 filterDiaSources : `pandas.DataFrame`
298 DataFrame representing diaSources associated with this
299 diaObject that are observed in the band pass ``band``.
300 band : `str`
301 Simple, string name of the filter for the flux being calculated.
302 **kwargs
303 Any additional keyword arguments that may be passed to the plugin.
304 """
305 meanName = "{}_psfFluxMean".format(band)
306 errName = "{}_psfFluxMeanErr".format(band)
307 nDataName = "{}_psfFluxNdata".format(band)
308 if meanName not in diaObjects.columns:
309 diaObjects[meanName] = np.nan
310 if errName not in diaObjects.columns:
311 diaObjects[errName] = np.nan
312 if nDataName not in diaObjects.columns:
313 diaObjects[nDataName] = 0
314
315 def _weightedMean(df):
316 tmpDf = df[~np.logical_or(np.isnan(df["psfFlux"]),
317 np.isnan(df["psfFluxErr"]))]
318 tot_weight = np.nansum(1 / tmpDf["psfFluxErr"] ** 2)
319 fluxMean = np.nansum(tmpDf["psfFlux"]
320 / tmpDf["psfFluxErr"] ** 2)
321 fluxMean /= tot_weight
322 if tot_weight > 0:
323 fluxMeanErr = np.sqrt(1 / tot_weight)
324 else:
325 fluxMeanErr = np.nan
326 nFluxData = len(tmpDf)
327
328 return pd.Series({meanName: fluxMean,
329 errName: fluxMeanErr,
330 nDataName: nFluxData},
331 dtype="object")
332
333 diaObjects.loc[:, [meanName, errName, nDataName]] = \
334 filterDiaSources.apply(_weightedMean)
335
336

◆ getExecutionOrder()

lsst.meas.base.diaCalculationPlugins.WeightedMeanDiaPsfFlux.getExecutionOrder ( cls)
Used to set the relative order of plugin execution.

    The values returned by `getExecutionOrder` are compared across all
    plugins, and smaller numbers run first.

    Notes
    -----
    `CatalogCalculationPlugin`\s must run with
    `BasePlugin.DEFAULT_CATALOGCALCULATION` or higher.

    All plugins must implement this method with an appropriate run level

Reimplemented from lsst.meas.base.catalogCalculation.CatalogCalculationPlugin.

Definition at line 277 of file diaCalculationPlugins.py.

277 def getExecutionOrder(cls):
278 return cls.DEFAULT_CATALOGCALCULATION
279

Member Data Documentation

◆ ConfigClass

lsst.meas.base.diaCalculationPlugins.WeightedMeanDiaPsfFlux.ConfigClass = WeightedMeanDiaPsfFluxConfig
static

Definition at line 271 of file diaCalculationPlugins.py.

◆ needsFilter

bool lsst.meas.base.diaCalculationPlugins.WeightedMeanDiaPsfFlux.needsFilter = True
static

Definition at line 274 of file diaCalculationPlugins.py.

◆ outputCols

list lsst.meas.base.diaCalculationPlugins.WeightedMeanDiaPsfFlux.outputCols = ["psfFluxMean", "psfFluxMeanErr", "psfFluxNdata"]
static

Definition at line 272 of file diaCalculationPlugins.py.

◆ plugType

str lsst.meas.base.diaCalculationPlugins.WeightedMeanDiaPsfFlux.plugType = "multi"
static

Definition at line 273 of file diaCalculationPlugins.py.


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