ITK
6.0.0
Insight Toolkit
|
#include <itkMatrix.h>
A templated class holding a M x N size Matrix.
This class contains a vnl_matrix_fixed in order to make all the vnl mathematical methods available.
Definition at line 52 of file itkMatrix.h.
Public Types | |
using | CompatibleSquareMatrixType = Matrix< T, VColumns, VColumns > |
using | ComponentType = T |
using | const_iterator = const ValueType * |
using | const_pointer = const ValueType * |
using | const_reference = const ValueType & |
using | InternalMatrixType = vnl_matrix_fixed< T, VRows, VColumns > |
using | iterator = ValueType * |
using | pointer = ValueType * |
using | reference = ValueType & |
using | Self = Matrix |
using | ValueType = T |
Public Member Functions | |
iterator | begin () |
const_iterator | begin () const |
const_iterator | cbegin () const |
const_iterator | cend () const |
iterator | end () |
const_iterator | end () const |
void | Fill (const T &value) |
InternalMatrixType & | GetVnlMatrix () |
const InternalMatrixType & | GetVnlMatrix () const |
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION (Self) | |
Matrix ()=default | |
Matrix (const InternalMatrixType &matrix) | |
template<typename TElement > | |
Matrix (const TElement(&elements)[VRows][VColumns]) | |
Matrix (const vnl_matrix< T > &matrix) | |
T & | operator() (unsigned int row, unsigned int col) |
const T & | operator() (unsigned int row, unsigned int col) const |
Self | operator* (const CompatibleSquareMatrixType &matrix) const |
CovariantVector< T, VRows > | operator* (const CovariantVector< T, VColumns > &covect) const |
Point< T, VRows > | operator* (const Point< T, VColumns > &pnt) const |
Self | operator* (const T &value) const |
Vector< T, VRows > | operator* (const Vector< T, VColumns > &vect) const |
vnl_matrix< T > | operator* (const vnl_matrix< T > &matrix) const |
template<unsigned int OuterDim> | |
Matrix< T, VRows, OuterDim > | operator* (const vnl_matrix_fixed< T, VRows, OuterDim > &matrix) const |
vnl_vector< T > | operator* (const vnl_vector< T > &vc) const |
vnl_vector_fixed< T, VRows > | operator* (const vnl_vector_fixed< T, VColumns > &inVNLvect) const |
void | operator*= (const CompatibleSquareMatrixType &matrix) |
void | operator*= (const T &value) |
void | operator*= (const vnl_matrix< T > &matrix) |
Self | operator+ (const Self &matrix) const |
const Self & | operator+= (const Self &matrix) |
Self | operator- (const Self &matrix) const |
const Self & | operator-= (const Self &matrix) |
Self | operator/ (const T &value) const |
void | operator/= (const T &value) |
Self & | operator= (const InternalMatrixType &matrix) |
Self & | operator= (const vnl_matrix< T > &matrix) |
bool | operator== (const Self &matrix) const |
T * | operator[] (unsigned int i) |
const T * | operator[] (unsigned int i) const |
void | PrintSelf (std::ostream &os, Indent indent) const |
void | SetIdentity () |
constexpr unsigned int | size () const |
void | swap (Self &other) noexcept |
vnl_matrix_fixed< T, VColumns, VRows > | GetInverse () const |
vnl_matrix_fixed< T, VColumns, VRows > | GetTranspose () const |
Static Public Member Functions | |
static Self | GetIdentity () |
Static Public Attributes | |
static constexpr unsigned int | ColumnDimensions = VColumns |
static constexpr unsigned int | RowDimensions = VRows |
Private Attributes | |
InternalMatrixType | m_Matrix {} |
using itk::Matrix< T, VRows, VColumns >::CompatibleSquareMatrixType = Matrix<T, VColumns, VColumns> |
Compatible square matrix. This is currently used by operator* to help with wrapping.
Definition at line 90 of file itkMatrix.h.
using itk::Matrix< T, VRows, VColumns >::ComponentType = T |
Definition at line 60 of file itkMatrix.h.
using itk::Matrix< T, VRows, VColumns >::const_iterator = const ValueType * |
using itk::Matrix< T, VRows, VColumns >::const_pointer = const ValueType * |
A const pointer to the ValueType.
Definition at line 66 of file itkMatrix.h.
using itk::Matrix< T, VRows, VColumns >::const_reference = const ValueType & |
A const reference to the ValueType.
Definition at line 72 of file itkMatrix.h.
using itk::Matrix< T, VRows, VColumns >::InternalMatrixType = vnl_matrix_fixed<T, VRows, VColumns> |
Internal matrix type
Definition at line 85 of file itkMatrix.h.
using itk::Matrix< T, VRows, VColumns >::iterator = ValueType * |
The return type of the non-const overloads of begin() and end().
Definition at line 75 of file itkMatrix.h.
using itk::Matrix< T, VRows, VColumns >::pointer = ValueType * |
A pointer to the ValueType.
Definition at line 63 of file itkMatrix.h.
using itk::Matrix< T, VRows, VColumns >::reference = ValueType & |
A reference to the ValueType.
Definition at line 69 of file itkMatrix.h.
using itk::Matrix< T, VRows, VColumns >::Self = Matrix |
Standard class type aliases.
Definition at line 56 of file itkMatrix.h.
using itk::Matrix< T, VRows, VColumns >::ValueType = T |
Component value type
Definition at line 59 of file itkMatrix.h.
|
inlineexplicit |
Explicit constructor. Copies the elements from the specified vnl_matrix
(assuming it has the same dimensions).
Definition at line 260 of file itkMatrix.h.
|
inlineexplicit |
Explicit constructor template. Copies the elements from the specified C-style array of rows.
Matrix(const T (&)[VRows][VColumns])
constructor, but SWIG did not like that, saying: "Wrapping/Typedefs/itkMatrix.i:76: Error: Syntax error in input(3)." Definition at line 269 of file itkMatrix.h.
|
inline |
Converting constructor (implicit).
Definition at line 307 of file itkMatrix.h.
|
default |
Defaulted default-constructor. Zero-initializes all of its elements.
|
inline |
Returns an iterator to the first element.
Definition at line 348 of file itkMatrix.h.
|
inline |
Returns a const iterator to the first element.
Definition at line 362 of file itkMatrix.h.
|
inline |
Returns a const iterator to the first element.
Definition at line 376 of file itkMatrix.h.
|
inline |
Returns a const iterator just beyond the last element.
Definition at line 383 of file itkMatrix.h.
|
inline |
Returns an iterator just beyond the last element.
Definition at line 355 of file itkMatrix.h.
|
inline |
Returns a const iterator just beyond the last element.
Definition at line 369 of file itkMatrix.h.
|
inline |
Fill the matrix with a value.
Definition at line 245 of file itkMatrix.h.
|
inlinestatic |
Get an identity matrix.
Definition at line 235 of file itkMatrix.h.
|
inline |
Return the inverse matrix.
Definition at line 313 of file itkMatrix.h.
|
inline |
Return the transposed matrix.
Definition at line 326 of file itkMatrix.h.
|
inline |
Return the matrix.
Definition at line 214 of file itkMatrix.h.
Referenced by itk::OpenCVBasicTypeBridge< itk::Matrix< T, VRows, VColumns >, cv::Matx< T, VRows, VColumns > >::FromITKToOpenCV(), itk::detail::GetPointerToMatrixData(), and itk::operator<<().
|
inline |
Return the matrix.
Definition at line 221 of file itkMatrix.h.
itk::Matrix< T, VRows, VColumns >::ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION | ( | Self | ) |
|
inline |
Return an element of the matrix.
Definition at line 186 of file itkMatrix.h.
|
inline |
Return an element of the matrix.
Definition at line 193 of file itkMatrix.h.
Self itk::Matrix< T, VRows, VColumns >::operator* | ( | const CompatibleSquareMatrixType & | matrix | ) | const |
CovariantVector<T, VRows> itk::Matrix< T, VRows, VColumns >::operator* | ( | const CovariantVector< T, VColumns > & | covect | ) | const |
Matrix by CovariantVector multiplication.
Point<T, VRows> itk::Matrix< T, VRows, VColumns >::operator* | ( | const Point< T, VColumns > & | pnt | ) | const |
|
inline |
Matrix by scalar multiplication.
Definition at line 159 of file itkMatrix.h.
Vector<T, VRows> itk::Matrix< T, VRows, VColumns >::operator* | ( | const Vector< T, VColumns > & | vect | ) | const |
vnl_matrix<T> itk::Matrix< T, VRows, VColumns >::operator* | ( | const vnl_matrix< T > & | matrix | ) | const |
Matrix by vnl_matrix multiplication.
|
inline |
Definition at line 114 of file itkMatrix.h.
vnl_vector<T> itk::Matrix< T, VRows, VColumns >::operator* | ( | const vnl_vector< T > & | vc | ) | const |
Matrix by vnl_vector multiplication.
vnl_vector_fixed<T, VRows> itk::Matrix< T, VRows, VColumns >::operator* | ( | const vnl_vector_fixed< T, VColumns > & | inVNLvect | ) | const |
Matrix by vnl_vector_fixed multiplication.
void itk::Matrix< T, VRows, VColumns >::operator*= | ( | const CompatibleSquareMatrixType & | matrix | ) |
|
inline |
Matrix by scalar multiplication.
Definition at line 152 of file itkMatrix.h.
void itk::Matrix< T, VRows, VColumns >::operator*= | ( | const vnl_matrix< T > & | matrix | ) |
Matrix by vnl_matrix multiplication.
Self itk::Matrix< T, VRows, VColumns >::operator+ | ( | const Self & | matrix | ) | const |
Matrix addition.
const Self& itk::Matrix< T, VRows, VColumns >::operator+= | ( | const Self & | matrix | ) |
Self itk::Matrix< T, VRows, VColumns >::operator- | ( | const Self & | matrix | ) | const |
Matrix addition.
const Self& itk::Matrix< T, VRows, VColumns >::operator-= | ( | const Self & | matrix | ) |
|
inline |
Matrix by scalar division.
Definition at line 176 of file itkMatrix.h.
|
inline |
Matrix by scalar division.
Definition at line 169 of file itkMatrix.h.
|
inline |
Definition at line 300 of file itkMatrix.h.
|
inline |
Assignment operator.
Definition at line 252 of file itkMatrix.h.
|
inline |
Comparison operators.
Definition at line 278 of file itkMatrix.h.
|
inline |
Return a row of the matrix.
Definition at line 200 of file itkMatrix.h.
|
inline |
Return a row of the matrix.
Definition at line 207 of file itkMatrix.h.
|
inline |
Definition at line 397 of file itkMatrix.h.
|
inline |
Set the matrix to identity.
Definition at line 228 of file itkMatrix.h.
Referenced by itk::IOTestHelper::SetIdentityDirection().
|
inlineconstexpr |
Returns the number of elements.
Definition at line 341 of file itkMatrix.h.
|
inlinenoexcept |
Definition at line 389 of file itkMatrix.h.
|
staticconstexpr |
Definition at line 82 of file itkMatrix.h.
|
private |
Definition at line 412 of file itkMatrix.h.
Referenced by itk::Matrix< double, Self::ImageDimension, Self::ImageDimension >::operator==().
|
staticconstexpr |
Number Of Columns and Rows.
Definition at line 81 of file itkMatrix.h.