18#ifndef itkVariableSizeMatrix_h
19#define itkVariableSizeMatrix_h
23#include "vnl/vnl_matrix_fixed.h"
24#include "vnl/algo/vnl_matrix_inverse.h"
25#include "vnl/vnl_transpose.h"
26#include "vnl/vnl_matrix.h"
138 return m_Matrix(row, col);
145 return m_Matrix(row, col);
163 inline InternalMatrixType &
170 inline const InternalMatrixType &
180 m_Matrix.set_identity();
187 m_Matrix.fill(value);
216 return vnl_matrix_inverse<T>(m_Matrix).as_matrix();
223 return m_Matrix.transpose();
235 : m_Matrix(matrix.m_Matrix)
242 return m_Matrix.rows();
249 return m_Matrix.cols();
256 return m_Matrix.set_size(r, c);
278 if ((matrix.
Rows() != this->Rows()) || (matrix.
Cols() != this->Cols()))
285 for (
unsigned int r = 0; r < this->Rows(); ++r)
287 for (
unsigned int c = 0; c < this->Cols(); ++c)
300#ifndef ITK_MANUAL_INSTANTIATION
301# include "itkVariableSizeMatrix.hxx"
Pixel-wise addition of two images.
Array class with size defined at construction time.
A templated class holding a M x N size Matrix.
void operator*=(const vnl_matrix< T > &matrix)
const Self & operator+=(const Self &matrix)
bool operator==(const Self &matrix) const
vnl_matrix< T > GetTranspose() const
Array< T > operator*(const Array< T > &vect) const
bool SetSize(unsigned int r, unsigned int c)
VariableSizeMatrix(unsigned int rows, unsigned int cols)
Self operator*(const T &value) const
vnl_matrix< T > operator*(const vnl_matrix< T > &matrix) const
void operator*=(const T &value)
InternalMatrixType m_Matrix
VariableSizeMatrix(const Self &matrix)
vnl_vector< T > operator*(const vnl_vector< T > &vc) const
vnl_matrix< T > InternalMatrixType
Self operator*(const Self &matrix) const
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(Self)
const Self & operator-=(const Self &matrix)
void operator/=(const T &value)
unsigned int Cols() const
Self operator/(const T &value) const
Self operator+(const Self &matrix) const
Self & operator=(const Self &matrix)
T & operator()(unsigned int row, unsigned int col)
const T & operator()(unsigned int row, unsigned int col) const
const InternalMatrixType & GetVnlMatrix() const
vnl_matrix< T > GetInverse() const
void operator*=(const Self &matrix)
Self & operator=(const vnl_matrix< T > &matrix)
const T * operator[](unsigned int i) const
unsigned int Rows() const
T * operator[](unsigned int i)
InternalMatrixType & GetVnlMatrix()
Self operator-(const Self &matrix) const
void Fill(const T &value)
bool NotExactlyEquals(const TInput1 &x1, const TInput2 &x2)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
ITKCommon_EXPORT std::ostream & operator<<(std::ostream &out, typename AnatomicalOrientation::CoordinateEnum value)