The template class Array4D is a 4D Array (Tensor) able to hold any type of object as datatype.
#include <Array4D.h>
Public Member Functions | |
Array4D () | |
Array4D (const Array4D< T > &i_array4D, const size_t &i_nw, const size_t &i_nx, const size_t &i_ny, const size_t &i_nz, const size_t &i_sizeW, const size_t &i_sizeX, const size_t &i_sizeY, const size_t &i_sizeZ) | |
Array4D (const size_t &anw, const size_t &anx, const size_t &any, const size_t &anz) | |
Array4D (const size_t &i_sizeW, const size_t &i_sizeX, const size_t &i_sizeY, const size_t &i_sizeZ, const T &init) | |
void | subset (const Array4D< T > &i_array4D, const size_t &i_nw, const size_t &i_nx, const size_t &i_ny, const size_t &i_nz, const size_t &i_sizeW, const size_t &i_sizeX, const size_t &i_sizeY, const size_t &i_sizeZ) |
void | fill (const Array4D< T > &i_array4D, const size_t &i_nw, const size_t &i_nx, const size_t &i_ny, const size_t &i_nz, const size_t &i_sizeW, const size_t &i_sizeX, const size_t &i_sizeY, const size_t &i_sizeZ) |
A method that can be used to insert a subplane into an existing Array4D object that is passed as i_array4D argument. This is exactly the opposite of the subset method an can be used to rebuild an array from subsets. More... | |
void | fill (const Array4D< T > &i_array4D, const size_t &i_nw, const size_t &i_nx, const size_t &i_ny, const size_t &i_nz) |
void | setKeepNodata (const bool i_keep_nodata) |
set how to process nodata values (ie: as nodata or as normal numbers) More... | |
bool | getKeepNodata () |
get how to process nodata values (ie: as nodata or as normal numbers) More... | |
void | resize (const size_t &anw, const size_t &anx, const size_t &any, const size_t &anz) |
void | resize (const size_t &anw, const size_t &anx, const size_t &any, const size_t &anz, const T &init) |
void | size (size_t &anw, size_t &anx, size_t &any, size_t &anz) const |
size_t | size () const |
size_t | getNw () const |
size_t | getNx () const |
size_t | getNy () const |
size_t | getNz () const |
void | clear () |
bool | empty () const |
T | getMin () const |
returns the minimum value contained in the grid More... | |
T | getMax () const |
returns the maximum value contained in the grid More... | |
T | getMean () const |
returns the mean value contained in the grid More... | |
size_t | getCount () const |
returns the number of points contained in the grid. If setNodataHandling(IOUtils::RAW_NODATA), then the number of points is the size of the grid. If setNodataHandling(IOUtils::PARSE_NODATA), then it is the number of non-nodata values in the grid More... | |
const Array4D< T > | getAbs () const |
returns the grid of the absolute value of values contained in the grid More... | |
void | abs () |
const std::string | toString () const |
bool | checkEpsilonEquality (const Array4D< double > &rhs, const double &epsilon) const |
T & | operator() (const size_t &i) |
const T | operator() (const size_t &i) const |
T & | operator() (const size_t &w, const size_t &x, const size_t &y, const size_t &z) |
const T | operator() (const size_t &w, const size_t &x, const size_t &y, const size_t &z) const |
Array4D< T > & | operator= (const T &value) |
Array4D< T > & | operator+= (const T &rhs) |
const Array4D< T > | operator+ (const T &rhs) const |
Array4D< T > & | operator+= (const Array4D< T > &rhs) |
const Array4D< T > | operator+ (const Array4D< T > &rhs) const |
Array4D< T > & | operator-= (const T &rhs) |
const Array4D< T > | operator- (const T &rhs) const |
Array4D< T > & | operator-= (const Array4D< T > &rhs) |
const Array4D< T > | operator- (const Array4D< T > &rhs) const |
Array4D< T > & | operator*= (const T &rhs) |
const Array4D< T > | operator* (const T &rhs) const |
Array4D< T > & | operator*= (const Array4D< T > &rhs) |
const Array4D< T > | operator* (const Array4D< T > &rhs) const |
Array4D< T > & | operator/= (const T &rhs) |
const Array4D< T > | operator/ (const T &rhs) const |
Array4D< T > & | operator/= (const Array4D< T > &rhs) |
const Array4D< T > | operator/ (const Array4D< T > &rhs) const |
bool | operator== (const Array4D< T > &) const |
Operator that tests for equality. More... | |
bool | operator!= (const Array4D< T > &) const |
Operator that tests for inequality. More... | |
Static Public Member Functions | |
static bool | checkEpsilonEquality (const Array4D< double > &rhs1, const Array4D< double > &rhs2, const double &epsilon) |
Protected Attributes | |
std::vector< T > | vecData |
The actual objects are stored in a one-dimensional vector. More... | |
size_t | nw |
size_t | nx |
size_t | ny |
size_t | nz |
size_t | nwnx |
size_t | nwnxny |
bool | keep_nodata |
Friends | |
template<class P > | |
std::ostream & | operator<< (std::ostream &os, const Array4D< P > &array) |
template<class P > | |
std::istream & | operator>> (std::istream &is, Array4D< P > &array) |
mio::Array4D< T >::Array4D |
mio::Array4D< T >::Array4D | ( | const Array4D< T > & | i_array4D, |
const size_t & | i_nw, | ||
const size_t & | i_nx, | ||
const size_t & | i_ny, | ||
const size_t & | i_nz, | ||
const size_t & | i_sizeW, | ||
const size_t & | i_sizeX, | ||
const size_t & | i_sizeY, | ||
const size_t & | i_sizeZ | ||
) |
A constructor that can be used to create an Array4D object that is contained in the one passed as i_array4D argument. The resulting Array4D object is a by value copy of a subvolume of the volume spanned by the i_array4D
i_array4D | array containing to extract the values from |
i_nw | lower left corner cell W index |
i_nx | lower left corner cell X index |
i_ny | lower left corner cell Y index |
i_nz | lower left corner cell Z index |
i_sizeW | length of the w dimension of the new array |
i_sizeX | length of the x dimension of the new array |
i_sizeY | length of the y dimension of the new array |
i_sizeZ | length of the z dimension of the new array |
mio::Array4D< T >::Array4D | ( | const size_t & | anw, |
const size_t & | anx, | ||
const size_t & | any, | ||
const size_t & | anz | ||
) |
mio::Array4D< T >::Array4D | ( | const size_t & | i_sizeW, |
const size_t & | i_sizeX, | ||
const size_t & | i_sizeY, | ||
const size_t & | i_sizeZ, | ||
const T & | init | ||
) |
A constructor that creates an array filled with constant values
i_sizeW | length of the w dimension of the new array |
i_sizeX | length of the x dimension of the new array |
i_sizeY | length of the y dimension of the new array |
i_sizeZ | length of the z dimension of the new array |
init | initial value to fill the array with |
void mio::Array4D< T >::abs |
bool mio::Array4D< T >::checkEpsilonEquality | ( | const Array4D< double > & | rhs, |
const double & | epsilon | ||
) | const |
|
static |
void mio::Array4D< T >::clear |
bool mio::Array4D< T >::empty |
void mio::Array4D< T >::fill | ( | const Array4D< T > & | i_array4D, |
const size_t & | i_nw, | ||
const size_t & | i_nx, | ||
const size_t & | i_ny, | ||
const size_t & | i_nz | ||
) |
void mio::Array4D< T >::fill | ( | const Array4D< T > & | i_array4D, |
const size_t & | i_nw, | ||
const size_t & | i_nx, | ||
const size_t & | i_ny, | ||
const size_t & | i_nz, | ||
const size_t & | i_sizeW, | ||
const size_t & | i_sizeX, | ||
const size_t & | i_sizeY, | ||
const size_t & | i_sizeZ | ||
) |
A method that can be used to insert a subplane into an existing Array4D object that is passed as i_array4D argument. This is exactly the opposite of the subset method an can be used to rebuild an array from subsets.
i_array4D | array containing to extract the values from |
i_nw | lower left corner cell W index |
i_nx | lower left corner cell X index |
i_ny | lower left corner cell Y index |
i_nz | lower left corner cell Z index |
i_sizeW | length of the w dimension of the new array |
i_sizeX | length of the x dimension of the new array |
i_sizeY | length of the y dimension of the new array |
i_sizeZ | length of the z dimension of the new array |
const Array4D< T > mio::Array4D< T >::getAbs |
returns the grid of the absolute value of values contained in the grid
size_t mio::Array4D< T >::getCount |
returns the number of points contained in the grid. If setNodataHandling(IOUtils::RAW_NODATA), then the number of points is the size of the grid. If setNodataHandling(IOUtils::PARSE_NODATA), then it is the number of non-nodata values in the grid
bool mio::Array4D< T >::getKeepNodata |
get how to process nodata values (ie: as nodata or as normal numbers)
T mio::Array4D< T >::getMax |
returns the maximum value contained in the grid
T mio::Array4D< T >::getMean |
returns the mean value contained in the grid
T mio::Array4D< T >::getMin |
returns the minimum value contained in the grid
size_t mio::Array4D< T >::getNw |
size_t mio::Array4D< T >::getNx |
size_t mio::Array4D< T >::getNy |
size_t mio::Array4D< T >::getNz |
bool mio::Array4D< T >::operator!= | ( | const Array4D< T > & | in | ) | const |
Operator that tests for inequality.
|
inline |
|
inline |
|
inline |
|
inline |
const Array4D< T > mio::Array4D< T >::operator* | ( | const Array4D< T > & | rhs | ) | const |
const Array4D< T > mio::Array4D< T >::operator* | ( | const T & | rhs | ) | const |
Array4D< T > & mio::Array4D< T >::operator*= | ( | const Array4D< T > & | rhs | ) |
Array4D< T > & mio::Array4D< T >::operator*= | ( | const T & | rhs | ) |
const Array4D< T > mio::Array4D< T >::operator+ | ( | const Array4D< T > & | rhs | ) | const |
const Array4D< T > mio::Array4D< T >::operator+ | ( | const T & | rhs | ) | const |
Array4D< T > & mio::Array4D< T >::operator+= | ( | const Array4D< T > & | rhs | ) |
Array4D< T > & mio::Array4D< T >::operator+= | ( | const T & | rhs | ) |
const Array4D< T > mio::Array4D< T >::operator- | ( | const Array4D< T > & | rhs | ) | const |
const Array4D< T > mio::Array4D< T >::operator- | ( | const T & | rhs | ) | const |
Array4D< T > & mio::Array4D< T >::operator-= | ( | const Array4D< T > & | rhs | ) |
Array4D< T > & mio::Array4D< T >::operator-= | ( | const T & | rhs | ) |
const Array4D< T > mio::Array4D< T >::operator/ | ( | const Array4D< T > & | rhs | ) | const |
const Array4D< T > mio::Array4D< T >::operator/ | ( | const T & | rhs | ) | const |
Array4D< T > & mio::Array4D< T >::operator/= | ( | const Array4D< T > & | rhs | ) |
Array4D< T > & mio::Array4D< T >::operator/= | ( | const T & | rhs | ) |
Array4D< T > & mio::Array4D< T >::operator= | ( | const T & | value | ) |
bool mio::Array4D< T >::operator== | ( | const Array4D< T > & | in | ) | const |
Operator that tests for equality.
void mio::Array4D< T >::resize | ( | const size_t & | anw, |
const size_t & | anx, | ||
const size_t & | any, | ||
const size_t & | anz | ||
) |
void mio::Array4D< T >::resize | ( | const size_t & | anw, |
const size_t & | anx, | ||
const size_t & | any, | ||
const size_t & | anz, | ||
const T & | init | ||
) |
void mio::Array4D< T >::setKeepNodata | ( | const bool | i_keep_nodata | ) |
set how to process nodata values (ie: as nodata or as normal numbers)
i_keep_nodata | true means that NODATA is interpreted as NODATA, false means that it is a normal number By default, arrays keep nodata. |
size_t mio::Array4D< T >::size |
void mio::Array4D< T >::size | ( | size_t & | anw, |
size_t & | anx, | ||
size_t & | any, | ||
size_t & | anz | ||
) | const |
void mio::Array4D< T >::subset | ( | const Array4D< T > & | i_array4D, |
const size_t & | i_nw, | ||
const size_t & | i_nx, | ||
const size_t & | i_ny, | ||
const size_t & | i_nz, | ||
const size_t & | i_sizeW, | ||
const size_t & | i_sizeX, | ||
const size_t & | i_sizeY, | ||
const size_t & | i_sizeZ | ||
) |
A method that can be used to create an Array4D object that is contained in the one passed as i_array4D argument. The resulting Array4D object is a by value copy of a subvolume of the volume spanned by the i_array4D
i_array4D | array containing to extract the values from |
i_nw | lower left corner cell W index |
i_nx | lower left corner cell X index |
i_ny | lower left corner cell Y index |
i_nz | lower left corner cell Z index |
i_sizeW | length of the w dimension of the new array |
i_sizeX | length of the x dimension of the new array |
i_sizeY | length of the y dimension of the new array |
i_sizeZ | length of the z dimension of the new array |
const std::string mio::Array4D< T >::toString |
|
friend |
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
The actual objects are stored in a one-dimensional vector.