LSST Applications g0265f82a02+0e5473021a,g02d81e74bb+f5613e8b4f,g1470d8bcf6+190ad2ba91,g14a832a312+311607e4ab,g2079a07aa2+86d27d4dc4,g2305ad1205+a8e3196225,g295015adf3+b67ee847e5,g2bbee38e9b+0e5473021a,g337abbeb29+0e5473021a,g3ddfee87b4+a761f810f3,g487adcacf7+17c8fdbcbd,g50ff169b8f+96c6868917,g52b1c1532d+585e252eca,g591dd9f2cf+65b5bd823e,g5a732f18d5+53520f316c,g64a986408d+f5613e8b4f,g6c1bc301e9+51106c2951,g858d7b2824+f5613e8b4f,g8a8a8dda67+585e252eca,g99cad8db69+6729933424,g9ddcbc5298+9a081db1e4,ga1e77700b3+15fc3df1f7,ga8c6da7877+ef4e3a5875,gb0e22166c9+60f28cb32d,gb6a65358fc+0e5473021a,gba4ed39666+c2a2e4ac27,gbb8dafda3b+e9bba80f27,gc120e1dc64+eee469a5e5,gc28159a63d+0e5473021a,gcf0d15dbbd+a761f810f3,gdaeeff99f8+f9a426f77a,ge6526c86ff+d4c1d4bfef,ge79ae78c31+0e5473021a,gee10cc3b42+585e252eca,gf1cff7945b+f5613e8b4f,w.2024.16
LSST Data Management Base Package
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | List of all members
lsst.meas.base.diaCalculationPlugins.LinearFitDiaPsfFlux Class Reference
Inheritance diagram for lsst.meas.base.diaCalculationPlugins.LinearFitDiaPsfFlux:
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 = LinearFitDiaPsfFluxConfig
 
list outputCols = ["psfFluxLinearSlope", "psfFluxLinearIntercept"]
 
str plugType = "multi"
 
bool needsFilter = True
 

Detailed Description

Compute fit a linear model to flux vs time.

Definition at line 782 of file diaCalculationPlugins.py.

Member Function Documentation

◆ calculate()

lsst.meas.base.diaCalculationPlugins.LinearFitDiaPsfFlux.calculate ( self,
diaObjects,
diaSources,
filterDiaSources,
band,
** kwargs )
Compute fit a linear model to flux vs time.

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 798 of file diaCalculationPlugins.py.

803 **kwargs):
804 """Compute fit a linear model to flux vs time.
805
806 Parameters
807 ----------
808 diaObject : `dict`
809 Summary object to store values in.
810 diaSources : `pandas.DataFrame`
811 DataFrame representing all diaSources associated with this
812 diaObject.
813 filterDiaSources : `pandas.DataFrame`
814 DataFrame representing diaSources associated with this
815 diaObject that are observed in the band pass ``band``.
816 band : `str`
817 Simple, string name of the filter for the flux being calculated.
818 **kwargs
819 Any additional keyword arguments that may be passed to the plugin.
820 """
821
822 mName = "{}_psfFluxLinearSlope".format(band)
823 if mName not in diaObjects.columns:
824 diaObjects[mName] = np.nan
825 bName = "{}_psfFluxLinearIntercept".format(band)
826 if bName not in diaObjects.columns:
827 diaObjects[bName] = np.nan
828
829 def _linearFit(df):
830 tmpDf = df[~np.logical_or(
831 np.isnan(df["psfFlux"]),
832 np.logical_or(np.isnan(df["psfFluxErr"]),
833 np.isnan(df["midpointMjdTai"])))]
834 if len(tmpDf) < 2:
835 return pd.Series({mName: np.nan, bName: np.nan})
836 fluxes = tmpDf["psfFlux"].to_numpy()
837 errors = tmpDf["psfFluxErr"].to_numpy()
838 times = tmpDf["midpointMjdTai"].to_numpy()
839 A = np.array([times / errors, 1 / errors]).transpose()
840 m, b = lsq_linear(A, fluxes / errors).x
841 return pd.Series({mName: m, bName: b})
842
843 diaObjects.loc[:, [mName, bName]] = filterDiaSources.apply(_linearFit)
844
845

◆ getExecutionOrder()

lsst.meas.base.diaCalculationPlugins.LinearFitDiaPsfFlux.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 795 of file diaCalculationPlugins.py.

795 def getExecutionOrder(cls):
796 return cls.DEFAULT_CATALOGCALCULATION
797

Member Data Documentation

◆ ConfigClass

lsst.meas.base.diaCalculationPlugins.LinearFitDiaPsfFlux.ConfigClass = LinearFitDiaPsfFluxConfig
static

Definition at line 786 of file diaCalculationPlugins.py.

◆ needsFilter

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

Definition at line 792 of file diaCalculationPlugins.py.

◆ outputCols

list lsst.meas.base.diaCalculationPlugins.LinearFitDiaPsfFlux.outputCols = ["psfFluxLinearSlope", "psfFluxLinearIntercept"]
static

Definition at line 790 of file diaCalculationPlugins.py.

◆ plugType

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

Definition at line 791 of file diaCalculationPlugins.py.


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