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: - AlgClass : API 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.
Returns: - forcedPlugin : subclass of
ForcedPlugin
The new measurement plugin class.
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.- AlgClass : API compatible with