lsst.pipe.tasks
21.0.0-20-g55224fe4+1b10d9d6c3
|
Public Member Functions | |
def | __init__ (self, filt=None, dataset=None, noDup=None) |
def | noDup (self) |
def | columns (self) |
def | multilevelColumns (self, data, columnIndex=None, returnTuple=False) |
def | __call__ (self, data, dropna=False) |
def | difference (self, data1, data2, **kwargs) |
def | fail (self, df) |
def | name (self) |
def | shortname (self) |
Public Attributes | |
filt | |
dataset | |
Define and execute a calculation on a ParquetTable The `__call__` method accepts either a `ParquetTable` object or a `DeferredDatasetHandle`, 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 `ParquetTable`. 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 filter (`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 parquet file. If not specified, the dataset will fall back on the `_defaultDataset`attribute. If filter is not specified and `dataset` is anything other than `'ref'`, then an error will be raised when trying to perform the calculation. As currently implemented, `Functor` is only set up to expect a dataset of the format of the `deepCoadd_obj` dataset; that is, a dataframe with a multi-level column index, with the levels of the column index being `filter`, `dataset`, and `column`. This is defined in the `_columnLevels` attribute, as well as being implicit in the role of the `filt` and `dataset` attributes defined at initialization. In addition, the `_get_data` method that reads the dataframe from the `ParquetTable` will return a dataframe with column index levels defined by the `_dfLevels` attribute; by default, this is `column`. The `_columnLevels` and `_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 = ('filter', 'column')`, and `_func` expects the dataframe it gets to have those levels in the column index. Parameters ---------- filt : str Filter upon which to do the calculation dataset : str Dataset upon which to do the calculation (e.g., 'ref', 'meas', 'forced_src').
Definition at line 53 of file functors.py.
def lsst.pipe.tasks.functors.Functor.__init__ | ( | self, | |
filt = None , |
|||
dataset = None , |
|||
noDup = None |
|||
) |
Definition at line 118 of file functors.py.
def lsst.pipe.tasks.functors.Functor.__call__ | ( | self, | |
data, | |||
dropna = False |
|||
) |
Definition at line 318 of file functors.py.
def lsst.pipe.tasks.functors.Functor.columns | ( | self | ) |
Columns required to perform calculation
Reimplemented in lsst.pipe.tasks.functors.LocalMagnitudeErr, lsst.pipe.tasks.functors.LocalMagnitude, lsst.pipe.tasks.functors.LocalNanojanskyErr, lsst.pipe.tasks.functors.LocalNanojansky, lsst.pipe.tasks.functors.MagnitudeErr, lsst.pipe.tasks.functors.NanoJanskyErr, lsst.pipe.tasks.functors.Photometry, lsst.pipe.tasks.functors.ReferenceBand, lsst.pipe.tasks.functors.ConvertPixelToArcseconds, lsst.pipe.tasks.functors.ComputePixelScale, lsst.pipe.tasks.functors.RadiusFromQuadrupole, lsst.pipe.tasks.functors.E2, lsst.pipe.tasks.functors.E1, lsst.pipe.tasks.functors.Color, lsst.pipe.tasks.functors.MagDiff, lsst.pipe.tasks.functors.MagErr, lsst.pipe.tasks.functors.Mag, lsst.pipe.tasks.functors.Column, lsst.pipe.tasks.functors.CustomFunctor, and lsst.pipe.tasks.functors.CompositeFunctor.
Definition at line 131 of file functors.py.
def lsst.pipe.tasks.functors.Functor.difference | ( | self, | |
data1, | |||
data2, | |||
** | kwargs | ||
) |
Computes difference between functor called on two different ParquetTable objects
Definition at line 329 of file functors.py.
def lsst.pipe.tasks.functors.Functor.fail | ( | self, | |
df | |||
) |
Definition at line 334 of file functors.py.
def 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 `MultilevelParquetTable` or `DeferredDatasetHandle` need to be passed either a list of tuples or a dictionary. Parameters ---------- data : `MultilevelParquetTable` or `DeferredDatasetHandle` columnIndex (optional): pandas `Index` object either passed or read in from `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.
Definition at line 205 of file functors.py.
def lsst.pipe.tasks.functors.Functor.name | ( | self | ) |
Full name of functor (suitable for figure labels)
Reimplemented in lsst.pipe.tasks.functors.LocalMagnitudeErr, lsst.pipe.tasks.functors.LocalMagnitude, lsst.pipe.tasks.functors.LocalNanojanskyErr, lsst.pipe.tasks.functors.LocalNanojansky, lsst.pipe.tasks.functors.Photometry, lsst.pipe.tasks.functors.ConvertPixelToArcseconds, lsst.pipe.tasks.functors.Color, lsst.pipe.tasks.functors.MagDiff, lsst.pipe.tasks.functors.MagErr, lsst.pipe.tasks.functors.Mag, lsst.pipe.tasks.functors.Column, and lsst.pipe.tasks.functors.CustomFunctor.
Definition at line 338 of file functors.py.
def lsst.pipe.tasks.functors.Functor.noDup | ( | self | ) |
Definition at line 124 of file functors.py.
def 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 344 of file functors.py.
lsst.pipe.tasks.functors.Functor.dataset |
Definition at line 120 of file functors.py.
lsst.pipe.tasks.functors.Functor.filt |
Definition at line 119 of file functors.py.