Skip to content

Commit

Permalink
Update PipelineTask interface of DetectCoaddSources
Browse files Browse the repository at this point in the history
  • Loading branch information
natelust committed Jan 22, 2019
1 parent a4affb8 commit 1acc883
Showing 1 changed file with 10 additions and 29 deletions.
39 changes: 10 additions & 29 deletions python/lsst/pipe/tasks/multiBand.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,7 @@
from lsst.coadd.utils.coaddDataIdContainer import ExistingCoaddDataIdContainer
from lsst.pipe.base import (CmdLineTask, Struct, ArgumentParser, ButlerInitializedTaskRunner,
PipelineTask, PipelineTaskConfig, InitInputDatasetField,
InitOutputDatasetField, InputDatasetField, OutputDatasetField,
QuantumConfig)
InitOutputDatasetField, InputDatasetField, OutputDatasetField)
from lsst.pex.config import Config, Field, ConfigurableField
from lsst.meas.algorithms import DynamicDetectionTask, ReferenceObjectLoader
from lsst.meas.base import SingleFrameMeasurementTask, ApplyApCorrTask, CatalogCalculationTask
Expand Down Expand Up @@ -66,7 +65,7 @@

##############################################################################################################

class DetectCoaddSourcesConfig(Config):
class DetectCoaddSourcesConfig(PipelineTaskConfig):
"""!
@anchor DetectCoaddSourcesConfig_
Expand All @@ -83,43 +82,42 @@ class DetectCoaddSourcesConfig(Config):
"purposes (must be retargeted)")
detectionSchema = InitOutputDatasetField(
doc="Schema of the detection catalog",
name="{}Coadd_det_schema",
nameTemplate="{outputCoaddName}Coadd_det_schema",
storageClass="SourceCatalog",
)
exposure = InputDatasetField(
doc="Exposure on which detections are to be performed",
name="deepCoadd",
nameTemplate="{inputCoaddName}Coadd",
scalar=True,
storageClass="ExposureF",
dimensions=("Tract", "Patch", "AbstractFilter", "SkyMap")
)
outputBackgrounds = OutputDatasetField(
doc="Output Backgrounds used in detection",
name="{}Coadd_calexp_background",
nameTemplate="{outputCoaddName}Coadd_calexp_background",
scalar=True,
storageClass="Background",
dimensions=("Tract", "Patch", "AbstractFilter", "SkyMap")
)
outputSources = OutputDatasetField(
doc="Detected sources catalog",
name="{}Coadd_det",
nameTemplate="{outputCoaddName}Coadd_det",
scalar=True,
storageClass="SourceCatalog",
dimensions=("Tract", "Patch", "AbstractFilter", "SkyMap")
)
outputExposure = OutputDatasetField(
doc="Exposure post detection",
name="{}Coadd_calexp",
nameTemplate="{outputCoaddName}Coadd_calexp",
scalar=True,
storageClass="ExposureF",
dimensions=("Tract", "Patch", "AbstractFilter", "SkyMap")
)
quantum = QuantumConfig(
dimensions=("Tract", "Patch", "AbstractFilter", "SkyMap")
)

def setDefaults(self):
Config.setDefaults(self)
super().setDefaults()
self.quantum.dimensions = ("Tract", "Patch", "AbstractFilter", "SkyMap")
self.formatTemplateNames({"inputCoaddName": "deep", "outputCoaddName": "deep"})
self.detection.thresholdType = "pixel_stdev"
self.detection.isotropicGrow = True
# Coadds are made from background-subtracted CCDs, so any background subtraction should be very basic
Expand Down Expand Up @@ -240,23 +238,6 @@ def _makeArgumentParser(cls):
ContainerClass=ExistingCoaddDataIdContainer)
return parser

@classmethod
def getOutputDatasetTypes(cls, config):
coaddName = config.coaddName
for name in ("outputBackgrounds", "outputSources", "outputExposure"):
attr = getattr(config, name)
setattr(attr, "name", attr.name.format(coaddName))
outputTypeDict = super().getOutputDatasetTypes(config)
return outputTypeDict

@classmethod
def getInitOutputDatasetTypes(cls, config):
coaddName = config.coaddName
attr = config.detectionSchema
setattr(attr, "name", attr.name.format(coaddName))
output = super().getInitOutputDatasetTypes(config)
return output

def __init__(self, schema=None, **kwargs):
"""!
@brief Initialize the task. Create the @ref SourceDetectionTask_ "detection" subtask.
Expand Down

0 comments on commit 1acc883

Please sign in to comment.