24__all__ = (
"CModelStageConfig",
"CModelConfig")
26from .cmodel
import CModelStageControl, CModelControl, CModelAlgorithm
32CModelStageConfig = makeConfigClass(CModelStageControl)
33CModelConfig = makeConfigClass(CModelControl)
35apCorrList = (
"modelfit_CModel",
"modelfit_CModel_initial",
"modelfit_CModel_exp",
"modelfit_CModel_dev")
41 lsst.meas.base.SingleFramePluginConfig.setDefaults(self)
42 CModelConfig.setDefaults(self)
45@lsst.meas.base.register("modelfit_CModel", apCorrList=apCorrList)
47 """Single-frame measurement interface for CModelAlgorithm.
49 This class simply provides
__init__ and
measure methods that matched the SingleFramePlugin signatures
50 and delegate to the CModelAlgorithm
's methods.
52 ConfigClass = CModelSingleFrameConfig
58 def __init__(self, config, name, schema, metadata):
59 lsst.meas.base.SingleFramePlugin.__init__(self, config, name, schema, metadata)
60 self.
algorithm = CModelAlgorithm(name, config.makeControl(), schema)
65 def fail(self, measRecord, error=None):
66 self.
algorithm.
fail(measRecord, error.cpp
if error
is not None else None)
72 lsst.meas.base.ForcedPluginConfig.setDefaults(self)
73 CModelConfig.setDefaults(self)
76@lsst.meas.base.register("modelfit_CModel", apCorrList=apCorrList)
78 """Forced measurement interface for CModelAlgorithm
80 This class simply provides
__init__ and
measure methods that matched the ForcedPlugin signatures
81 and delegate to CModelAlgorithm implementations.
83 The CModel algorithm currently cannot be run
in forced mode when the measurement WCS
is different
84 from the reference WCS (
as is the case
in CCD forced photometry). This
is a temporary limitation
85 that will be addressed on DM-5405.
87 CModel forced measurement when the measurement image
is the same
as the reference image should be
88 almost -- but
not quite -- identical to unforced measurement. The primary difference
is that
89 the final fit region
from the reference measurement will be used
for the initial fit
in forced mode
90 as well
as the exp, dev,
and combined exp+dev fits
92 ConfigClass = CModelForcedConfig
98 def __init__(self, config, name, schemaMapper, metadata):
99 lsst.meas.base.ForcedPlugin.__init__(self, config, name, schemaMapper, metadata)
100 self.
algorithm = CModelAlgorithm(name, config.makeControl(), schemaMapper)
102 def measure(self, measRecord, exposure, refRecord, refWcs):
103 if refWcs != exposure.getWcs():
105 "CModel forced measurement currently requires the measurement image to have the same"
106 " Wcs as the reference catalog (this is a temporary limitation)."
110 def fail(self, measRecord, error=None):
111 self.
algorithm.
fail(measRecord, error.cpp
if error
is not None else None)
def fail(self, measRecord, error=None)
def measure(self, measRecord, exposure, refRecord, refWcs)
def __init__(self, config, name, schemaMapper, metadata)
def fail(self, measRecord, error=None)
def __init__(self, config, name, schema, metadata)
def measure(self, measRecord, exposure)
makeConfigClass CModelConfig