wrapSimpleAlgorithm

lsst.meas.base.wrapSimpleAlgorithm(AlgClass, executionOrder, name=None, needsMetadata=False, hasMeasureN=False, hasLogName=False, **kwds)

Expose a C++ SimpleAlgorithm class as a measurement plugin.

SimpleAlgorithms are made available as both SingleFramePlugins and ForcedPlugins.

Parameters:
AlgClass : Subclass of C++ SimpleAlgorithm, or API compatible

Algorithm class to convert. The C++ class should be wrapped with Pybind11, and must provide measure(), measureN() and fail()` signatures equivalent to ``SimpleAlgorithm.

executionOrder : float

The order this plugin should be run, relative to others (see 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.

**kwds

Additional keyword arguments are passed to the lower-level wrapAlgorithm and wrapAlgorithmControl classes.

Returns:
singleFramePlugin : subclass of SingleFramePlugin

The new single frame measurement plugin class.

forcedPlugin : subclass of ForcedPlugin

The new forced measurement plugin class.

Notes

The first three arguments to the C++ constructor are expected to be Control const & ctrl, std::string const & name, Schema & schema.

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.