lsst.meas.modelfit  13.0-10-g4e34388+1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Pages
Public Member Functions | List of all members
lsst::meas::modelfit::MultiModel Class Reference

A concrete Model class that simply concatenates several other Models. More...

#include <MultiModel.h>

Inheritance diagram for lsst::meas::modelfit::MultiModel:
lsst::meas::modelfit::Model

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< PrioradaptPrior (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...
 
- Public Member Functions inherited from lsst::meas::modelfit::Model
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 &amplitudes, 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 &amplitudes, 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
 
Modeloperator= (const Model &)=delete
 
 Model (Model &&)=delete
 
Modeloperator= (Model &&)=delete
 

Additional Inherited Members

- Public Types inherited from lsst::meas::modelfit::Model
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 Public Member Functions inherited from lsst::meas::modelfit::Model
static boost::shared_ptr< Modelmake (BasisVector basisVector, NameVector const &prefixes, CenterEnum center)
 Construct a concrete Model instance with multiple ellipses and multishapelet bases. More...
 
static boost::shared_ptr< Modelmake (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< ModelmakeGaussian (CenterEnum center, double radius=1.0)
 Construct a concrete Model instance that represents a single elliptical Gaussian function. More...
 
- Protected Member Functions inherited from lsst::meas::modelfit::Model
 Model (BasisVector basisVector, NameVector nonlinearNames, NameVector amplitudeNames, NameVector fixedNames)
 

Detailed Description

A concrete Model class that simply concatenates several other Models.

Definition at line 34 of file MultiModel.h.

Constructor & Destructor Documentation

lsst::meas::modelfit::MultiModel::MultiModel ( ModelVector  components,
NameVector const &  prefixes 
)
explicit

Construct a new MultiModel.

Parameters
[in]componentsA vector of other Models to combine
[in]prefixesA vector of name prefixes used to construct parameter names, one for each element in components.

Member Function Documentation

boost::shared_ptr< Prior > lsst::meas::modelfit::MultiModel::adaptPrior ( boost::shared_ptr< Prior prior) const
overridevirtual

Given an arbitrary prior, return one compatible with this Model or throw LogicError.

Implements lsst::meas::modelfit::Model.

ModelVector const& lsst::meas::modelfit::MultiModel::getComponents ( ) const
inline

Return the vector of constituent models.

Definition at line 47 of file MultiModel.h.

EllipseVector lsst::meas::modelfit::MultiModel::makeEllipseVector ( ) const
overridevirtual

Return an uninitialized vector of afw::geom::ellipses::Ellipse with the parametrization expected by readEllipses() and writeEllipses().

Implements lsst::meas::modelfit::Model.

void lsst::meas::modelfit::MultiModel::readEllipses ( EllipseConstIterator  ellipseIter,
Scalar nonlinearIter,
Scalar fixedIter 
) const
overridevirtual

Convert a vector of ellipses to a set of nonlinear+fixed parameter arrays.

Parameters
[in]ellipseIterIterator to the beginning of an ellipse vector, as returned by makeEllipseVector().
[out]nonlinearIterPointer to the beginning of a nonlinear parameter array.
[out]fixedIterPointer to the beginning of a fixed parameter array.
Warning
The ellipse iterator must point to an EllipseVector originally constructed by makeEllipseVector()
Calling writeEllipses() followed by readEllipses() does not guarantee that that the parameters on output will be the same as those on input, as the parameters may be degenerate. However, calling readEllipses() followed by writeEllipses() is guaranteed to round-trip the ellipses.

Implements lsst::meas::modelfit::Model.

void lsst::meas::modelfit::MultiModel::writeEllipses ( Scalar const *  nonlinearIter,
Scalar const *  fixedIter,
EllipseIterator  ellipseIter 
) const
overridevirtual

Convert a set of nonlinear+fixed parameter arrays to a vector of ellipses.

Parameters
[in]nonlinearIterPointer to the beginning of a nonlinear parameter array.
[in]fixedIterPointer to the beginning of a fixed parameter array.
[out]ellipseIterIterator to the beginning of an ellipse vector, as returned by makeEllipseVector().
Warning
The ellipse iterator must point to an EllipseVector originally constructed by makeEllipseVector()
Calling writeEllipses() followed by readEllipses() does not guarantee that that the parameters on output will be the same as those on input, as the parameters may be degenerate. However, calling readEllipses() followed by writeEllipses() is guaranteed to round-trip the ellipses.

Implements lsst::meas::modelfit::Model.


The documentation for this class was generated from the following file: