SIRF  3.4.0
Classes | Namespaces | Macros | Typedefs
gadgetron_image_wrap.h File Reference

Specification file for a wrapper class for ISMRMRD::Image. More...

#include <ismrmrd/ismrmrd.h>
#include <ismrmrd/dataset.h>
#include <ismrmrd/meta.h>
#include <ismrmrd/xml.h>
#include "sirf/common/ANumRef.h"
#include "sirf/common/iequals.h"
#include "sirf/Gadgetron/cgadgetron_shared_ptr.h"
#include "sirf/Gadgetron/xgadgetron_utilities.h"

Go to the source code of this file.

Classes

class  sirf::ImageWrap
 Wrapper for ISMRMRD::Image. More...
 
class  sirf::ImageWrap::Iterator
 
class  sirf::ImageWrap::Iterator_const
 

Namespaces

 sirf
 Abstract data container.
 

Macros

#define IMAGE_PROCESSING_SWITCH(Type, Operation, Arguments, ...)
 
#define IMAGE_PROCESSING_SWITCH_CONST(Type, Operation, Arguments, ...)
 

Typedefs

typedef ISMRMRD::Image< complex_float_t > CFImage
 
typedef ISMRMRD::Image< complex_double_t > CDImage
 

Detailed Description

Specification file for a wrapper class for ISMRMRD::Image.

Author
Evgueni Ovtchinnikov
SyneRBI

Macro Definition Documentation

◆ IMAGE_PROCESSING_SWITCH

#define IMAGE_PROCESSING_SWITCH (   Type,
  Operation,
  Arguments,
  ... 
)
Value:
if (Type == ISMRMRD::ISMRMRD_USHORT)\
Operation ((ISMRMRD::Image<unsigned short>*) Arguments, ##__VA_ARGS__);\
else if (Type == ISMRMRD::ISMRMRD_SHORT)\
Operation ((ISMRMRD::Image<short>*) Arguments, ##__VA_ARGS__);\
else if (Type == ISMRMRD::ISMRMRD_UINT)\
Operation ((ISMRMRD::Image<unsigned int>*) Arguments, ##__VA_ARGS__);\
else if (Type == ISMRMRD::ISMRMRD_INT)\
Operation ((ISMRMRD::Image<int>*) Arguments, ##__VA_ARGS__);\
else if (Type == ISMRMRD::ISMRMRD_FLOAT)\
Operation ((ISMRMRD::Image<float>*) Arguments, ##__VA_ARGS__);\
else if (Type == ISMRMRD::ISMRMRD_DOUBLE)\
Operation ((ISMRMRD::Image<double>*) Arguments, ##__VA_ARGS__);\
else if (Type == ISMRMRD::ISMRMRD_CXFLOAT)\
Operation ((ISMRMRD::Image< std::complex<float> >*) Arguments, \
##__VA_ARGS__);\
else if (Type == ISMRMRD::ISMRMRD_CXDOUBLE)\
Operation ((ISMRMRD::Image< std::complex<double> >*) Arguments, \
##__VA_ARGS__);\
else\
throw std::domain_error("unknown data type in IMAGE_PROCESSING_SWITCH");

◆ IMAGE_PROCESSING_SWITCH_CONST

#define IMAGE_PROCESSING_SWITCH_CONST (   Type,
  Operation,
  Arguments,
  ... 
)
Value:
if (Type == ISMRMRD::ISMRMRD_USHORT)\
Operation ((const ISMRMRD::Image<unsigned short>*) Arguments, \
##__VA_ARGS__);\
else if (Type == ISMRMRD::ISMRMRD_SHORT)\
Operation ((const ISMRMRD::Image<short>*) Arguments, ##__VA_ARGS__);\
else if (Type == ISMRMRD::ISMRMRD_UINT)\
Operation ((const ISMRMRD::Image<unsigned int>*) Arguments, ##__VA_ARGS__);\
else if (Type == ISMRMRD::ISMRMRD_INT)\
Operation ((const ISMRMRD::Image<int>*) Arguments, ##__VA_ARGS__);\
else if (Type == ISMRMRD::ISMRMRD_FLOAT)\
Operation ((const ISMRMRD::Image<float>*) Arguments, ##__VA_ARGS__);\
else if (Type == ISMRMRD::ISMRMRD_DOUBLE)\
Operation ((const ISMRMRD::Image<double>*) Arguments, ##__VA_ARGS__);\
else if (Type == ISMRMRD::ISMRMRD_CXFLOAT)\
Operation ((const ISMRMRD::Image< std::complex<float> >*) Arguments, \
##__VA_ARGS__);\
else if (Type == ISMRMRD::ISMRMRD_CXDOUBLE)\
Operation ((const ISMRMRD::Image< std::complex<double> >*) Arguments, \
##__VA_ARGS__);\
else\
throw std::domain_error("unknown data type in IMAGE_PROCESSING_SWITCH_CONST");