Calculate columns from ParquetTable.
This object manages and organizes an arbitrary set of computations
on a catalog. The catalog is defined by a
`~lsst.pipe.tasks.parquetTable.ParquetTable` object (or list thereof), such
as a ``deepCoadd_obj`` dataset, and the computations are defined by a
collection of `lsst.pipe.tasks.functor.Functor` objects (or, equivalently,
a ``CompositeFunctor``).
After the object is initialized, accessing the ``.df`` attribute (which
holds the `pandas.DataFrame` containing the results of the calculations)
triggers computation of said dataframe.
One of the conveniences of using this object is the ability to define a
desired common filter for all functors. This enables the same functor
collection to be passed to several different `PostprocessAnalysis` objects
without having to change the original functor collection, since the ``filt``
keyword argument of this object triggers an overwrite of the ``filt``
property for all functors in the collection.
This object also allows a list of refFlags to be passed, and defines a set
of default refFlags that are always included even if not requested.
If a list of `~lsst.pipe.tasks.ParquetTable` object is passed, rather than a single one,
then the calculations will be mapped over all the input catalogs. In
principle, it should be straightforward to parallelize this activity, but
initial tests have failed (see TODO in code comments).
Parameters
----------
parq : `~lsst.pipe.tasks.ParquetTable` (or list of such)
Source catalog(s) for computation.
functors : `list`, `dict`, or `~lsst.pipe.tasks.functors.CompositeFunctor`
Computations to do (functors that act on ``parq``).
If a dict, the output
DataFrame will have columns keyed accordingly.
If a list, the column keys will come from the
``.shortname`` attribute of each functor.
filt : `str`, optional
Filter in which to calculate. If provided,
this will overwrite any existing ``.filt`` attribute
of the provided functors.
flags : `list`, optional
List of flags (per-band) to include in output table.
Taken from the ``meas`` dataset if applied to a multilevel Object Table.
refFlags : `list`, optional
List of refFlags (only reference band) to include in output table.
forcedFlags : `list`, optional
List of flags (per-band) to include in output table.
Taken from the ``forced_src`` dataset if applied to a
multilevel Object Table. Intended for flags from measurement plugins
only run during multi-band forced-photometry.
Definition at line 620 of file postprocess.py.