|
Tomographer
v1.0a
Tomographer C++ Framework Documentation
|
Utilities for reading MATLAB "*.mat" data files. See Tomographer::MAT.
More...
#include <cstdint>#include <cerrno>#include <complex>#include <string>#include <vector>#include <algorithm>#include <iostream>#include <stdexcept>#include <sstream>#include <initializer_list>#include <utility>#include <matio.h>#include <Eigen/Core>#include <tomographer/qit/util.h>#include <tomographer/tools/fmt.h>
Include dependency graph for ezmatio.h:Go to the source code of this file.
Classes | |
| class | Tomographer::MAT::Exception |
| Base Exception class for errors within our MAT routines. More... | |
| class | Tomographer::MAT::VarError |
| Exception relating to a MATLAB variable in the data file. More... | |
| class | Tomographer::MAT::VarReadError |
| Error while reading a variable from the MATLAB data file. More... | |
| class | Tomographer::MAT::VarTypeError |
| Type mismatch (wrong type requested) in a variable read from the MATLAB data file. More... | |
| class | Tomographer::MAT::VarMatTypeError |
| Unknown type of a variable present in the data file. More... | |
| class | Tomographer::MAT::FileOpenError |
| Error while opening a MATLAB file. More... | |
| class | Tomographer::MAT::InvalidIndexError |
| Invalid index or index list provided to a routine. More... | |
| class | Tomographer::MAT::File |
| A MATLAB file open for reading data. More... | |
| class | Tomographer::MAT::DimList |
| An array of ints which specifies a list of dimensions. More... | |
| class | Tomographer::MAT::IndexList< IsRowMajor_ > |
| A list of indices with an API for linear or subindices access. More... | |
| class | Tomographer::MAT::IndexListIterator< IsRowMajor_, IntType_ > |
| Utility to iterate over a multidim array by increasing linear index. More... | |
| struct | Tomographer::MAT::VarValueDecoder< T, Enabled > |
| Specializable template which takes care of decoding values. More... | |
| class | Tomographer::MAT::Var |
| A MATLAB variable in the MAT file. More... | |
| struct | Tomographer::MAT::MatType< MatTypeId > |
| Map matio's constants to C/C++ types. More... | |
| struct | Tomographer::MAT::MatType< MAT_T_DOUBLE > |
| Specialization of MatType<int MatTypeId> for MAT_T_DOUBLE. More... | |
| struct | Tomographer::MAT::MatType< MAT_T_SINGLE > |
| Specialization of MatType<int MatTypeId> for MAT_T_DOUBLE. More... | |
| struct | Tomographer::MAT::MatType< MAT_T_INT64 > |
| Specialization of MatType<int MatTypeId> for MAT_T_INT64. More... | |
| struct | Tomographer::MAT::MatType< MAT_T_INT32 > |
| Specialization of MatType<int MatTypeId> for MAT_T_INT32. More... | |
| struct | Tomographer::MAT::MatType< MAT_T_INT16 > |
| Specialization of MatType<int MatTypeId> for MAT_T_INT16. More... | |
| struct | Tomographer::MAT::MatType< MAT_T_INT8 > |
| Specialization of MatType<int MatTypeId> for MAT_T_INT8. More... | |
| struct | Tomographer::MAT::MatType< MAT_T_UINT64 > |
| Specialization of MatType<int MatTypeId> for MAT_T_UINT64. More... | |
| struct | Tomographer::MAT::MatType< MAT_T_UINT32 > |
| Specialization of MatType<int MatTypeId> for MAT_T_UINT32. More... | |
| struct | Tomographer::MAT::MatType< MAT_T_UINT16 > |
| Specialization of MatType<int MatTypeId> for MAT_T_UINT16. More... | |
| struct | Tomographer::MAT::MatType< MAT_T_UINT8 > |
| Specialization of MatType<int MatTypeId> for MAT_T_UINT8. More... | |
| struct | Tomographer::MAT::VarValueDecoder< T, typename std::enable_if<(std::numeric_limits< T >::is_specialized||Tools::is_complex< T >::value)>::type > |
| Interface to read out a single value. More... | |
| struct | Tomographer::MAT::VarShape |
| Describe shape of variable and whether it is complex. More... | |
| struct | Tomographer::MAT::GetStdVector< T_, IsRowMajor_ > |
| Ask for this type in Var::value<typename T>() to get an std::vector of the data. More... | |
| struct | Tomographer::MAT::VarValueDecoder< GetStdVector< T, IsRowMajor > > |
| Specialization of VarValueDecoder<T> to obtain an std::vector<> with the matrix data. See GetStdVector. More... | |
| struct | Tomographer::MAT::VarValueDecoder< Eigen::Matrix< Scalar, Rows, Cols, Options, MaxRows, MaxCols > > |
| Decoder for Eigen::Matrix types. More... | |
| struct | Tomographer::MAT::VarValueDecoder< std::vector< Eigen::Matrix< Scalar, Rows, Cols, Options, MaxRows, MaxCols >, Alloc > > |
| Decoder for a std::vector of elements of type Eigen::Matrix. More... | |
Namespaces | |
| Tomographer | |
Base namespace for the Tomographer project. | |
| Tomographer::MAT | |
Utilities and helpers for reading MATLAB .mat files. | |
Macros | |
| #define | MAT_SWITCH_REAL_TYPE(typ, ...) |
| Useful hack to get C++ real scalar type from dynamical MAT type ID. More... | |
| #define | MAT_SWITCH_COMPLEX_TYPE(typ, ...) |
| Useful hack to get C++ complex type from dynamical MAT type ID. More... | |
| #define | MAT_SWITCH_TYPE(matvar_ptr, ...) |
| Useful hack to get C++ type from dynamical MAT type ID. More... | |
Functions | |
| template<typename It , typename ValueType = typename std::iterator_traits<It>::value_type> | |
| ValueType | Tomographer::MAT::get_numel (It begin, It end) |
| Calculate the product of all dimensions. More... | |
| std::ostream & | Tomographer::MAT::operator<< (std::ostream &out, const DimList &dlist) |
| C++ output stream operators for a DimList. | |
| template<bool IsRowMajor> | |
| std::ostream & | Tomographer::MAT::operator<< (std::ostream &str, const IndexList< IsRowMajor > &indexlist) |
| C++ output stream operator for IndexList<bool IsRowMajor> . | |
| template<bool IsRowMajor, typename IntType > | |
| std::ostream & | Tomographer::MAT::operator<< (std::ostream &str, const IndexListIterator< IsRowMajor, IntType > &indexlistit) |
| C++ output stream operator for IndexListIterator<bool IsRowMajor, typename IntType> . | |
| template<typename T > | |
| VarValueDecoder< T >::RetType | Tomographer::MAT::value (const Var &var) |
| template<typename T , ENABLED_IF(tomo_internal::has_params_member< VarValueDecoder< T > >::value) > | |
| VarValueDecoder< T >::RetType | Tomographer::MAT::value (const Var &var, const typename VarValueDecoder< T >::Params ¶ms) |
| std::ostream & | Tomographer::MAT::operator<< (std::ostream &str, const VarShape &varshape) |
| C++ output stream operator for VarShape . | |
Utilities for reading MATLAB "*.mat" data files. See Tomographer::MAT.
Definition in file ezmatio.h.
| #define MAT_SWITCH_COMPLEX_TYPE | ( | typ, | |
| ... | |||
| ) |
Useful hack to get C++ complex type from dynamical MAT type ID.
The MAT type ID is checked against MAT_T_DOUBLE and MAT_T_SINGLE only, and the corresponding code executed with the identifier Type defined as the appropriate C++ std::complex<T> type.
| #define MAT_SWITCH_REAL_TYPE | ( | typ, | |
| ... | |||
| ) |
Useful hack to get C++ real scalar type from dynamical MAT type ID.
This works like a switch(){ ... } statement, where the typ is checked against MAT_T_DOUBLE, MAT_T_SINGLE, etc. and where the given code (...) is executed with the identifier Type set to the given C++ type.
| #define MAT_SWITCH_TYPE | ( | matvar_ptr, | |
| ... | |||
| ) |
Useful hack to get C++ type from dynamical MAT type ID.
If the variable corresponding to matvar_ptr is of complex type, then this macro behaves just like MAT_SWITCH_REAL_TYPE. If it is of complex type, then it behaves just like MAT_SWITCH_COMPLEX_TYPE.