ITK  6.0.0
Insight Toolkit
Public Types | Public Member Functions | Private Attributes | List of all members
itk::VariableSizeMatrix< T > Class Template Reference

#include <itkVariableSizeMatrix.h>

Detailed Description

template<typename T>
class itk::VariableSizeMatrix< T >

A templated class holding a M x N size Matrix.

This class contains a vnl_matrix in order to make all the vnl mathematical methods available. This class is meant to be used when the matrix length cannot be determined at compile time.

Definition at line 45 of file itkVariableSizeMatrix.h.

Public Types

using ComponentType = T
 
using InternalMatrixType = vnl_matrix< T >
 
using Self = VariableSizeMatrix
 
using ValueType = T
 

Public Member Functions

unsigned int Cols () const
 
void Fill (const T &value)
 
vnl_matrix< T > GetInverse () const
 
vnl_matrix< T > GetTranspose () const
 
InternalMatrixTypeGetVnlMatrix ()
 
const InternalMatrixTypeGetVnlMatrix () const
 
 ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION (Self)
 
T & operator() (unsigned int row, unsigned int col)
 
const T & operator() (unsigned int row, unsigned int col) const
 
Array< T > operator* (const Array< T > &vect) const
 
Self operator* (const Self &matrix) const
 
Self operator* (const T &value) const
 
vnl_matrix< T > operator* (const vnl_matrix< T > &matrix) const
 
vnl_vector< T > operator* (const vnl_vector< T > &vc) const
 
void operator*= (const Self &matrix)
 
void operator*= (const T &value)
 
void operator*= (const vnl_matrix< T > &matrix)
 
Self operator+ (const Self &matrix) const
 
const Selfoperator+= (const Self &matrix)
 
Selfoperator- ()
 
Self operator- (const Self &matrix) const
 
const Selfoperator-= (const Self &matrix)
 
Self operator/ (const T &value) const
 
void operator/= (const T &value)
 
Selfoperator= (const Self &matrix)
 
Selfoperator= (const vnl_matrix< T > &matrix)
 
T * operator[] (unsigned int i)
 
const T * operator[] (unsigned int i) const
 
unsigned int Rows () const
 
void SetIdentity ()
 
bool SetSize (unsigned int r, unsigned int c)
 
 VariableSizeMatrix ()
 
 VariableSizeMatrix (const Self &matrix)
 
 VariableSizeMatrix (unsigned int rows, unsigned int cols)
 
bool operator== (const Self &matrix) const
 

Private Attributes

InternalMatrixType m_Matrix
 

Member Typedef Documentation

◆ ComponentType

template<typename T >
using itk::VariableSizeMatrix< T >::ComponentType = T

Definition at line 53 of file itkVariableSizeMatrix.h.

◆ InternalMatrixType

template<typename T >
using itk::VariableSizeMatrix< T >::InternalMatrixType = vnl_matrix<T>

Internal matrix type

Definition at line 56 of file itkVariableSizeMatrix.h.

◆ Self

template<typename T >
using itk::VariableSizeMatrix< T >::Self = VariableSizeMatrix

Standard class type aliases.

Definition at line 49 of file itkVariableSizeMatrix.h.

◆ ValueType

template<typename T >
using itk::VariableSizeMatrix< T >::ValueType = T

Component value type

Definition at line 52 of file itkVariableSizeMatrix.h.

Constructor & Destructor Documentation

◆ VariableSizeMatrix() [1/3]

template<typename T >
itk::VariableSizeMatrix< T >::VariableSizeMatrix ( )
inline

Default constructor.

Definition at line 214 of file itkVariableSizeMatrix.h.

◆ VariableSizeMatrix() [2/3]

template<typename T >
itk::VariableSizeMatrix< T >::VariableSizeMatrix ( unsigned int  rows,
unsigned int  cols 
)

◆ VariableSizeMatrix() [3/3]

template<typename T >
itk::VariableSizeMatrix< T >::VariableSizeMatrix ( const Self matrix)
inline

Copy constructor.

Definition at line 221 of file itkVariableSizeMatrix.h.

Member Function Documentation

◆ Cols()

template<typename T >
unsigned int itk::VariableSizeMatrix< T >::Cols ( ) const
inline

◆ Fill()

template<typename T >
void itk::VariableSizeMatrix< T >::Fill ( const T &  value)
inline

Fill the matrix with a value.

Definition at line 172 of file itkVariableSizeMatrix.h.

◆ GetInverse()

template<typename T >
vnl_matrix< T > itk::VariableSizeMatrix< T >::GetInverse ( ) const
inline

Return the inverse matrix.

Definition at line 201 of file itkVariableSizeMatrix.h.

◆ GetTranspose()

template<typename T >
vnl_matrix< T > itk::VariableSizeMatrix< T >::GetTranspose ( ) const
inline

Return the transposed matrix.

Definition at line 208 of file itkVariableSizeMatrix.h.

◆ GetVnlMatrix() [1/2]

template<typename T >
InternalMatrixType & itk::VariableSizeMatrix< T >::GetVnlMatrix ( )
inline

Return the matrix.

Definition at line 151 of file itkVariableSizeMatrix.h.

Referenced by itk::operator<<().

◆ GetVnlMatrix() [2/2]

template<typename T >
const InternalMatrixType & itk::VariableSizeMatrix< T >::GetVnlMatrix ( ) const
inline

Return the matrix.

