lsst.meas.modelfit
13.0-9-g2ccb577+8
|
A concrete Model class that simply concatenates several other Models. More...
#include <MultiModel.h>
Public Member Functions | |
MultiModel (ModelVector components, NameVector const &prefixes) | |
Construct a new MultiModel. More... | |
ModelVector const & | getComponents () const |
Return the vector of constituent models. More... | |
boost::shared_ptr< Prior > | adaptPrior (boost::shared_ptr< Prior > prior) const override |
Given an arbitrary prior, return one compatible with this Model or throw LogicError. More... | |
EllipseVector | makeEllipseVector () const override |
Return an uninitialized vector of afw::geom::ellipses::Ellipse with the parametrization expected by readEllipses() and writeEllipses(). More... | |
void | writeEllipses (Scalar const *nonlinearIter, Scalar const *fixedIter, EllipseIterator ellipseIter) const override |
Convert a set of nonlinear+fixed parameter arrays to a vector of ellipses. More... | |
void | readEllipses (EllipseConstIterator ellipseIter, Scalar *nonlinearIter, Scalar *fixedIter) const override |
Convert a vector of ellipses to a set of nonlinear+fixed parameter arrays. More... | |
![]() | |
int | getNonlinearDim () const |
Return the number of free nonlinear parameters. More... | |
int | getAmplitudeDim () const |
Return the number of linear parameters. More... | |
int | getFixedDim () const |
Return the number of fixed nonlinear parameters. More... | |
int | getBasisCount () const |
Return the number of MultiShapeletBasis objects (equivalently, the number of ellipses) More... | |
NameVector const & | getNonlinearNames () const |
Return the names of the free nonlinear parameters. More... | |
NameVector const & | getAmplitudeNames () const |
Return the names of the amplitude parameters. More... | |
NameVector const & | getFixedNames () const |
Return the names of the fixed nonlinear parameters. More... | |
BasisVector const & | getBasisVector () const |
Return the MultiShapeletBasis objects that comprise the Model. More... | |
shapelet::MultiShapeletFunction | makeShapeletFunction (ndarray::Array< Scalar const, 1, 1 > const &nonlinear, ndarray::Array< Scalar const, 1, 1 > const &litudes, ndarray::Array< Scalar const, 1, 1 > const &fixed) const |
Create a MultiShapeletFunction object from a set of parameter vectors. More... | |
EllipseVector | writeEllipses (ndarray::Array< Scalar const, 1, 1 > const &nonlinear, ndarray::Array< Scalar const, 1, 1 > const &fixed) const |
Convert a set of nonlinear+fixed parameter arrays to a vector of ellipses. More... | |
void | readEllipses (EllipseVector const &ellipses, ndarray::Array< Scalar, 1, 1 > const &nonlinear, ndarray::Array< Scalar, 1, 1 > const &fixed) const |
Convert a vector of ellipses to a set of nonlinear+fixed parameter arrays. More... | |
virtual void | transformParameters (LocalUnitTransform const &transform, ndarray::Array< Scalar, 1, 1 > const &nonlinear, ndarray::Array< Scalar, 1, 1 > const &litudes, ndarray::Array< Scalar, 1, 1 > const &fixed) const |
Transform (in-place) parameter vectors from one unit system to another. More... | |
virtual | ~Model () |
Model (const Model &)=delete | |
Model & | operator= (const Model &)=delete |
Model (Model &&)=delete | |
Model & | operator= (Model &&)=delete |
Additional Inherited Members | |
![]() | |
enum | CenterEnum { FIXED_CENTER = 0x0, SINGLE_CENTER = 0x1, MULTI_CENTER = 0x2 } |
typedef std::vector< std::string > | NameVector |
typedef std::vector < boost::shared_ptr < shapelet::MultiShapeletBasis > > | BasisVector |
typedef std::vector < afw::geom::ellipses::Ellipse > | EllipseVector |
typedef std::vector < afw::geom::ellipses::Ellipse > ::iterator | EllipseIterator |
typedef std::vector < afw::geom::ellipses::Ellipse > ::const_iterator | EllipseConstIterator |
![]() | |
static boost::shared_ptr< Model > | make (BasisVector basisVector, NameVector const &prefixes, CenterEnum center) |
Construct a concrete Model instance with multiple ellipses and multishapelet bases. More... | |
static boost::shared_ptr< Model > | make (boost::shared_ptr< shapelet::MultiShapeletBasis > basis, CenterEnum center) |
Construct a concrete Model instance with a single ellipse and multishapelet basis. More... | |
static boost::shared_ptr< Model > | makeGaussian (CenterEnum center, double radius=1.0) |
Construct a concrete Model instance that represents a single elliptical Gaussian function. More... | |
![]() | |
Model (BasisVector basisVector, NameVector nonlinearNames, NameVector amplitudeNames, NameVector fixedNames) | |
A concrete Model class that simply concatenates several other Models.
Definition at line 34 of file MultiModel.h.
|
explicit |
Construct a new MultiModel.
[in] | components | A vector of other Models to combine |
[in] | prefixes | A vector of name prefixes used to construct parameter names, one for each element in components. |
|
overridevirtual |
Given an arbitrary prior, return one compatible with this Model or throw LogicError.
Implements lsst::meas::modelfit::Model.
|
inline |
Return the vector of constituent models.
Definition at line 47 of file MultiModel.h.
|
overridevirtual |
Return an uninitialized vector of afw::geom::ellipses::Ellipse with the parametrization expected by readEllipses() and writeEllipses().
Implements lsst::meas::modelfit::Model.
|
overridevirtual |
Convert a vector of ellipses to a set of nonlinear+fixed parameter arrays.
[in] | ellipseIter | Iterator to the beginning of an ellipse vector, as returned by makeEllipseVector(). |
[out] | nonlinearIter | Pointer to the beginning of a nonlinear parameter array. |
[out] | fixedIter | Pointer to the beginning of a fixed parameter array. |
Implements lsst::meas::modelfit::Model.
|
overridevirtual |
Convert a set of nonlinear+fixed parameter arrays to a vector of ellipses.
[in] | nonlinearIter | Pointer to the beginning of a nonlinear parameter array. |
[in] | fixedIter | Pointer to the beginning of a fixed parameter array. |
[out] | ellipseIter | Iterator to the beginning of an ellipse vector, as returned by makeEllipseVector(). |
Implements lsst::meas::modelfit::Model.