Template class for managing 3D matrices. This class is based on boost multi_array. Check
|
Public Types |
typedef
boost::multi_array_types::index | index |
|
typedef MultiArray< T, 3 > | MA3 |
|
typedef Matrix3D< T > | This |
Public Member Functions |
|
template<typename T1 > |
| void | cast_values (Matrix3D< T1 > &out) |
| | Cast values.
|
|
int | get_number_of_columns () const |
| | Returns the number of columns in the matrix.
|
|
int | get_number_of_rows () const |
| | Returns the number of rows in the matrix.
|
|
int | get_number_of_slices () const |
| | Returns the number of slices in the matrix.
|
|
| Matrix3D (const This &v) |
|
| Matrix3D (int Zdim, int Ydim, int Xdim) |
| | Constructor.
|
|
| Matrix3D () |
| | Empty constructor.
|
| template<typename T1 > |
| T & | operator() (T1 &idx) const |
| T & | operator() (int k, int j, int i) const |
|
This | operator* (const T &v) const |
| | Multiplication operator for an array and a scalar.
|
|
This | operator* (const This &v) const |
| | Multiplication operator.
|
|
This & | operator*= (const T &v) |
| | Multiplication operator for an array and a scalar.
|
|
This & | operator*= (const This &v) |
| | Multiplication operator.
|
|
This | operator+ (const T &v) const |
| | Sum operator for an array and a scalar.
|
|
This | operator+ (const This &v) const |
| | Sum operator.
|
|
This & | operator+= (const T &v) |
| | Addition operator for an array and a scalar.
|
|
This & | operator+= (const This &v) |
| | Addition operator.
|
|
This | operator- (const T &v) const |
| | Minus operator for an array and a scalar.
|
|
This | operator- (const This &v) const |
| | Minus operator.
|
|
This & | operator-= (const T &v) |
| | Substraction operator for an array and a scalar.
|
|
This & | operator-= (const This &v) |
| | Substraction operator.
|
|
This | operator/ (const T &v) const |
| | Division operator for an array and a scalar.
|
|
This | operator/ (const This &v) const |
| | Division operator.
|
|
This & | operator/= (const T &v) |
| | Division operator for an array and a scalar.
|
|
This & | operator/= (const This &v) |
| | Division operator.
|
|
void | operator= (const This &v) |
| void | pad (This &padded) |
| void | pad (This &padded, T val) |
| template<typename T1 > |
| void | reshape (const Matrix3D< T1 > &v) |
| | Reshapes the matrix copying the size and range of a given one.
|
| template<typename T1 > |
| void | resize (const Matrix3D< T1 > &v) |
| | Resizes the matrix copying the size of a given one.
|
| void | resize (int Zdim, int Ydim, int Xdim) |
| | Resizes the matrix.
|
Friends |
|
This | operator* (const T &X, const This &a1) |
| | Multiplication operator for a scalar and an array.
|
|
This | operator+ (const T &X, const This &a1) |
| | Sum operator for a scalar and an array.
|
|
This | operator- (const T &X, const This &a1) |
| | Minus operator for a scalar and an array.
|
|
This | operator/ (const T &X, const This &a1) |
| | Division operator for a scalar and an array.
|
Related Functions |
(Note that these are not member functions.)
|
| template<typename T > |
| T | interpolate (algebra::Matrix3D< T > &m, VectorD< 3 > &idx, bool wrap=false, T outside=0.0, int interp=0) |
| | General function to call in case of interpolation in 3D matrices.
|
| template<typename T > |
| T | trilinear_interpolation (Matrix3D< T > &m, VectorD< 3 > &idx, bool wrap, T outside) |
| | Trilinear interpolation for a point using the 8 closest values in the matrix.
|