Definition at line 158 of file itkVariableSizeMatrix.h.

◆ ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION()

template<typename T >
itk::VariableSizeMatrix< T >::ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION ( Self  )

◆ operator()() [1/2]

template<typename T >
T & itk::VariableSizeMatrix< T >::operator() ( unsigned int  row,
unsigned int  col 
)
inline

Return an element of the matrix.

Definition at line 131 of file itkVariableSizeMatrix.h.

◆ operator()() [2/2]

template<typename T >
const T & itk::VariableSizeMatrix< T >::operator() ( unsigned int  row,
unsigned int  col 
) const
inline

Return an element of the matrix.

Definition at line 138 of file itkVariableSizeMatrix.h.

◆ operator*() [1/5]

template<typename T >
Array< T > itk::VariableSizeMatrix< T >::operator* ( const Array< T > &  vect) const

Matrix by Vector multiplication.

◆ operator*() [2/5]

template<typename T >
Self itk::VariableSizeMatrix< T >::operator* ( const Self matrix) const

Matrix by Matrix multiplication.

◆ operator*() [3/5]

template<typename T >
Self itk::VariableSizeMatrix< T >::operator* ( const T &  value) const
inline

Matrix by scalar multiplication.

Definition at line 104 of file itkVariableSizeMatrix.h.

◆ operator*() [4/5]

template<typename T >
vnl_matrix< T > itk::VariableSizeMatrix< T >::operator* ( const vnl_matrix< T > &  matrix) const

Matrix by vnl_matrix multiplication.

◆ operator*() [5/5]

template<typename T >
vnl_vector< T > itk::VariableSizeMatrix< T >::operator* ( const vnl_vector< T > &  vc) const

Matrix by vnl_vector multiplication.

◆ operator*=() [1/3]

template<typename T >
void itk::VariableSizeMatrix< T >::operator*= ( const Self matrix)

Matrix by Matrix multiplication.

◆ operator*=() [2/3]

template<typename T >
void itk::VariableSizeMatrix< T >::operator*= ( const T &  value)
inline

Matrix by scalar multiplication.

Definition at line 98 of file itkVariableSizeMatrix.h.

◆ operator*=() [3/3]

template<typename T >
void itk::VariableSizeMatrix< T >::operator*= ( const vnl_matrix< T > &  matrix)

Matrix by vnl_matrix multiplication.

◆ operator+()

template<typename T >
Self itk::VariableSizeMatrix< T >::operator+ ( const Self matrix) const

Matrix addition.

◆ operator+=()

template<typename T >
const Self & itk::VariableSizeMatrix< T >::operator+= ( const Self matrix)

◆ operator-() [1/2]

template<typename T >
Self & itk::VariableSizeMatrix< T >::operator- ( )

negation operator

◆ operator-() [2/2]

template<typename T >
Self itk::VariableSizeMatrix< T >::operator- ( const Self matrix) const

Matrix addition.

◆ operator-=()

template<typename T >
const Self & itk::VariableSizeMatrix< T >::operator-= ( const Self matrix)

◆ operator/()

template<typename T >
Self itk::VariableSizeMatrix< T >::operator/ ( const T &  value) const
inline

Matrix by scalar division.

Definition at line 121 of file itkVariableSizeMatrix.h.

◆ operator/=()

template<typename T >
void itk::VariableSizeMatrix< T >::operator/= ( const T &  value)
inline

Matrix by scalar division.

Definition at line 114 of file itkVariableSizeMatrix.h.

◆ operator=() [1/2]

template<typename T >
Self & itk::VariableSizeMatrix< T >::operator= ( const Self matrix)
inline

Assignment operator.

Definition at line 193 of file itkVariableSizeMatrix.h.

References itk::VariableSizeMatrix< T >::m_Matrix.

◆ operator=() [2/2]

template<typename T >
Self & itk::VariableSizeMatrix< T >::operator= ( const vnl_matrix< T > &  matrix)
inline

Assignment operator.

Definition at line 179 of file itkVariableSizeMatrix.h.

◆ operator==()

template<typename T >
bool itk::VariableSizeMatrix< T >::operator== ( const Self matrix) const
inline

◆ operator[]() [1/2]

template<typename T >
T * itk::VariableSizeMatrix< T >::operator[] ( unsigned int  i)
inline

Return a row of the matrix.

Definition at line 144 of file itkVariableSizeMatrix.h.

◆ operator[]() [2/2]

template<typename T >
const T * itk::VariableSizeMatrix< T >::operator[] ( unsigned int  i) const
inline

Return a row of the matrix.

Definition at line 147 of file itkVariableSizeMatrix.h.

◆ Rows()

template<typename T >
unsigned int itk::VariableSizeMatrix< T >::Rows ( ) const
inline

◆ SetIdentity()

template<typename T >
void itk::VariableSizeMatrix< T >::SetIdentity ( )
inline

Set the matrix to identity.

Definition at line 165 of file itkVariableSizeMatrix.h.

◆ SetSize()

template<typename T >
bool itk::VariableSizeMatrix< T >::SetSize ( unsigned int  r,
unsigned int  c 
)
inline

Set the matrix size. Old data lost. Returns true if size changed.

Definition at line 241 of file itkVariableSizeMatrix.h.

Member Data Documentation

◆ m_Matrix

template<typename T >
InternalMatrixType itk::VariableSizeMatrix< T >::m_Matrix
private

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