13 #ifndef mitkPixelTypeTraits_h
14 #define mitkPixelTypeTraits_h
16 #include <itkDiffusionTensor3D.h>
18 #include <itkImageIOBase.h>
19 #include <itkRGBAPixel.h>
20 #include <itkRGBPixel.h>
21 #include <itkVectorImage.h>
37 template <
typename TValueType>
52 #define MITK_PIXEL_COMPONENT_TYPE(type, ctype, name) \
54 struct mitk::MapPixelComponentType<type> \
56 static const int value = ctype; \
58 std::string mitk::PixelComponentTypeToString() \
66 static const int PixelUserType =
static_cast<int>(itk::IOPixelEnum::MATRIX) + 1;
79 static const itk::IOComponentEnum
value = itk::ImageIOBase::MapPixelType<T>::CType;
89 static const bool value =
false;
93 #define DEFINE_TYPE_PRIMITIVE(_TYPEIN) \
95 struct isPrimitiveType<_TYPEIN> \
97 static const bool value = true; \
132 template <
typename TPixelType,
unsigned int VDimension = 0>
140 template <
typename TPixelType,
unsigned int VDimension>
143 typedef itk::VectorImage<TPixelType, VDimension>
ImageType;
148 template <
typename T>
156 template <
typename TPixelType,
unsigned int VDimension>
159 typedef itk::VectorImage<TPixelType, VDimension>
ImageType;
164 template <
bool flag,
typename T>
174 template <
typename T>
181 template <
typename T>
191 template <
bool V,
typename T>
198 template <
typename T>
201 static const size_t Size = T::ValueType::Length;
255 template <
class C,
unsigned int N>
261 template <
class C,
unsigned int N>
267 template <
class C,
unsigned int N>
273 template <
class C,
unsigned int N>
288 template <
class T,
bool Primitive>
MITK matrix type extending itk::Matrix with additional constructors and utility methods.
MITK vector type extending itk::Vector with additional constructors and conversions.
#define DEFINE_TYPE_PRIMITIVE(_TYPEIN)
Provides a partial specialization for the.
Find image slices visible on a given plane.
itk::IOPixelEnum itkIOPixelType
Type alias for the ITK pixel type enumeration.
static const int PixelUserType
Starting integer value for user-defined pixel types (beyond the built-in ITK pixel types).
static const int PixelComponentUserType
Starting integer value for user-defined pixel component types (beyond the built-in ITK component type...
itk::IOComponentEnum itkIOComponentType
Type alias for the ITK component type enumeration.
Object for compile-time resolving of the number of components for given type.
Compile time resolving of the type of a component.
PixelTypeTrait< isPrimitiveType< T >::value, T >::ValueType ComponentType
itk::VectorImage< TPixelType, VDimension > ImageType
itk::VectorImage< TPixelType, VDimension > ImageType
Compile-time trait that maps a pixel type and dimension to the corresponding ITK image type.
itk::Image< TPixelType, VDimension > ImageType
static const bool IsVectorImage
Object for compile-time translation of a composite pixel type into an itk::ImageIOBase::IOPixelType i...
static const itkIOPixelType IOCompositeType
static const itk::IOComponentEnum value
Object for compile-time translation of a pixel type into an itk::ImageIOBase::IOPixelType information...
static const itkIOComponentType IOComponentType
static const itkIOPixelType IOPixelType
Compile-time trait for resolving the ValueType from an ItkImageType.
This is an implementation of a type trait to provide a compile-time check for PixelType used in the i...