LSST Applications g044012fb7c+6976b5ec80,g04a91732dc+88a5fc122b,g07dc498a13+7e3c5f68a2,g114c6a66ad+09472d7a76,g1409bbee79+7e3c5f68a2,g1a7e361dbc+7e3c5f68a2,g1fd858c14a+3a43eabc0e,g35bb328faa+fcb1d3bbc8,g3bd4b5ce2c+2647bb081c,g4e0f332c67+5d362be553,g53246c7159+fcb1d3bbc8,g5477a8d5ce+b19c77c7ae,g58d0cdf3ff+4a2e102ff8,g60b5630c4e+09472d7a76,g623d845a50+09472d7a76,g6f0c2978f1+fcf1c0bcd6,g71fabbc107+09472d7a76,g75b6c65c88+d0b1dc44cc,g78460c75b0+2f9a1b4bcd,g786e29fd12+cf7ec2a62a,g7b71ed6315+fcb1d3bbc8,g8852436030+349c7e81d4,g89139ef638+7e3c5f68a2,g9125e01d80+fcb1d3bbc8,g95236ca021+f7a31438ed,g989de1cb63+7e3c5f68a2,g9f33ca652e+f17d666fbc,gaaedd4e678+7e3c5f68a2,gabe3b4be73+1e0a283bba,gb1101e3267+f870f33517,gb58c049af0+f03b321e39,gc99c83e5f0+76d20ab76d,gcf25f946ba+349c7e81d4,gd0fa69b896+f3a65fa83c,gd6cbbdb0b4+c8606af20c,gde0f65d7ad+5bd27d919f,ge278dab8ac+932305ba37,gfba249425e+fcb1d3bbc8,w.2025.07
LSST Data Management Base Package
|
Public Member Functions | |
__init__ (self, filt=None, dataset=None, noDup=None) | |
noDup (self) | |
columns (self) | |
multilevelColumns (self, data, columnIndex=None, returnTuple=False) | |
__call__ (self, data, dropna=False) | |
difference (self, data1, data2, **kwargs) | |
fail (self, df) | |
name (self) | |
shortname (self) | |
Public Attributes | |
filt = filt | |
str | dataset = dataset if dataset is not None else self._defaultDataset |
log = logging.getLogger(type(self).__name__) | |
name | |
Protected Member Functions | |
_get_data_columnLevels (self, data, columnIndex=None) | |
_get_data_columnLevelNames (self, data, columnIndex=None) | |
_colsFromDict (self, colDict, columnIndex=None) | |
_func (self, df, dropna=True) | |
_get_columnIndex (self, data) | |
_get_data (self, data) | |
_setLevels (self, df) | |
_dropna (self, vals) | |
Protected Attributes | |
_noDup = noDup | |
Static Protected Attributes | |
str | _defaultDataset = 'ref' |
tuple | _dfLevels = ('column',) |
bool | _defaultNoDup = False |
Define and execute a calculation on a DataFrame or Handle holding a DataFrame. The `__call__` method accepts either a `~pandas.DataFrame` object or a `~lsst.daf.butler.DeferredDatasetHandle` or `~lsst.pipe.base.InMemoryDatasetHandle`, and returns the result of the calculation as a single column. Each functor defines what columns are needed for the calculation, and only these columns are read from the dataset handle. The action of `__call__` consists of two steps: first, loading the necessary columns from disk into memory as a `~pandas.DataFrame` object; and second, performing the computation on this DataFrame and returning the result. To define a new `Functor`, a subclass must define a `_func` method, that takes a `~pandas.DataFrame` and returns result in a `~pandas.Series`. In addition, it must define the following attributes: * `_columns`: The columns necessary to perform the calculation * `name`: A name appropriate for a figure axis label * `shortname`: A name appropriate for use as a dictionary key On initialization, a `Functor` should declare what band (``filt`` kwarg) and dataset (e.g. ``'ref'``, ``'meas'``, ``'forced_src'``) it is intended to be applied to. This enables the `_get_data` method to extract the proper columns from the underlying data. If not specified, the dataset will fall back on the `_defaultDataset` attribute. If band is not specified and ``dataset`` is anything other than ``'ref'``, then an error will be raised when trying to perform the calculation. Originally, `Functor` was set up to expect datasets formatted like the ``deepCoadd_obj`` dataset; that is, a DataFrame with a multi-level column index, with the levels of the column index being ``band``, ``dataset``, and ``column``. It has since been generalized to apply to DataFrames without multi-level indices and multi-level indices with just ``dataset`` and ``column`` levels. In addition, the `_get_data` method that reads the columns from the underlying data will return a DataFrame with column index levels defined by the `_dfLevels` attribute; by default, this is ``column``. The `_dfLevels` attributes should generally not need to be changed, unless `_func` needs columns from multiple filters or datasets to do the calculation. An example of this is the `~lsst.pipe.tasks.functors.Color` functor, for which `_dfLevels = ('band', 'column')`, and `_func` expects the DataFrame it gets to have those levels in the column index. Parameters ---------- filt : str Band upon which to do the calculation. dataset : str Dataset upon which to do the calculation (e.g., 'ref', 'meas', 'forced_src').
Definition at line 97 of file functors.py.
lsst.pipe.tasks.functors.Functor.__init__ | ( | self, | |
filt = None, | |||
dataset = None, | |||
noDup = None ) |
Definition at line 163 of file functors.py.
lsst.pipe.tasks.functors.Functor.__call__ | ( | self, | |
data, | |||
dropna = False ) |
Definition at line 348 of file functors.py.
|
protected |
Converts dictionary column specficiation to a list of columns.
Definition at line 218 of file functors.py.
|
protected |
Definition at line 345 of file functors.py.
|
protected |
Reimplemented in lsst.pipe.tasks.functors.Color, lsst.pipe.tasks.functors.Column, lsst.pipe.tasks.functors.ComputePixelScale, lsst.pipe.tasks.functors.ConvertDetectorAngleToPositionAngle, lsst.pipe.tasks.functors.ConvertPixelSqToArcsecondsSq, lsst.pipe.tasks.functors.ConvertPixelToArcseconds, lsst.pipe.tasks.functors.CoordColumn, lsst.pipe.tasks.functors.CustomFunctor, lsst.pipe.tasks.functors.DeconvolvedMoments, lsst.pipe.tasks.functors.E1, lsst.pipe.tasks.functors.E2, lsst.pipe.tasks.functors.Ebv, lsst.pipe.tasks.functors.HsmFwhm, lsst.pipe.tasks.functors.HsmTraceSize, lsst.pipe.tasks.functors.HtmIndex20, lsst.pipe.tasks.functors.Index, lsst.pipe.tasks.functors.LocalDipoleDiffFlux, lsst.pipe.tasks.functors.LocalDipoleDiffFluxErr, lsst.pipe.tasks.functors.LocalDipoleMeanFlux, lsst.pipe.tasks.functors.LocalDipoleMeanFluxErr, lsst.pipe.tasks.functors.LocalNanojansky, lsst.pipe.tasks.functors.LocalNanojanskyErr, lsst.pipe.tasks.functors.Mag, lsst.pipe.tasks.functors.MagDiff, lsst.pipe.tasks.functors.MagErr, lsst.pipe.tasks.functors.NanoJansky, lsst.pipe.tasks.functors.NanoJanskyErr, lsst.pipe.tasks.functors.PsfHsmTraceSizeDiff, lsst.pipe.tasks.functors.PsfSdssTraceSizeDiff, lsst.pipe.tasks.functors.RADecCovColumn, lsst.pipe.tasks.functors.RadiusFromQuadrupole, lsst.pipe.tasks.functors.ReferenceBand, and lsst.pipe.tasks.functors.SdssTraceSize.
Definition at line 291 of file functors.py.
|
protected |
Return columnIndex.
Definition at line 294 of file functors.py.
|
protected |
Retrieve DataFrame necessary for calculation. The data argument can be a `~pandas.DataFrame`, a `~lsst.daf.butler.DeferredDatasetHandle`, or an `~lsst.pipe.base.InMemoryDatasetHandle`. Returns a DataFrame upon which `self._func` can act.
Definition at line 302 of file functors.py.
|
protected |
Gets the content of each of the column levels for a multilevel table.
Definition at line 204 of file functors.py.
|
protected |
Gets the names of the column index levels. This should only be called in the context of a multilevel table. Parameters ---------- data : various The data to be read, can be a `~lsst.daf.butler.DeferredDatasetHandle` or `~lsst.pipe.base.InMemoryDatasetHandle`. columnIndex (optional): pandas `~pandas.Index` object If not passed, then it is read from the `~lsst.daf.butler.DeferredDatasetHandle` for `~lsst.pipe.base.InMemoryDatasetHandle`.
Definition at line 184 of file functors.py.
|
protected |
Definition at line 340 of file functors.py.
lsst.pipe.tasks.functors.Functor.columns | ( | self | ) |
Columns required to perform calculation.
Reimplemented in lsst.pipe.tasks.functors.Color, lsst.pipe.tasks.functors.Column, lsst.pipe.tasks.functors.CompositeFunctor, lsst.pipe.tasks.functors.ComputePixelScale, lsst.pipe.tasks.functors.ConvertDetectorAngleToPositionAngle, lsst.pipe.tasks.functors.ConvertPixelSqToArcsecondsSq, lsst.pipe.tasks.functors.ConvertPixelToArcseconds, lsst.pipe.tasks.functors.CustomFunctor, lsst.pipe.tasks.functors.E1, lsst.pipe.tasks.functors.E2, lsst.pipe.tasks.functors.LocalDipoleDiffFlux, lsst.pipe.tasks.functors.LocalDipoleDiffFluxErr, lsst.pipe.tasks.functors.LocalDipoleMeanFlux, lsst.pipe.tasks.functors.LocalDipoleMeanFluxErr, lsst.pipe.tasks.functors.LocalNanojansky, lsst.pipe.tasks.functors.LocalNanojanskyErr, lsst.pipe.tasks.functors.Mag, lsst.pipe.tasks.functors.MagDiff, lsst.pipe.tasks.functors.MagErr, lsst.pipe.tasks.functors.NanoJanskyErr, lsst.pipe.tasks.functors.Photometry, lsst.pipe.tasks.functors.RadiusFromQuadrupole, and lsst.pipe.tasks.functors.ReferenceBand.
Definition at line 178 of file functors.py.
lsst.pipe.tasks.functors.Functor.difference | ( | self, | |
data1, | |||
data2, | |||
** | kwargs ) |
Computes difference between functor called on two different DataFrame/Handle objects.
Definition at line 360 of file functors.py.
lsst.pipe.tasks.functors.Functor.fail | ( | self, | |
df ) |
Definition at line 366 of file functors.py.
lsst.pipe.tasks.functors.Functor.multilevelColumns | ( | self, | |
data, | |||
columnIndex = None, | |||
returnTuple = False ) |
Returns columns needed by functor from multilevel dataset. To access tables with multilevel column structure, the `~lsst.daf.butler.DeferredDatasetHandle` or `~lsst.pipe.base.InMemoryDatasetHandle` needs to be passed either a list of tuples or a dictionary. Parameters ---------- data : various The data as either `~lsst.daf.butler.DeferredDatasetHandle`, or `~lsst.pipe.base.InMemoryDatasetHandle`. columnIndex (optional): pandas `~pandas.Index` object Either passed or read in from `~lsst.daf.butler.DeferredDatasetHandle`. `returnTuple` : `bool` If true, then return a list of tuples rather than the column dictionary specification. This is set to `True` by `CompositeFunctor` in order to be able to combine columns from the various component functors.
Reimplemented in lsst.pipe.tasks.functors.Color, and lsst.pipe.tasks.functors.CompositeFunctor.
Definition at line 237 of file functors.py.
lsst.pipe.tasks.functors.Functor.name | ( | self | ) |
Full name of functor (suitable for figure labels).
Reimplemented in lsst.pipe.tasks.functors.Color, lsst.pipe.tasks.functors.Column, lsst.pipe.tasks.functors.ConvertPixelSqToArcsecondsSq, lsst.pipe.tasks.functors.ConvertPixelToArcseconds, lsst.pipe.tasks.functors.CustomFunctor, lsst.pipe.tasks.functors.LocalDipoleDiffFlux, lsst.pipe.tasks.functors.LocalDipoleDiffFluxErr, lsst.pipe.tasks.functors.LocalDipoleMeanFlux, lsst.pipe.tasks.functors.LocalDipoleMeanFluxErr, lsst.pipe.tasks.functors.LocalNanojansky, lsst.pipe.tasks.functors.LocalNanojanskyErr, lsst.pipe.tasks.functors.Mag, lsst.pipe.tasks.functors.MagDiff, lsst.pipe.tasks.functors.MagErr, and lsst.pipe.tasks.functors.Photometry.
Definition at line 370 of file functors.py.
lsst.pipe.tasks.functors.Functor.noDup | ( | self | ) |
Do not explode by band if used on object table.
Definition at line 170 of file functors.py.
lsst.pipe.tasks.functors.Functor.shortname | ( | self | ) |
Short name of functor (suitable for column name/dict key).
Reimplemented in lsst.pipe.tasks.functors.Color, and lsst.pipe.tasks.functors.MagDiff.
Definition at line 375 of file functors.py.
|
staticprotected |
Definition at line 159 of file functors.py.
|
staticprotected |
Definition at line 161 of file functors.py.
|
staticprotected |
Definition at line 160 of file functors.py.
|
protected |
Definition at line 166 of file functors.py.
str lsst.pipe.tasks.functors.Functor.dataset = dataset if dataset is not None else self._defaultDataset |
Definition at line 165 of file functors.py.
lsst.pipe.tasks.functors.Functor.filt = filt |
Reimplemented in lsst.pipe.tasks.functors.Color, lsst.pipe.tasks.functors.Color, lsst.pipe.tasks.functors.CompositeFunctor, and lsst.pipe.tasks.functors.CompositeFunctor.
Definition at line 164 of file functors.py.
lsst.pipe.tasks.functors.Functor.log = logging.getLogger(type(self).__name__) |
Definition at line 167 of file functors.py.
lsst.pipe.tasks.functors.Functor.name |
Reimplemented in lsst.pipe.tasks.functors.Color, lsst.pipe.tasks.functors.Column, lsst.pipe.tasks.functors.ConvertPixelSqToArcsecondsSq, lsst.pipe.tasks.functors.ConvertPixelToArcseconds, lsst.pipe.tasks.functors.CustomFunctor, lsst.pipe.tasks.functors.LocalDipoleDiffFlux, lsst.pipe.tasks.functors.LocalDipoleDiffFluxErr, lsst.pipe.tasks.functors.LocalDipoleMeanFlux, lsst.pipe.tasks.functors.LocalDipoleMeanFluxErr, lsst.pipe.tasks.functors.LocalNanojansky, lsst.pipe.tasks.functors.LocalNanojanskyErr, lsst.pipe.tasks.functors.Mag, lsst.pipe.tasks.functors.MagDiff, lsst.pipe.tasks.functors.MagErr, and lsst.pipe.tasks.functors.Photometry.
Definition at line 353 of file functors.py.