|
LSST Applications g013ef56533+63812263fb,g083dd6704c+a047e97985,g199a45376c+0ba108daf9,g1fd858c14a+fde7a7a78c,g210f2d0738+db0c280453,g262e1987ae+abed931625,g29ae962dfc+058d1915d8,g2cef7863aa+aef1011c0b,g35bb328faa+8c5ae1fdc5,g3fd5ace14f+64337f1634,g47891489e3+f459a6810c,g53246c7159+8c5ae1fdc5,g54cd7ddccb+890c8e1e5d,g5a60e81ecd+d9e514a434,g64539dfbff+db0c280453,g67b6fd64d1+f459a6810c,g6ebf1fc0d4+8c5ae1fdc5,g7382096ae9+36d16ea71a,g74acd417e5+c70e70fbf6,g786e29fd12+668abc6043,g87389fa792+8856018cbb,g89139ef638+f459a6810c,g8d7436a09f+1b779678e3,g8ea07a8fe4+81eaaadc04,g90f42f885a+34c0557caf,g97be763408+9583a964dd,g98a1a72a9c+028271c396,g98df359435+530b675b85,gb8cb2b794d+4e54f68785,gbf99507273+8c5ae1fdc5,gc2a301910b+db0c280453,gca7fc764a6+f459a6810c,gd7ef33dd92+f459a6810c,gdab6d2f7ff+c70e70fbf6,ge410e46f29+f459a6810c,ge41e95a9f2+db0c280453,geaed405ab2+e3b4b2a692,gf9a733ac38+8c5ae1fdc5,w.2025.43
LSST Data Management Base Package
|
Classes | |
| class | GenericPlugin |
| class | WrappedForcedPlugin |
| class | WrappedSingleFramePlugin |
Functions | |
| wrapAlgorithmControl (Base, Control, module=None, hasMeasureN=False) | |
| wrapAlgorithm (Base, AlgClass, factory, executionOrder, name=None, Control=None, ConfigClass=None, TransformClass=None, doRegister=True, shouldApCorr=False, apCorrList=(), hasLogName=False, **kwds) | |
| wrapSingleFrameAlgorithm (AlgClass, executionOrder, name=None, needsMetadata=False, hasMeasureN=False, hasLogName=False, deprecated=None, **kwds) | |
| wrapForcedAlgorithm (AlgClass, executionOrder, name=None, needsMetadata=False, hasMeasureN=False, needsSchemaOnly=False, hasLogName=False, deprecated=None, **kwds) | |
| wrapSimpleAlgorithm (AlgClass, executionOrder, name=None, needsMetadata=False, hasMeasureN=False, hasLogName=False, deprecated=None, **kwds) | |
| wrapTransform (transformClass, hasLogName=False) | |
| lsst.meas.base.wrappers.wrapAlgorithm | ( | Base, | |
| AlgClass, | |||
| factory, | |||
| executionOrder, | |||
| name = None, | |||
| Control = None, | |||
| ConfigClass = None, | |||
| TransformClass = None, | |||
| doRegister = True, | |||
| shouldApCorr = False, | |||
| apCorrList = (), | |||
| hasLogName = False, | |||
| ** | kwds ) |
Wrap a C++ algorithm class to create a measurement plugin.
Parameters
----------
Base : `SingleFramePlugin` or `ForcedPlugin`
Base class for the returned Plugin.
AlgClass : API compatible with `SingleFrameAlgorithm` or `ForcedAlgorithm`
C++ algorithm class to convert. May either derive directly from
`SingleFrameAlgorithm` or `ForcedAlgorithm`, or be an unrelated class
which has the same ``measure`` and ``measureN`` signatures.
factory : callable
A callable that is used to construct an instance of ``AlgClass``. It
must take four arguments, either ``(config, name, schema, metadata)``
or ``(config, name, schemaMapper, metadata)``, depending on whether
the algorithm is single-frame or forced.
executionOrder : `float`
The order this plugin should be run, relative to others
(see `BasePlugin.getExecutionOrder`).
name : `str`, optional
String to use when registering the algorithm. Ignored if
``doRegistry=False``, set to ``generateAlgorithmName(AlgClass)`` if
`None`.
Control : Pybind11-wrapped version of a C++ class, optional
Pybind11-wrapped C++ Control class for the algorithm;
``AlgClass.Control`` is used if `None`. Ignored if ``ConfigClass``
is not `None`.
ConfigClass : subclass of `BaseMeasurementPluginConfig`
Python config class that wraps the C++ algorithm's pybind11-wrapped
Control class. If `None`, `wrapAlgorithmControl` is called to
generate a Config class using the ``Control`` argument.
TransformClass : subclass of `MeasurementTransform`, optional
Transformation which may be used to post-process the results of
measurement. If `None`, the default defined by `BasePlugin` is
used.
doRegister : `bool`, optional
If `True` (the default), register the plugin with ``Base``'s
registry, allowing it to be used by measurement tasks.
shouldApCorr : `bool`, optional
Does this algorithm measure an instFlux that can be aperture
corrected? This is shorthand for ``apCorrList=[name]`` and is ignored
if ``apCorrList`` is specified.
apCorrList : iterable of `str`, optional
Field name prefixes for instFlux fields to be aperture corrected. If
an algorithm measures a single instFlux that should be aperture
corrected, then it is simpler to set ``shouldApCorr=True``. However,
if an algorithm produces multiple such fields, then specify
``apCorrList`` instead. For example, ``modelfit_CModel`` produces
three such fields: ``apCorrList= ("modelfit_CModel_exp",
"modelfit_CModel_exp", "modelfit_CModel_def")`` If ``apCorrList`` is
not empty then ``shouldApCorr`` is ignored. If non-empty and
``doRegister`` is `True` then the names are added to the set
retrieved by ``getApCorrNameSet``.
hasLogName : `bool`, optional
`True` if the C++ algorithm supports ``logName`` as a constructor
argument.
**kwds
Additional keyword arguments passed to generateAlgorithmControl, which
may include:
- ``hasMeasureN``: Whether the plugin supports fitting multiple
objects at once ;if so, a config option to enable/disable this will
be added (`bool`).
- ``executionOrder``: If not `None`, an override for the default
execution order for this plugin (the default is ``2.0``, which is
usually appropriate for fluxes; `bool`).
Returns
-------
PluginClass : subclass of ``Base``
The new plugin class.
Definition at line 124 of file wrappers.py.
| lsst.meas.base.wrappers.wrapAlgorithmControl | ( | Base, | |
| Control, | |||
| module = None, | |||
| hasMeasureN = False ) |
Wrap a C++ algorithm's control class into a Python config class.
Parameters
----------
Base : `SingleFramePluginConfig` or `ForcedPluginConfig`
Base class for the returned config.
Control : pybind11-wrapped version of a C++ class.
Control class to be wrapped.
module : module, `str`, `int`, or `None`; optional
Either a module object, a string specifying the name of the module, or
an integer specifying how far back in the stack to look for the module
to use: ``0`` is `lsst.pex.config.wrap`, ``1`` is
`lsst.meas.base.wrappers`, ``2`` is the immediate caller, etc. This
will be used to set ``__module__`` for the new config class, and the
class will also be added to the module. The default is none in which
case module will be looked up from Control.
hasMeasureN : `bool`, optional
Whether the plugin supports fitting multiple objects at once (if so, a
config option to enable/disable this will be added).
Returns
-------
ConfigClass : `lsst.pex.config.Config`
A new subclass of lsst.pex.config.Config.
Notes
-----
This function is generally only called by `wrapAlgorithm`; it is unlikely
users will have to call it directly.
Definition at line 73 of file wrappers.py.
| lsst.meas.base.wrappers.wrapForcedAlgorithm | ( | AlgClass, | |
| executionOrder, | |||
| name = None, | |||
| needsMetadata = False, | |||
| hasMeasureN = False, | |||
| needsSchemaOnly = False, | |||
| hasLogName = False, | |||
| deprecated = None, | |||
| ** | 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
`~lsst.daf.base.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 `~lsst.afw.table.Schema`) rather than the
full `~lsst.afw.table.SchemaMapper` (which provides access to both the
reference schema and the output schema).
deprecated : `str`, optional
If specified, emit as a deprecation warning when the plugin is
constructed.
**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.
Definition at line 302 of file wrappers.py.
| lsst.meas.base.wrappers.wrapSimpleAlgorithm | ( | AlgClass, | |
| executionOrder, | |||
| name = None, | |||
| needsMetadata = False, | |||
| hasMeasureN = False, | |||
| hasLogName = False, | |||
| deprecated = None, | |||
| ** | kwds ) |
Expose a C++ ``SimpleAlgorithm`` class as a measurement plugin.
``SimpleAlgorithm``\ s are made available as both `SingleFramePlugin`\ s
and `ForcedPlugin`\ s.
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 `~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
`~lsst.daf.base.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.
deprecated : `str`, optional
If specified, emit as a deprecation warning when the plugin is
constructed.
**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.
Definition at line 404 of file wrappers.py.
| lsst.meas.base.wrappers.wrapSingleFrameAlgorithm | ( | AlgClass, | |
| executionOrder, | |||
| name = None, | |||
| needsMetadata = False, | |||
| hasMeasureN = False, | |||
| hasLogName = False, | |||
| deprecated = None, | |||
| ** | kwds ) |
Expose a C++ ``SingleFrameAlgorithm`` class as a measurement plugin.
Parameters
----------
AlgClass : API compatible with `SingleFrameAlgorithm`
C++ algorithm class to convert. May either derive directly from
`SingleFrameAlgorithm` 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
`~lsst.daf.base.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.
deprecated : `str`, optional
If specified, emit as a deprecation warning when the plugin is
constructed.
**kwds
Additional keyword arguments are passed to the lower-level
`wrapAlgorithm` and `wrapAlgorithmControl` classes.
Returns
-------
singleFramePlugin : subclass of `SingleFramePlugin`
The new 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.
Definition at line 220 of file wrappers.py.
| lsst.meas.base.wrappers.wrapTransform | ( | transformClass, | |
| hasLogName = False ) |
Modify a C++ transform to accept either a ``Config`` or a ``Control``.
That is, the configuration may either be provided as a (C++) ``Control``
object or an instance of a Python class derived from
`~lsst.meas.base.BasePluginConfig`.
Parameters
----------
transformClass : Subclass of C++ ``BaseTransform``
A C++ transform class, wrapped with pybind11. Its constructor must
take a ``Control`` object, a ``std::string``, and a
`~lsst.afw.table.SchemaMapper`, in that order.
hasLogName : `bool`, optional
Unused.
Definition at line 473 of file wrappers.py.