18template<
typename returnT,
typename dataT>
23 return (returnT) ((dataT*) imdata)[idx];
27template<
typename returnT,
int imageStructDataT>
30 return &getPix<returnT, typename imageStructDataType<imageStructDataT>::type>;
33template<
typename returnT>
36 switch(imageStructDataT)
39 return getPixPointer<returnT, IMAGESTRUCT_UINT8>();
41 return getPixPointer<returnT, IMAGESTRUCT_INT8>();
43 return getPixPointer<returnT, IMAGESTRUCT_UINT16>();
46 return getPixPointer<returnT, IMAGESTRUCT_INT16>();
48 return getPixPointer<returnT, IMAGESTRUCT_UINT32>();
50 return getPixPointer<returnT, IMAGESTRUCT_INT32>();
52 return getPixPointer<returnT, IMAGESTRUCT_UINT64>();
54 return getPixPointer<returnT, IMAGESTRUCT_INT64>();
56 return getPixPointer<returnT, IMAGESTRUCT_FLOAT>();
58 return getPixPointer<returnT, IMAGESTRUCT_DOUBLE>();
60 std::cerr <<
"getPixPointer: Unknown or unsupported data type. " << __FILE__ <<
" " << __LINE__ <<
"\n";
#define IMAGESTRUCT_UINT16
#define IMAGESTRUCT_INT64
#define IMAGESTRUCT_FLOAT
#define IMAGESTRUCT_INT32
#define IMAGESTRUCT_UINT32
#define IMAGESTRUCT_DOUBLE
#define IMAGESTRUCT_UINT8
#define IMAGESTRUCT_INT16
#define IMAGESTRUCT_UINT64
returnT getPix(void *imdata, size_t idx)
Function to cast the data type to float.
returnT(*)(void *, size_t) getPixPointer()
Get the function pointer for getPix for the type.