lsst.pipe.tasks 21.0.0-175-g7497abfa+2a6ce44392
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lsst.pipe.tasks.functors.CompositeFunctor Class Reference
Inheritance diagram for lsst.pipe.tasks.functors.CompositeFunctor:
lsst.pipe.tasks.functors.Functor

Public Member Functions

def __init__ (self, funcs, **kwargs)
 
def filt (self)
 
def filt (self, filt)
 
def update (self, new)
 
def columns (self)
 
def multilevelColumns (self, data, **kwargs)
 
def __call__ (self, data, **kwargs)
 
def renameCol (cls, col, renameRules)
 
def from_file (cls, filename, **kwargs)
 
def from_yaml (cls, translationDefinition, **kwargs)
 

Public Attributes

 funcDict
 
 filt
 

Static Public Attributes

 dataset = None
 

Detailed Description

Perform multiple calculations at once on a catalog

The role of a `CompositeFunctor` is to group together computations from
multiple functors.  Instead of returning `pandas.Series` a
`CompositeFunctor` returns a `pandas.Dataframe`, with the column names
being the keys of `funcDict`.

The `columns` attribute of a `CompositeFunctor` is the union of all columns
in all the component functors.

A `CompositeFunctor` does not use a `_func` method itself; rather,
when a `CompositeFunctor` is called, all its columns are loaded
at once, and the resulting dataframe is passed to the `_func` method of each component
functor.  This has the advantage of only doing I/O (reading from parquet file) once,
and works because each individual `_func` method of each component functor does not
care if there are *extra* columns in the dataframe being passed; only that it must contain
*at least* the `columns` it expects.

An important and useful class method is `from_yaml`, which takes as argument the path to a YAML
file specifying a collection of functors.

Parameters
----------
funcs : `dict` or `list`
    Dictionary or list of functors.  If a list, then it will be converted
    into a dictonary according to the `.shortname` attribute of each functor.

Definition at line 372 of file functors.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.pipe.tasks.functors.CompositeFunctor.__init__ (   self,
  funcs,
**  kwargs 
)

Reimplemented from lsst.pipe.tasks.functors.Functor.

Definition at line 403 of file functors.py.

Member Function Documentation

◆ __call__()

def lsst.pipe.tasks.functors.CompositeFunctor.__call__ (   self,
  data,
**  kwargs 
)
Apply the functor to the data table

Parameters
----------
data : `lsst.daf.butler.DeferredDatasetHandle`,
       `lsst.pipe.tasks.parquetTable.MultilevelParquetTable`,
       `lsst.pipe.tasks.parquetTable.ParquetTable`,
       or `pandas.DataFrame`.
    The table or a pointer to a table on disk from which columns can
    be accessed

Reimplemented from lsst.pipe.tasks.functors.Functor.

Definition at line 455 of file functors.py.

◆ columns()

def lsst.pipe.tasks.functors.CompositeFunctor.columns (   self)
Columns required to perform calculation

Reimplemented from lsst.pipe.tasks.functors.Functor.

Definition at line 438 of file functors.py.

◆ filt() [1/2]

def lsst.pipe.tasks.functors.CompositeFunctor.filt (   self)

Reimplemented from lsst.pipe.tasks.functors.Functor.

Definition at line 415 of file functors.py.

◆ filt() [2/2]

def lsst.pipe.tasks.functors.CompositeFunctor.filt (   self,
  filt 
)

Reimplemented from lsst.pipe.tasks.functors.Functor.

Definition at line 419 of file functors.py.

◆ from_file()

def lsst.pipe.tasks.functors.CompositeFunctor.from_file (   cls,
  filename,
**  kwargs 
)

Definition at line 536 of file functors.py.

◆ from_yaml()

def lsst.pipe.tasks.functors.CompositeFunctor.from_yaml (   cls,
  translationDefinition,
**  kwargs 
)

Definition at line 545 of file functors.py.

◆ multilevelColumns()

def lsst.pipe.tasks.functors.CompositeFunctor.multilevelColumns (   self,
  data,
**  columnIndex 
)
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.

Reimplemented from lsst.pipe.tasks.functors.Functor.

Definition at line 441 of file functors.py.

◆ renameCol()

def lsst.pipe.tasks.functors.CompositeFunctor.renameCol (   cls,
  col,
  renameRules 
)

Definition at line 527 of file functors.py.

◆ update()

def lsst.pipe.tasks.functors.CompositeFunctor.update (   self,
  new 
)

Definition at line 425 of file functors.py.

Member Data Documentation

◆ dataset

lsst.pipe.tasks.functors.CompositeFunctor.dataset = None
static

Definition at line 401 of file functors.py.

◆ filt

lsst.pipe.tasks.functors.CompositeFunctor.filt

Definition at line 435 of file functors.py.

◆ funcDict

lsst.pipe.tasks.functors.CompositeFunctor.funcDict

Definition at line 406 of file functors.py.


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