lsst.pipe.tasks gcb98b56dc4+c4f824a45e
Loading...
Searching...
No Matches
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
 
string name = "CompositeFunctor"
 

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 366 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 398 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 : various
    The data represented as `lsst.daf.butler.DeferredDatasetHandle`,
    `lsst.pipe.base.InMemoryDatasetHandle`,
    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 450 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 433 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 410 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 414 of file functors.py.

◆ from_file()

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

Definition at line 526 of file functors.py.

◆ from_yaml()

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

Definition at line 535 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 `DeferredDatasetHandle`
or `InMemoryDatasetHandle` need to be passed either a list of tuples or a
dictionary.

Parameters
----------
data : various
    The data as either `DeferredDatasetHandle`, or `InMemoryDatasetHandle`.
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 436 of file functors.py.

◆ renameCol()

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

Definition at line 517 of file functors.py.

◆ update()

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

Definition at line 420 of file functors.py.

Member Data Documentation

◆ dataset

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

Definition at line 395 of file functors.py.

◆ filt

lsst.pipe.tasks.functors.CompositeFunctor.filt

Definition at line 430 of file functors.py.

◆ funcDict

lsst.pipe.tasks.functors.CompositeFunctor.funcDict

Definition at line 401 of file functors.py.

◆ name

string lsst.pipe.tasks.functors.CompositeFunctor.name = "CompositeFunctor"
static

Definition at line 396 of file functors.py.


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