27#ifndef improc_eigenImage_hpp
28#define improc_eigenImage_hpp
30#pragma GCC system_header
33#include "../math/vectorUtils.hpp"
43template <
typename scalarT>
49template <
typename scalarT>
50using eigenMap = Eigen::Map<Eigen::Array<scalarT, -1, -1>>;
72 template <
typename imageT>
73 static yes &test(
typename imageT::is_eigenCube * );
76 static no &test( ... );
80 static const bool value =
sizeof( test<T>( 0 ) ) ==
sizeof( yes );
88template <typename arrT, bool isCube = is_eigenCube<arrT>::value>
92 int operator()(
const arrT &arr )
98template <
typename arrT>
102 int operator()(
const arrT &arr )
Eigen::Array< scalarT, -1, -1 > eigenImage
Definition of the eigenImage type, which is an alias for Eigen::Array.
Eigen::Map< Eigen::Array< scalarT, -1, -1 > > eigenMap
Definition of the eigenMap type, which is an alias for Eigen::Map<Array>.
Function object to return the number of planes for any Eigen like object, whether 2D or a 3D cube.
Test whether a type is an eigenCube by testing whether it has a typedef of "is_eigenCube".