Template Class MatrixBuilder¶
Defined in File MatrixBuilder.h
Class Documentation¶
-
template<typename
T>
classMatrixBuilder¶ Class that evaluates a (multi-)shapelet basis at predefined points.
The output “matrix” has pixels along the rows, and basis elements along columns; this is the design matrix involved in a linear least squares fit for the basis coefficients.
A MatrixBuilder can be constructed in two ways: via one of its own constructors, or via a MatrixBuilderFactory. Using the latter allows the workspace arrays used by the MatrixBuilder to be shared between instances. See MatrixBuilderFactory and MatrixBuilderWorkspace for more information.
Public Types
-
typedef MatrixBuilderFactory<T>
Factory¶ Factory type associated with this builder.
-
typedef MatrixBuilderWorkspace<T>
Workspace¶ Workspace type associated with this builder.
Public Functions
-
MatrixBuilder(ndarray::Array<T const, 1, 1> const &x, ndarray::Array<T const, 1, 1> const &y, int order)¶ Create a MatrixBuilder that evaluates a simple non-compound shapelet basis.
- Parameters
[in] x: column positions at which the basis should be evaluated.[in] y: row positions at which the basis should be evaluated (same size as x).[in] order: order of the shapelet basis
-
MatrixBuilder(ndarray::Array<T const, 1, 1> const &x, ndarray::Array<T const, 1, 1> const &y, int order, ShapeletFunction const &psf)¶ Create a MatrixBuilder that evaluates a simple non-compound shapelet basis after convolving it with a ShapeletFunction.
- Parameters
[in] x: column positions at which the basis should be evaluated.[in] y: row positions at which the basis should be evaluated (same size as x).[in] order: order of the shapelet basis[in] psf: function to convolve the basis with
-
MatrixBuilder(ndarray::Array<T const, 1, 1> const &x, ndarray::Array<T const, 1, 1> const &y, MultiShapeletBasis const &basis)¶ Create a MatrixBuilder that evaluates a MultiShapeletBasis object.
- Parameters
[in] x: column positions at which the basis should be evaluated.[in] y: row positions at which the basis should be evaluated (same size as x).[in] basis: basis object defining the functions the matrix evaluates
-
MatrixBuilder(ndarray::Array<T const, 1, 1> const &x, ndarray::Array<T const, 1, 1> const &y, MultiShapeletBasis const &basis, MultiShapeletFunction const &psf)¶ Create a MatrixBuilder that evaluates a MultiShapeletBasis object after convolving it with a MultiShapeletFunction.
- Parameters
[in] x: column positions at which the basis should be evaluated.[in] y: row positions at which the basis should be evaluated (same size as x).[in] basis: basis object defining the functions the matrix evaluates[in] psf: function to convolve the basis with
-
int
getDataSize() const¶ Return the number of data points.
-
int
getBasisSize() const¶ Return the number of basis elements.
-
ndarray::Array<T, 2, -2>
allocateOutput() const¶ Return a matrix appropriate for use as an output for operator().
-
void
operator()(ndarray::Array<T, 2, -1> const &output, afw::geom::ellipses::Ellipse const &ellipse) const¶ Fill an array with the model matrix.
- Parameters
[out] output: Matrix to fill, with dimensions (getDataSize(), getBasisSize()). Will be zeroed before filling.[in] ellipse: Ellipse parameters of the model, with center relative to the x and y arrays passed at construction.
-
typedef MatrixBuilderFactory<T>