TransformCatalogBaseTask¶
- 
class lsst.pipe.tasks.postprocess.TransformCatalogBaseTask(*args, **kwargs)¶
- Bases: - lsst.pipe.base.PipelineTask- 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 - ParquetTabledataset (such as- deepCoadd_obj) and write the results to a new dataset (which needs to be declared in an- outputDatasetattribute).- The calculations to be performed are defined in a YAML file that specifies a set of functors to be computed, provided as a - --functorFileconfig 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- argslist, 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 - Columnfunctors. 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- measdataset 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 Columnfunctor taken from the'ref'dataset if transforming an ObjectTable.
- The “forcedFlags” entry is shortcut for Columnfunctors. taken from theforced_srcdataset if transforming an ObjectTable. These are expanded out per band.
 - This task uses the - lsst.pipe.tasks.postprocess.PostprocessAnalysisobject to organize and excecute the calculations.- Attributes Summary - ConfigClass- canMultiprocess- inputDataset- outputDataset- Methods Summary - emptyMetadata()- Empty (clear) the metadata for this Task and all sub-Tasks. - getAnalysis(parq[, funcs, band])- getFullMetadata()- Get metadata for all tasks. - getFullName()- Get the task name as a hierarchical name including parent task names. - getFunctors()- getName()- Get the name of the task. - getResourceConfig()- Return resource configuration for this task. - getTaskDict()- Get a dictionary of all tasks as a shallow copy. - makeField(doc)- Make a - lsst.pex.config.ConfigurableFieldfor this task.- makeSubtask(name, **keyArgs)- Create a subtask as a new instance as the - nameattribute of this task.- run(parq[, funcs, dataId, band])- Do postprocessing calculations - runQuantum(butlerQC, inputRefs, outputRefs)- Method to do butler IO and or transforms to provide in memory objects for tasks run method - timer(name, logLevel)- Context manager to log performance data for an arbitrary block of code. - transform(band, parq, funcs, dataId)- Attributes Documentation - 
ConfigClass¶
 - 
canMultiprocess= True¶
 - 
inputDataset¶
 - 
outputDataset¶
 - Methods Documentation - 
emptyMetadata() → None¶
- Empty (clear) the metadata for this Task and all sub-Tasks. 
 - 
getAnalysis(parq, funcs=None, band=None)¶
 - 
getFullMetadata() → lsst.pipe.base._task_metadata.TaskMetadata¶
- Get metadata for all tasks. - Returns: - metadata : TaskMetadata
- The keys are the full task name. Values are metadata for the top-level task and all subtasks, sub-subtasks, etc. 
 - Notes - The returned metadata includes timing information (if - @timer.timeMethodis used) and any metadata set by the task. The name of each item consists of the full task name with- .replaced by- :, followed by- .and the name of the item, e.g.:- topLevelTaskName:subtaskName:subsubtaskName.itemName - using - :in the full task name disambiguates the rare situation that a task has a subtask and a metadata item with the same name.
- metadata : 
 - 
getFullName() → str¶
- Get the task name as a hierarchical name including parent task names. - Returns: - fullName : str
- The full name consists of the name of the parent task and each subtask separated by periods. For example: - The full name of top-level task “top” is simply “top”.
- The full name of subtask “sub” of top-level task “top” is “top.sub”.
- The full name of subtask “sub2” of subtask “sub” of top-level task “top” is “top.sub.sub2”.
 
 
- fullName : 
 - 
getFunctors()¶
 - 
getResourceConfig() → Optional[ResourceConfig]¶
- Return resource configuration for this task. - Returns: - Object of type ResourceConfigorNoneif resource
- configuration is not defined for this task.
 
- Object of type 
 - 
getTaskDict() → Dict[str, weakref.ReferenceType[lsst.pipe.base.task.Task]]¶
- Get a dictionary of all tasks as a shallow copy. - Returns: - taskDict : dict
- Dictionary containing full task name: task object for the top-level task and all subtasks, sub-subtasks, etc. 
 
- taskDict : 
 - 
classmethod makeField(doc: str) → lsst.pex.config.configurableField.ConfigurableField¶
- Make a - lsst.pex.config.ConfigurableFieldfor this task.- Parameters: - doc : str
- Help text for the field. 
 - Returns: - configurableField : lsst.pex.config.ConfigurableField
- A - ConfigurableFieldfor this task.
 - Examples - Provides a convenient way to specify this task is a subtask of another task. - Here is an example of use: - class OtherTaskConfig(lsst.pex.config.Config): aSubtask = ATaskClass.makeField("brief description of task") 
- doc : 
 - 
makeSubtask(name: str, **keyArgs) → None¶
- Create a subtask as a new instance as the - nameattribute of this task.- Parameters: - name : str
- Brief name of the subtask. 
- keyArgs
- Extra keyword arguments used to construct the task. The following arguments are automatically provided and cannot be overridden: - “config”.
- “parentTask”.
 
 - Notes - The subtask must be defined by - Task.config.name, an instance of- ConfigurableFieldor- RegistryField.
- name : 
 - 
run(parq, funcs=None, dataId=None, band=None)¶
- Do postprocessing calculations - Takes a - ParquetTableobject and dataId, returns a dataframe with results of postprocessing calculations.- Parameters: - parq : lsst.pipe.tasks.parquetTable.ParquetTable
- ParquetTable 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 - patchIdcolumn to the output dataframe.
- band : str, optional
- Filter band that is being processed. 
- Returns
- ——
- df : pandas.DataFrame
 
- parq : 
 - 
runQuantum(butlerQC, inputRefs, outputRefs)¶
- Method to do butler IO and or transforms to provide in memory objects for tasks run method - Parameters: - butlerQC : ButlerQuantumContext
- A butler which is specialized to operate in the context of a - lsst.daf.butler.Quantum.
- inputRefs : InputQuantizedConnection
- Datastructure whose attribute names are the names that identify connections defined in corresponding - PipelineTaskConnectionsclass. The values of these attributes are the- lsst.daf.butler.DatasetRefobjects associated with the defined input/prerequisite connections.
- outputRefs : OutputQuantizedConnection
- Datastructure whose attribute names are the names that identify connections defined in corresponding - PipelineTaskConnectionsclass. The values of these attributes are the- lsst.daf.butler.DatasetRefobjects associated with the defined output connections.
 
- butlerQC : 
 - 
timer(name: str, logLevel: int = 10) → Iterator[None]¶
- Context manager to log performance data for an arbitrary block of code. - Parameters: - See also - timer.logInfo
 - Examples - Creating a timer context: - with self.timer("someCodeToTime"): pass # code to time 
 - 
transform(band, parq, funcs, dataId)¶