wrapForcedAlgorithm¶
- lsst.meas.base.wrapForcedAlgorithm(AlgClass, executionOrder, name=None, needsMetadata=False, hasMeasureN=False, needsSchemaOnly=False, hasLogName=False, **kwds)¶
Expose a C++
ForcedAlgorithm
class as a measurement plugin.- Parameters:
- AlgClassAPI compatible with
ForcedAlgorithm
C++ algorithm class to convert. May either derive directly from
ForcedAlgorithm
or be an unrelated class which has the samemeasure
,measureN
andfail
signatures.- executionOrder
float
The order this plugin should be run, relative to others (see
BasePlugin.getExecutionOrder
).- name
str
, optional Name to use when registering the algorithm. Ignored if
doRegistry=False
; set togenerateAlgorithmName(AlgClass)
ifNone
.- needsMetadata
bool
, optional Sets whether the
AlgClass
’s constructor should be passed aPropertySet
metadata argument.- hasMeasureN
bool
, optional Does the algorithm support simultaneous measurement of multiple sources? If
True
, abool
doMeasureN
field will be added to the generated config class, and its value will be passed as the last argument when calling theAlgClass
constructor.- hasLogName
bool
, optional True
if the C++ algorithm supportslogName
as a constructor argument.- needsSchemaOnly
bool
, optional Whether the algorithm constructor expects a Schema argument (representing the output
Schema
) rather than the fullSchemaMapper
(which provides access to both the reference schema and the output schema).- **kwds
Additional keyword arguments are passed to the lower-level
wrapAlgorithm
andwrapAlgorithmControl
classes.
- AlgClassAPI compatible with
- Returns:
- forcedPluginsubclass of
ForcedPlugin
The new measurement plugin class.
- forcedPluginsubclass of
Notes
The first two arguments to the C++ constructor are expected to be
Control const & ctrl, std::string const & name
If
needsSchemaOnly
isTrue
, then the third argument will beSchema & schema
; otherwise, it will beSchemaMapper & schemaMapper
.If
needsMetadata
isTrue
, we also appendPropertySet & metadata
.If
hasMeasureN
isTrue
, we also appendbool doMeasureN
.If
hasLogName
isTrue
, we also appendstd::string logName
.If more than one of the above is
True
, the metadataPropertySet
precedes thedoMeasureN
bool
and thelogName
comes last of the three.