TransformCatalogBaseTask¶
- class lsst.pipe.tasks.postprocess.TransformCatalogBaseTask(*args, **kwargs)¶
- Bases: - 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 - DeferredDatasetHandleor- InMemoryDatasetHandlethat holds a- DataFramedataset (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:
- sourceId:
- functor: Index 
- x:
- functor: Column args: slot_Centroid_x 
- y:
- functor: Column args: slot_Centroid_y 
- psfFlux:
- functor: LocalNanojansky args: - slot_PsfFlux_instFlux 
- slot_PsfFlux_instFluxErr 
- base_LocalPhotoCalib 
- base_LocalPhotoCalibErr 
 
- psfFluxErr:
- functor: LocalNanojanskyErr args: - slot_PsfFlux_instFlux 
- slot_PsfFlux_instFluxErr 
- base_LocalPhotoCalib 
- base_LocalPhotoCalibErr 
 
 
- flags:
- 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 - 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 the- forced_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 - Methods Summary - Empty (clear) the metadata for this Task and all sub-Tasks. - getAnalysis(handles[, funcs, band])- Get metadata for all tasks. - Get the task name as a hierarchical name including parent task names. - getName()- Get the name of the task. - 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(handle[, funcs, dataId, band])- Do postprocessing calculations - runQuantum(butlerQC, inputRefs, outputRefs)- Do butler IO and transform to provide in memory objects for tasks - runmethod.- timer(name[, logLevel])- Context manager to log performance data for an arbitrary block of code. - transform(band, handles, funcs, dataId)- Attributes Documentation - ConfigClass: ClassVar[type[PipelineTaskConfig]]¶
 - inputDataset¶
 - outputDataset¶
 - Methods Documentation - getAnalysis(handles, funcs=None, band=None)¶
 - getFullMetadata() TaskMetadata¶
- Get metadata for all tasks. - Returns:
- metadataTaskMetadata
- The keys are the full task name. Values are metadata for the top-level task and all subtasks, sub-subtasks, etc. 
 
- metadata
 - 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.
 - getFullName() str¶
- Get the task name as a hierarchical name including parent task names. - Returns:
- fullNamestr
- 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()¶
 - getName() str¶
- Get the name of the task. - Returns:
- taskNamestr
- Name of the task. 
 
- taskName
 - See also - getFullName
- Get the full name of the task. 
 
 - getTaskDict() dict[str, weakref.ReferenceType[lsst.pipe.base.task.Task]]¶
- Get a dictionary of all tasks as a shallow copy. - Returns:
- taskDictdict
- Dictionary containing full task name: task object for the top-level task and all subtasks, sub-subtasks, etc. 
 
- taskDict
 
 - classmethod makeField(doc: str) ConfigurableField¶
- Make a - lsst.pex.config.ConfigurableFieldfor this task.- Parameters:
- docstr
- Help text for the field. 
 
- doc
- Returns:
- configurableFieldlsst.pex.config.ConfigurableField
- A - ConfigurableFieldfor this task.
 
- configurableField
 - 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") 
 - makeSubtask(name: str, **keyArgs: Any) None¶
- Create a subtask as a new instance as the - nameattribute of this task.- Parameters:
- namestr
- 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.
 
 
- name
 - Notes - The subtask must be defined by - Task.config.name, an instance of- ConfigurableFieldor- RegistryField.
 - run(handle, funcs=None, dataId=None, band=None)¶
- Do postprocessing calculations - Takes a - DeferredDatasetHandleor- InMemoryDatasetHandleor- DataFrameobject and dataId, returns a dataframe with results of postprocessing calculations.- Parameters:
- handlesDeferredDatasetHandleor
- InMemoryDatasetHandleor- DataFrame, or list of these.- DataFrames from which calculations are done. 
- funcsFunctor
- Functors to apply to the table’s columns 
- dataIddict, optional
- Used to add a - patchIdcolumn to the output dataframe.
- bandstr, optional
- Filter band that is being processed. 
 
- handles
- Returns:
 
 - runQuantum(butlerQC, inputRefs, outputRefs)¶
- Do butler IO and transform to provide in memory objects for tasks - runmethod.- Parameters:
- butlerQCQuantumContext
- A butler which is specialized to operate in the context of a - lsst.daf.butler.Quantum.
- inputRefsInputQuantizedConnection
- 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.
- outputRefsOutputQuantizedConnection
- 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 - lsst.utils.timer.logInfo
- Implementation function. 
 - Examples - Creating a timer context: - with self.timer("someCodeToTime"): pass # code to time 
 - transform(band, handles, funcs, dataId)¶