18 #ifndef sitkPixelIDTokens_h
19 #define sitkPixelIDTokens_h
24 #include <type_traits>
32 template <
typename TPixelIDType>
35 static const bool Value = FalseType::value;
37 using Type =
typename FalseType::type;
39 template <
typename TPixelType>
42 static const bool Value = TrueType::value;
44 using Type =
typename TrueType::type;
46 template <
typename TPixelType,
unsigned int VImageDimension>
48 :
public IsBasic< typename ImageTypeToPixelID< itk::Image<TPixelType, VImageDimension> >::PixelIDType >
52 template <
typename TPixelIDType>
55 static const bool Value = FalseType::value;
57 using Type =
typename FalseType::type;
59 template <
typename TPixelType>
62 static const bool Value = TrueType::value;
64 using Type =
typename TrueType::type;
66 template <
typename TPixelType,
unsigned int VImageDimension>
68 :
public IsVector< typename ImageTypeToPixelID< itk::VectorImage<TPixelType, VImageDimension> >::PixelIDType >
72 template <
typename TPixelIDType>
75 static const bool Value = FalseType::value;
77 using Type =
typename FalseType::type;
79 template <
typename TPixelType>
82 static const bool Value = TrueType::value;
84 using Type =
typename TrueType::type;
86 template <
typename TLabelType,
unsigned int VImageDimension>
88 :
public IsLabel< typename ImageTypeToPixelID< itk::LabelMap< itk::LabelObject< TLabelType, VImageDimension > > >::PixelIDType >
92 template <
typename TPixelIDType,
unsigned int VImageDimension =0>
96 && ( (VImageDimension == 0) ||
98 using ValueType =
typename std::integral_constant<bool, Value>::value_type;
99 using Type =
typename std::integral_constant<bool, Value>::type;
101 template <
typename TPixelType,
unsigned int VImageDimension >
103 :
public IsInstantiated< typename ImageTypeToPixelID< itk::Image<TPixelType, VImageDimension> >::PixelIDType, VImageDimension >
105 template <
typename TPixelType,
unsigned int VImageDimension>
107 :
public IsInstantiated< typename ImageTypeToPixelID< itk::VectorImage<TPixelType, VImageDimension> >::PixelIDType, VImageDimension >
109 template <
typename TLabelType,
unsigned int VImageDimension>
111 :
public IsInstantiated< typename ImageTypeToPixelID< itk::LabelMap< itk::LabelObject< TLabelType, VImageDimension > > >::PixelIDType, VImageDimension >
116 #endif // _sitkPixelIDTokens_h