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>
89 typename ImageTypeToPixelID<itk::LabelMap<itk::LabelObject<TLabelType, VImageDimension>>>::PixelIDType>
93 template <
typename TPixelIDType,
unsigned int VImageDimension = 0>
97 ((VImageDimension == 0) || (VImageDimension >= 2 && VImageDimension <=
SITK_MAX_DIMENSION));
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,
106 template <
typename TPixelType,
unsigned int VImageDimension>
108 :
public IsInstantiated<typename ImageTypeToPixelID<itk::VectorImage<TPixelType, VImageDimension>>::PixelIDType,
111 template <
typename TLabelType,
unsigned int VImageDimension>
114 typename ImageTypeToPixelID<itk::LabelMap<itk::LabelObject<TLabelType, VImageDimension>>>::PixelIDType,
120 #endif // _sitkPixelIDTokens_h