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 same measure, measureN and fail 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 to generateAlgorithmName(AlgClass) if None.

needsMetadata : bool, optional

Sets whether the AlgClass’s constructor should be passed a PropertySet metadata argument.

hasMeasureN : bool, optional

Does the algorithm support simultaneous measurement of multiple sources? If True, a bool doMeasureN field will be added to the generated config class, and its value will be passed as the last argument when calling the AlgClass constructor.

hasLogName : bool, optional

True if the C++ algorithm supports logName as a constructor argument.

needsSchemaOnly : bool, optional

Whether the algorithm constructor expects a Schema argument (representing the output Schema) rather than the full SchemaMapper (which provides access to both the reference schema and the output schema).

**kwds

Additional keyword arguments are passed to the lower-level wrapAlgorithm and wrapAlgorithmControl 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 is True, then the third argument will be Schema & schema; otherwise, it will be SchemaMapper & schemaMapper.

If needsMetadata is True, we also append PropertySet & metadata.

If hasMeasureN is True, we also append bool doMeasureN.

If hasLogName is True, we also append std::string logName.

If more than one of the above is True, the metadata PropertySet precedes the doMeasureN bool and the logName comes last of the three.