DMRITool
v0.1.1-139-g860d86b4
Diffusion MRI Tool
|
#include <utl4thOrderTensor.h>
NDArray<T,4> is a 4th order tensor.
Definition at line 33 of file utl4thOrderTensor.h.
Public Member Functions | |
void | EigenDecompositionWithMinorSymmetry (NDArray< T, 1 > &valReal, NDArray< T, 1 > &valImg) const |
void | EigenDecompositionWithMinorSymmetry (NDArray< T, 1 > &valReal, NDArray< T, 1 > &valImg, std::vector< NDArray< T, 2 > > &matRealR, std::vector< NDArray< T, 2 > > &matImgR) const |
void | EigenDecompositionWithMinorSymmetry (NDArray< T, 1 > &valReal, NDArray< T, 1 > &valImg, std::vector< NDArray< T, 2 > > &matRealR, std::vector< NDArray< T, 2 > > &matImgR, std::vector< NDArray< T, 2 > > &matRealL, std::vector< NDArray< T, 2 > > &matImgL) const |
NDArray< T, 2 > | GetRefSubMatrix (const int i, const int j) const |
bool | IsMajorSymmetric () const |
bool | IsMinorSymmetric () const |
void | MajorSymmetrize () |
void | MinorSymmetrize () |
NDArray () | |
NDArray (const NDArray< T, 4 > &mat) | |
template<typename EType > | |
NDArray (const Expr< EType, typename EType::ValueType > &expr) | |
template<typename TMatrixValueType > | |
NDArray (const NDArray< TMatrixValueType, 4 > &r) | |
NDArray (NDArray< T, 4 > &&r) | |
NDArray (const ShapeType &shape) | |
NDArray (const T *vec, const SizeType s0, const SizeType s1, const SizeType s2, const SizeType s3) | |
NDArray (const SizeType s0, const SizeType s1, const SizeType s2, const SizeType s3) | |
NDArray (const SizeType s0, const SizeType s1, const SizeType s2, const SizeType s3, const T r) | |
NDArray (const T *vec, const ShapeType &shape) | |
NDArray (const ShapeType &shape, const T r) | |
Reference | operator() (unsigned int i, unsigned int j, unsigned int k, unsigned int l) |
ConstReference | operator() (unsigned int i, unsigned int j, unsigned int k, unsigned int l) const |
NDArray< T, 4 > & | operator= (NDArray< T, 4 > &r) |
NDArray< T, 4 > & | operator= (NDArray< T, 4 > &&r) |
bool | ReSize (const SizeType s0, const SizeType s1, const SizeType s2, const SizeType s3) |
Public Member Functions inherited from utl::NDArrayBase< T, 4 > | |
__Array_Saver_Scalar (+=) __Array_Saver_Scalar(- | |
T | AbsoluteMaxValue () const |
T | AbsoluteMinValue () const |
void | Apply (const FuncT &func, NDArrayBase< T, Dim > &vec) const |
void | Apply (T(*f)(T), NDArrayBase< T, Dim > &vec) const |
void | Apply (T(*f)(T const &), NDArrayBase< T, Dim > &vec) const |
unsigned | ArgAbsoluteMax () const |
unsigned | ArgAbsoluteMin () const |
unsigned | ArgMax () const |
unsigned | ArgMin () const |
Reference | Back () |
ConstReference | Back () const |
Iterator | Begin () |
ConstIterator | Begin () const |
ConstIterator | cBegin () const |
ConstIterator | cEnd () const |
void | Clear () |
void | CopyData (T *const data, const ShapeType &shape) |
NDArrayBase< T, Dim > & | CopyIn (T const *ptr, const int size, const int start=0) |
void | CopyOut (T *ptr, const int size, const int start=0) const |
ConstReverseIterator | crBegin () const |
ConstReverseIterator | crEnd () const |
NDArrayBase< T, Dim > & | ElementAbsolute (T *outVec=NULL) |
NDArrayBase< T, Dim > & | ElementAbsolute (NDArrayBase< T, Dim > &vec) |
NDArrayBase< T, Dim > & | ElementAdd (T *const vec, T *outVec=NULL) |
NDArrayBase< T, Dim > & | ElementAxpby (T *const vec, const T alpha, const T beta) |
NDArrayBase< T, Dim > & | ElementCos (T *outVec=NULL) |
NDArrayBase< T, Dim > & | ElementCos (NDArrayBase< T, Dim > &vec) |
NDArrayBase< T, Dim > & | ElementDivide (T *const vec, T *outVec=NULL) |
NDArrayBase< T, Dim > & | ElementExp (T *outVec=NULL) |
NDArrayBase< T, Dim > & | ElementExp (NDArrayBase< T, Dim > &vec) |
NDArrayBase< T, Dim > & | ElementInverse (T *outVec=NULL) |
NDArrayBase< T, Dim > & | ElementInverse (NDArrayBase< T, Dim > &vec) |
NDArrayBase< T, Dim > & | ElementMultiply (T *const vec, T *outVec=NULL) |
NDArrayBase< T, Dim > & | ElementSin (T *outVec=NULL) |
NDArrayBase< T, Dim > & | ElementSin (NDArrayBase< T, Dim > &vec) |
NDArrayBase< T, Dim > & | ElementSqrt (T *outVec=NULL) |
NDArrayBase< T, Dim > & | ElementSqrt (NDArrayBase< T, Dim > &vec) |
NDArrayBase< T, Dim > & | ElementSquare (T *outVec=NULL) |
NDArrayBase< T, Dim > & | ElementSquare (NDArrayBase< T, Dim > &vec) |
NDArrayBase< T, Dim > & | ElementSubstract (T *const vec, T *outVec=NULL) |
Iterator | End () |
ConstIterator | End () const |
T | Eval (int i) const |
void | Fill (const T &value) |
NDArrayBase< T, Dim > & | Flip () |
T * | GetData () |
const T * | GetData () const |
ConstReference | GetElement (unsigned short index) const |
NDArrayBase< T, Dim > | GetElementAbsolute () const |
NDArrayBase< T, Dim > | GetElementCos () const |
NDArrayBase< T, Dim > | GetElementExp () const |
NDArrayBase< T, Dim > | GetElementInverse () const |
NDArrayBase< T, Dim > | GetElementSin () const |
NDArrayBase< T, Dim > | GetElementSqrt () const |
NDArrayBase< T, Dim > | GetElementSquare () const |
void | GetIndex (const SizeType offset, SizeType index[Dimension]) const |
double | GetInfNorm () const |
bool | GetIsShared () const |
T | GetMean () const |
T | GetMedian () const |
SizeType | GetOffset (const ShapeType &shapeIndex) const |
const SizeType * | GetOffSetTable () const |
double | GetOneNorm () const |
NDArray< T, SubDimension > | GetRefSubArray (const int i) const |
NDArray< T, Dim > | GetRefSubArray (const int istart, const int iend) const |
double | GetRootMeanSquares () const |
const ShapeType | GetShape () const |
SizeType | GetSize () const |
double | GetSquaredTwoNorm () const |
T | GetSum () const |
double | GetTwoNorm () const |
int | GetZeroNorm (const double eps=1e-10) const |
void | HardThreshold (const double threshold) |
ValueType | InnerProduct (const NDArrayBase< T, Dim > &vec) const |
bool | IsEmpty () const |
bool | IsEqual (const NDArrayBase< T, Dim > &r, const double eps) const |
bool | IsSameShape (const EType &src) const |
bool | IsSameShape (const ShapeType &shape) const |
bool | IsSameSize (const ShapeType &shape) const |
bool | IsSameValues (const NDArrayBase< T, Dim > &r, const double eps) const |
bool | IsZero () const |
T | MaxValue () const |
T | MinValue () const |
NDArrayBase () | |
NDArrayBase (const ShapeType &shape) | |
NDArrayBase (const NDArrayBase< T, Dim > &vec) | |
NDArrayBase (NDArrayBase< T, Dim > &&vec) | |
NDArrayBase (const Expr< EType, typename EType::ValueType > &expr) | |
NDArrayBase (const T *vec, const ShapeType &shape) | |
NDArrayBase (const ShapeType &shape, const T r) | |
NDArrayBase (const NDArrayBase< TValue, Dim > &r) | |
int | NNZ (const double eps=1e-10) const |
NDArrayBase< T, Dim > & | operator saver (const T val) |
bool | operator!= (const NDArrayBase< T, Dim > &r) const |
NDArrayBase< T, Dim > & | operator%= (const Expr< EType, typename EType::ValueType > &src) |
NDArrayBase< T, Dim > & | operator%= (const NDArrayBase< T, Dim > &vec) |
NDArrayBase< T, Dim > & | operator%= (const T val) |
Reference | operator() (const ShapeType &shape) |
ConstReference | operator() (const ShapeType &shape) const |
NDArrayBase< T, Dim > & | operator+= (const Expr< EType, typename EType::ValueType > &src) |
NDArrayBase< T, Dim > & | operator+= (const NDArrayBase< T, Dim > &vec) |
NDArrayBase< T, Dim > & | operator-= (const Expr< EType, typename EType::ValueType > &src) |
NDArrayBase< T, Dim > & | operator-= (const NDArrayBase< T, Dim > &vec) |
NDArrayBase< T, Dim > & | operator/= (const Expr< EType, typename EType::ValueType > &src) |
NDArrayBase< T, Dim > & | operator/= (const NDArrayBase< T, Dim > &vec) |
NDArrayBase< T, Dim > & | operator/= (const T val) |
NDArrayBase< T, Dim > & | operator= (const Expr< EType, typename EType::ValueType > &src) |
Dim & | operator= (const NDArrayBase< T, Dim > &r) |
NDArrayBase< T, Dim > & | operator= (NDArrayBase< T, Dim > &&r) |
NDArrayBase< T, Dim > & | operator= (const NDArrayBase< TValueType, Dim > &r) |
NDArrayBase< T, Dim > & | operator= (const std::initializer_list< T > &r) |
NDArrayBase< T, Dim > & | operator= (const std::vector< T > &r) |
NDArrayBase< T, Dim > & | operator= (const T r) |
bool | operator== (const NDArrayBase< T, Dim > &r) const |
Reference | operator[] (short index) |
ConstReference | operator[] (short index) const |
Reference | operator[] (unsigned short index) |
ConstReference | operator[] (unsigned short index) const |
Reference | operator[] (int index) |
ConstReference | operator[] (int index) const |
Reference | operator[] (unsigned int index) |
ConstReference | operator[] (unsigned int index) const |
Reference | operator[] (long index) |
ConstReference | operator[] (long index) const |
Reference | operator[] (unsigned long index) |
ConstReference | operator[] (unsigned long index) const |
Reference | operator[] (long long index) |
ConstReference | operator[] (long long index) const |
Reference | operator[] (unsigned long long index) |
ConstReference | operator[] (unsigned long long index) const |
void | Print (std::ostream &os, const char *separate=" ") const |
void | PrintInfo (std::ostream &os, const char *separate=" ") const |
void | PrintWithIndex (std::ostream &os, const char *separate=" ") const |
ReverseIterator | rBegin () |
ConstReverseIterator | rBegin () const |
ReverseIterator | rEnd () |
ConstReverseIterator | rEnd () const |
NDArrayBase< T, Dim > & | ReShape (const ShapeType &shape) |
bool | ReSize (const ShapeType &shape) |
NDArrayBase< T, Dim > & | Scale (const T a) |
void | SetData (T *const data, const ShapeType &shape) |
void | SetElement (unsigned short index, ConstReference value) |
SizeType | Size () const |
void | SoftThreshold (const double threshold) |
void | Swap (NDArrayBase< T, Dim > &vec) |
~NDArrayBase () | |
Public Member Functions inherited from utl::Expr< NDArrayBase< T, Dim >, T > | |
const NDArrayBase< T, Dim > & | ConstRef (void) const |
const ShapeType | GetShape () const |
NDArrayBase< T, Dim > & | Ref (void) |
Additional Inherited Members | |
Static Public Member Functions inherited from utl::NDArrayBase< T, 4 > | |
static constexpr SizeType | GetDimension () |
Static Public Member Functions inherited from utl::Expr< NDArrayBase< T, Dim >, T > | |
static SizeType | GetDimension () |
Static Public Attributes inherited from utl::NDArrayBase< T, 4 > | |
static constexpr SizeType | SubDimension |
Protected Member Functions inherited from utl::NDArrayBase< T, 4 > | |
void | ClearData () |
void | ClearShape () |
void | ComputeOffSetTable () |
Protected Attributes inherited from utl::NDArrayBase< T, 4 > | |
T * | m_Data |
bool | m_IsShared |
SizeType | m_OffSetTable [Dimension] |
SizeType | m_Shape [Dimension] |
typedef Superclass::ConstIterator utl::NDArray< T, 4 >::ConstIterator |
Definition at line 49 of file utl4thOrderTensor.h.
typedef Superclass::ConstPointer utl::NDArray< T, 4 >::ConstPointer |
Definition at line 45 of file utl4thOrderTensor.h.
typedef Superclass::ConstReference utl::NDArray< T, 4 >::ConstReference |
Definition at line 47 of file utl4thOrderTensor.h.
typedef Superclass::Iterator utl::NDArray< T, 4 >::Iterator |
Definition at line 48 of file utl4thOrderTensor.h.
typedef Superclass::Pointer utl::NDArray< T, 4 >::Pointer |
Definition at line 44 of file utl4thOrderTensor.h.
typedef Superclass::Reference utl::NDArray< T, 4 >::Reference |
Definition at line 46 of file utl4thOrderTensor.h.
typedef Superclass::ScalarValueType utl::NDArray< T, 4 >::ScalarValueType |
Definition at line 40 of file utl4thOrderTensor.h.
typedef NDArray utl::NDArray< T, 4 >::Self |
Definition at line 36 of file utl4thOrderTensor.h.
typedef Superclass::ShapeType utl::NDArray< T, 4 >::ShapeType |
Definition at line 43 of file utl4thOrderTensor.h.
typedef Superclass::SizeType utl::NDArray< T, 4 >::SizeType |
Definition at line 42 of file utl4thOrderTensor.h.
typedef NDArrayBase<T,4> utl::NDArray< T, 4 >::Superclass |
Definition at line 37 of file utl4thOrderTensor.h.
typedef Superclass::ValueType utl::NDArray< T, 4 >::ValueType |
Definition at line 39 of file utl4thOrderTensor.h.
|
inline |
Definition at line 64 of file utl4thOrderTensor.h.
|
inline |
Definition at line 66 of file utl4thOrderTensor.h.
|
inline |
Definition at line 69 of file utl4thOrderTensor.h.
|
inline |
Definition at line 73 of file utl4thOrderTensor.h.
|
inline |
Definition at line 76 of file utl4thOrderTensor.h.
References utl::NDArray< T, Dim >::operator=().
|
inlineexplicit |
Definition at line 81 of file utl4thOrderTensor.h.
|
inline |
Definition at line 83 of file utl4thOrderTensor.h.
References __utl_ndarray_alloc_blah, utl::NDArrayBase< T, Dim >::m_Data, and utl::NDArrayBase< T, Dim >::Size().
|
inline |
Definition at line 91 of file utl4thOrderTensor.h.
References __utl_ndarray_alloc_blah.
|
inline |
Definition at line 98 of file utl4thOrderTensor.h.
References __utl_ndarray_alloc_blah, and utl::NDArrayBase< T, Dim >::Fill().
|
inline |
Constructor assumes input points to array of correct size. Values are copied individually instead of with a binary copy. This allows the T's assignment operator to be executed.
Definition at line 111 of file utl4thOrderTensor.h.
|
inline |
Constructor to initialize entire array to one value.
Definition at line 116 of file utl4thOrderTensor.h.
|
inline |
Definition at line 294 of file utl4thOrderTensor.h.
References utl::Convert4To2Tensor(), utl::NDArray< T, 2 >::EigenDecompositionNonSymmetricMatrix(), utl::NDArrayBase< T, Dim >::m_Shape, and utlException.
|
inline |
Definition at line 302 of file utl4thOrderTensor.h.
References utl::Convert1To2Tensor(), utl::Convert4To2Tensor(), utl::NDArray< T, 2 >::EigenDecompositionNonSymmetricMatrix(), utl::NDArrayBase< T, Dim >::m_Shape, utl::NDArrayBase< T, Dim >::Size(), and utlException.
|
inline |
Definition at line 321 of file utl4thOrderTensor.h.
References utl::Convert1To2Tensor(), utl::Convert4To2Tensor(), utl::NDArray< T, 2 >::EigenDecompositionNonSymmetricMatrix(), utl::NDArrayBase< T, Dim >::m_Shape, utl::NDArrayBase< T, Dim >::Size(), and utlException.
|
inline |
Definition at line 148 of file utl4thOrderTensor.h.
References utl::NDArrayBase< T, Dim >::GetOffset(), utl::NDArrayBase< T, Dim >::m_Data, utl::NDArrayBase< T, Dim >::m_Shape, and utl::NDArray< T, 2 >::SetData().
Referenced by utl::InnerProduct().
|
inline |
Test whether it is major symmetric
Definition at line 188 of file utl4thOrderTensor.h.
References utl::NDArrayBase< T, Dim >::Dimension, utl::IsSame(), utl::NDArrayBase< T, Dim >::m_Shape, and utlException.
|
inline |
Definition at line 256 of file utl4thOrderTensor.h.
References utl::NDArrayBase< T, Dim >::Dimension, utl::IsSame(), utl::NDArrayBase< T, Dim >::m_Shape, and utlException.
|
inline |
Make it major symmetric
Definition at line 160 of file utl4thOrderTensor.h.
References utl::NDArrayBase< T, Dim >::Dimension, utl::NDArrayBase< T, Dim >::m_Shape, and utlException.
|
inline |
Definition at line 219 of file utl4thOrderTensor.h.
References utl::NDArrayBase< T, Dim >::Dimension, utl::NDArrayBase< T, Dim >::m_Shape, and utlException.
|
inline |
Definition at line 136 of file utl4thOrderTensor.h.
References utl::NDArrayBase< T, Dim >::m_Data, and utl::NDArrayBase< T, Dim >::m_OffSetTable.
|
inline |
Definition at line 138 of file utl4thOrderTensor.h.
References utl::NDArrayBase< T, Dim >::m_Data, and utl::NDArrayBase< T, Dim >::m_OffSetTable.
|
inline |
Definition at line 118 of file utl4thOrderTensor.h.
References utl::NDArrayBase< T, Dim >::operator=().
|
inline |
Definition at line 124 of file utl4thOrderTensor.h.
References utl::NDArrayBase< T, Dim >::Clear(), and utl::NDArrayBase< T, Dim >::Swap().
|
inline |
Definition at line 141 of file utl4thOrderTensor.h.
References utl::NDArrayBase< T, Dim >::ReSize().
Referenced by utl::Convert2To4Tensor(), and utl::OuterProduct().