Base class for transforming/standardizing a catalog
by applying functors that convert units and apply calibrations.
The purpose of this task is to perform a set of computations on
an input ``DeferredDatasetHandle`` or ``InMemoryDatasetHandle`` that holds
a ``DataFrame`` dataset (such as ``deepCoadd_obj``), and write the
results to a new dataset (which needs to be declared in an ``outputDataset``
attribute).
The calculations to be performed are defined in a YAML file that specifies
a set of functors to be computed, provided as
a ``--functorFile`` config parameter. An example of such a YAML file
is the following:
funcs:
psfMag:
functor: Mag
args:
- base_PsfFlux
filt: HSC-G
dataset: meas
cmodel_magDiff:
functor: MagDiff
args:
- modelfit_CModel
- base_PsfFlux
filt: HSC-G
gauss_magDiff:
functor: MagDiff
args:
- base_GaussianFlux
- base_PsfFlux
filt: HSC-G
count:
functor: Column
args:
- base_InputCount_value
filt: HSC-G
deconvolved_moments:
functor: DeconvolvedMoments
filt: HSC-G
dataset: forced_src
refFlags:
- calib_psfUsed
- merge_measurement_i
- merge_measurement_r
- merge_measurement_z
- merge_measurement_y
- merge_measurement_g
- base_PixelFlags_flag_inexact_psfCenter
- detect_isPrimary
The names for each entry under "func" will become the names of columns in
the output dataset. All the functors referenced are defined in
`lsst.pipe.tasks.functors`. Positional arguments to be passed to each
functor are in the `args` list, and any additional entries for each column
other than "functor" or "args" (e.g., ``'filt'``, ``'dataset'``) are treated as
keyword arguments to be passed to the functor initialization.
The "flags" entry is the default shortcut for `Column` functors.
All columns listed under "flags" will be copied to the output table
untransformed. They can be of any datatype.
In the special case of transforming a multi-level oject table with
band and dataset indices (deepCoadd_obj), these will be taked from the
`meas` dataset and exploded out per band.
There are two special shortcuts that only apply when transforming
multi-level Object (deepCoadd_obj) tables:
- The "refFlags" entry is shortcut for `Column` functor
taken from the `'ref'` dataset if transforming an ObjectTable.
- The "forcedFlags" entry is shortcut for `Column` functors.
taken from the ``forced_src`` dataset if transforming an ObjectTable.
These are expanded out per band.
This task uses the `lsst.pipe.tasks.postprocess.PostprocessAnalysis` object
to organize and excecute the calculations.
Definition at line 799 of file postprocess.py.
def lsst.pipe.tasks.postprocess.TransformCatalogBaseTask.run |
( |
|
self, |
|
|
|
handle, |
|
|
|
funcs = None , |
|
|
|
dataId = None , |
|
|
|
band = None |
|
) |
| |
Do postprocessing calculations
Takes a ``DeferredDatasetHandle`` or ``InMemoryDatasetHandle`` or
``DataFrame`` object and dataId,
returns a dataframe with results of postprocessing calculations.
Parameters
----------
handles : `lsst.daf.butler.DeferredDatasetHandle` or
`lsst.pipe.base.InMemoryDatasetHandle` or
`pandas.DataFrame`, or list of these.
DataFrames from which calculations are done.
funcs : `lsst.pipe.tasks.functors.Functors`
Functors to apply to the table's columns
dataId : dict, optional
Used to add a `patchId` column to the output dataframe.
band : `str`, optional
Filter band that is being processed.
Returns
------
df : `pandas.DataFrame`
Definition at line 914 of file postprocess.py.