lsst.pipe.tasks  17.0-5-gf0ac6446
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lsst.pipe.tasks.mergeDetections.MergeDetectionsTask Class Reference

Merge coadd detections from multiple bands. More...

Inheritance diagram for lsst.pipe.tasks.mergeDetections.MergeDetectionsTask:

Public Member Functions

def getInputSchema (self, butler=None, schema=None)
 
def __init__ (self, butler=None, schema=None, initInputs=None, kwargs)
 Initialize the merge detections task. More...
 
def getInitOutputDatasets (self)
 
def runDataRef (self, patchRefList)
 
def adaptArgsAndRun (self, inputData, inputDataIds, outputDataIds, butler)
 
def run (self, catalogs, skyInfo, idFactory, skySeed)
 Merge multiple catalogs. More...
 
def cullPeaks (self, catalog)
 Attempt to remove garbage peaks (mostly on the outskirts of large blends). More...
 
def getSchemaCatalogs (self)
 Return a dict of empty catalogs for each catalog dataset produced by this task. More...
 
def getSkySourceFootprints (self, mergedList, skyInfo, seed)
 Return a list of Footprints of sky objects which don't overlap with anything in mergedList. More...
 
def write (self, patchRef, catalog)
 Write the output. More...
 
def writeMetadata (self, dataRefList)
 No metadata to write, and not sure how to write it for a list of dataRefs. More...
 

Public Attributes

 schema
 
 merged
 

Static Public Attributes

 ConfigClass = MergeDetectionsConfig
 
 RunnerClass = MergeSourcesRunner
 
string inputDataset = "det"
 
string outputDataset = "mergeDet"
 
 makeIdFactory = _makeMakeIdFactory("MergedCoaddId")
 

Detailed Description

Merge coadd detections from multiple bands.

Contents

Description

Command-line task that merges sources detected in coadds of exposures obtained with different filters.

To perform photometry consistently across coadds in multiple filter bands, we create a master catalog of sources from all bands by merging the sources (peaks & footprints) detected in each coadd, while keeping track of which band each source originates in.

The catalog merge is performed by getMergedSourceCatalog. Spurious peaks detected around bright objects are culled as described in CullPeaksConfig_.

Inputs:
deepCoadd_det{tract,patch,filter}: SourceCatalog (only parent Footprints)
Outputs:
deepCoadd_mergeDet{tract,patch}: SourceCatalog (only parent Footprints)
Data Unit:
tract, patch

Task initialisation

Initialize the merge detections task. A FootprintMergeList will be used to merge the source catalogs.

Parameters
[in]schemathe schema of the detection catalogs used as input to this one
[in]butlera butler used to read the input schema from disk, if schema is None
[in]initInputsThis a PipelineTask-only argument that holds all inputs passed in through the PipelineTask middleware
[in]**kwargskeyword arguments to be passed to CmdLineTask.__init__

The task will set its own self.schema attribute to the schema of the output merged catalog.

Invoking the Task

Merge multiple catalogs. After ordering the catalogs and filters in priority order, getMergedSourceCatalog of the FootprintMergeList created by __init__ is used to perform the actual merging. Finally, cullPeaks is used to remove garbage peaks detected around bright objects.

Parameters
[in]catalogs
[in]patchRef
[out]mergedList

Configuration parameters

See MergeDetectionsConfig_

Debug variables

The command line task interface supports a flag -d to import debug.py from your PYTHONPATH; see Using lsstDebug to control debugging output for more about debug.py files.

MergeDetectionsTask has no debug variables.

A complete example of using MergeDetectionsTask

MergeDetectionsTask is meant to be run after detecting sources in coadds generated for the chosen subset of the available bands. The purpose of the task is to merge sources (peaks & footprints) detected in the coadds generated from the chosen subset of filters. Subsequent tasks in the multi-band processing procedure will deblend the generated master list of sources and, eventually, perform forced photometry. Command-line usage of MergeDetectionsTask expects data references for all the coadds to be processed. A list of the available optional arguments can be obtained by calling mergeCoaddDetections.py with the --help command line argument:

mergeCoaddDetections.py --help

To demonstrate usage of the DetectCoaddSourcesTask in the larger context of multi-band processing, we will process HSC data in the ci_hsc package. Assuming one has finished step 5 at pipeTasks_multiBand, one may merge the catalogs of sources from each coadd as follows:

mergeCoaddDetections.py $CI_HSC_DIR/DATA --id patch=5,4 tract=0 filter=HSC-I^HSC-R

This will merge the HSC-I & -R band parent source catalogs and write the results to $CI_HSC_DIR/DATA/deepCoadd-results/merged/0/5,4/mergeDet-0-5,4.fits.

The next step in the multi-band processing procedure is MeasureMergedCoaddSourcesTask

Definition at line 114 of file mergeDetections.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.pipe.tasks.mergeDetections.MergeDetectionsTask.__init__ (   self,
  butler = None,
  schema = None,
  initInputs = None,
  kwargs 
)

Initialize the merge detections task.

