23 #include "vnl/vnl_matrix_fixed.txx"
24 #include "vnl/vnl_transpose.h"
25 #include "vnl/algo/vnl_matrix_inverse.h"
26 #include "vnl/vnl_matrix.h"
27 #include "vnl/algo/vnl_determinant.h"
45 template<
class T,
unsigned int NRows = 3,
unsigned int NColumns = 3 >
93 vnl_matrix< T >
operator *(
const vnl_matrix< T > & matrix)
const;
99 void operator*=(
const vnl_matrix< T > & matrix);
102 vnl_vector< T >
operator *(
const vnl_vector< T > & matrix)
const;
139 inline const T &
operator()(
unsigned int row,
unsigned int col)
const
175 inline void Fill(
const T & value)
188 inline Matrix(
const vnl_matrix< T > & matrix)
198 for (
unsigned int r = 0; r < NRows; r++ )
200 for (
unsigned int c = 0; c < NColumns; c++ )
237 inline vnl_matrix_fixed< T, NColumns, NRows >
GetInverse(
void)
const
239 if ( vnl_determinant(
m_Matrix) == 0.0 )
241 itkGenericExceptionMacro(<<
"Singular matrix. Determinant is 0.");
243 vnl_matrix< T > temp = vnl_matrix_inverse< T >(
m_Matrix);
264 template<
class T,
unsigned int NRows,
unsigned int NColumns >
265 ITK_EXPORT std::ostream & operator<<(std::ostream & os, const Matrix< T, NRows, NColumns > & v)
267 os << v.GetVnlMatrix();
272 #ifndef ITK_MANUAL_INSTANTIATION
273 #include "itkMatrix.hxx"