A FootprintMergeList will be used to merge the source catalogs.

Parameters
[in]schemathe schema of the detection catalogs used as input to this one
[in]butlera butler used to read the input schema from disk, if schema is None
[in]initInputsThis a PipelineTask-only argument that holds all inputs passed in through the PipelineTask middleware
[in]**kwargskeyword arguments to be passed to CmdLineTask.__init__

The task will set its own self.schema attribute to the schema of the output merged catalog.

Definition at line 207 of file mergeDetections.py.

Member Function Documentation

◆ adaptArgsAndRun()

def lsst.pipe.tasks.mergeDetections.MergeDetectionsTask.adaptArgsAndRun (   self,
  inputData,
  inputDataIds,
  outputDataIds,
  butler 
)

Definition at line 246 of file mergeDetections.py.

◆ cullPeaks()

def lsst.pipe.tasks.mergeDetections.MergeDetectionsTask.cullPeaks (   self,
  catalog 
)

Attempt to remove garbage peaks (mostly on the outskirts of large blends).

Parameters
[in]catalogSource catalog

Definition at line 316 of file mergeDetections.py.

◆ getInitOutputDatasets()

def lsst.pipe.tasks.mergeDetections.MergeDetectionsTask.getInitOutputDatasets (   self)

Definition at line 234 of file mergeDetections.py.

◆ getInputSchema()

def lsst.pipe.tasks.mergeDetections.MergeDetectionsTask.getInputSchema (   self,
  butler = None,
  schema = None 
)

Definition at line 204 of file mergeDetections.py.

◆ getSchemaCatalogs()

def lsst.pipe.tasks.mergeDetections.MergeDetectionsTask.getSchemaCatalogs (   self)

Return a dict of empty catalogs for each catalog dataset produced by this task.

Parameters
[out]dictionaryof empty catalogs

Definition at line 344 of file mergeDetections.py.

◆ getSkySourceFootprints()

def lsst.pipe.tasks.mergeDetections.MergeDetectionsTask.getSkySourceFootprints (   self,
  mergedList,
  skyInfo,
  seed 
)

Return a list of Footprints of sky objects which don't overlap with anything in mergedList.

Parameters
mergedListThe merged Footprints from all the input bands
skyInfoA description of the patch
seedSeed for the random number generator

Definition at line 355 of file mergeDetections.py.

◆ run()

def lsst.pipe.tasks.mergeDetections.MergeDetectionsTask.run (   self,
  catalogs,
  skyInfo,
  idFactory,
  skySeed 
)

Merge multiple catalogs.

After ordering the catalogs and filters in priority order, getMergedSourceCatalog of the FootprintMergeList created by __init__ is used to perform the actual merging. Finally, cullPeaks is used to remove garbage peaks detected around bright objects.

Parameters
[in]catalogs
[in]patchRef
[out]mergedList

Definition at line 269 of file mergeDetections.py.

◆ runDataRef()

def lsst.pipe.tasks.mergeDetections.MergeDetectionsTask.runDataRef (   self,
  patchRefList 
)

Definition at line 238 of file mergeDetections.py.

◆ write()

def lsst.pipe.tasks.mergeDetections.MergeDetectionsTask.write (   self,
  patchRef,
  catalog 
)

Write the output.

Parameters
[in]patchRefdata reference for patch
[in]catalogcatalog

We write as the dataset provided by the 'outputDataset' class variable.

Definition at line 386 of file mergeDetections.py.

◆ writeMetadata()

def lsst.pipe.tasks.mergeDetections.MergeDetectionsTask.writeMetadata (   self,
  dataRefList 
)

No metadata to write, and not sure how to write it for a list of dataRefs.

Definition at line 403 of file mergeDetections.py.

Member Data Documentation

◆ ConfigClass

lsst.pipe.tasks.mergeDetections.MergeDetectionsTask.ConfigClass = MergeDetectionsConfig
static

Definition at line 193 of file mergeDetections.py.

◆ inputDataset

string lsst.pipe.tasks.mergeDetections.MergeDetectionsTask.inputDataset = "det"
static

Definition at line 196 of file mergeDetections.py.

◆ makeIdFactory

lsst.pipe.tasks.mergeDetections.MergeDetectionsTask.makeIdFactory = _makeMakeIdFactory("MergedCoaddId")
static

Definition at line 198 of file mergeDetections.py.

◆ merged

lsst.pipe.tasks.mergeDetections.MergeDetectionsTask.merged

Definition at line 232 of file mergeDetections.py.

◆ outputDataset

string lsst.pipe.tasks.mergeDetections.MergeDetectionsTask.outputDataset = "mergeDet"
static

Definition at line 197 of file mergeDetections.py.

◆ RunnerClass

lsst.pipe.tasks.mergeDetections.MergeDetectionsTask.RunnerClass = MergeSourcesRunner
static

Definition at line 194 of file mergeDetections.py.

◆ schema

lsst.pipe.tasks.mergeDetections.MergeDetectionsTask.schema

Definition at line 228 of file mergeDetections.py.


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