18 #ifndef sitkPixelIDTokens_h
19 #define sitkPixelIDTokens_h
24 #include <type_traits>
34 template <
typename TPixelIDType>
37 static const bool Value = FalseType::value;
39 using Type =
typename FalseType::type;
41 template <
typename TPixelType>
44 static const bool Value = TrueType::value;
46 using Type =
typename TrueType::type;
48 template <
typename TPixelType,
unsigned int VImageDimension>
50 :
public IsBasic< typename ImageTypeToPixelID< itk::Image<TPixelType, VImageDimension> >::PixelIDType >
54 template <
typename TPixelIDType>
57 static const bool Value = FalseType::value;
59 using Type =
typename FalseType::type;
61 template <
typename TPixelType>
64 static const bool Value = TrueType::value;
66 using Type =
typename TrueType::type;
68 template <
typename TPixelType,
unsigned int VImageDimension>
70 :
public IsVector< typename ImageTypeToPixelID< itk::VectorImage<TPixelType, VImageDimension> >::PixelIDType >
74 template <
typename TPixelIDType>
77 static const bool Value = FalseType::value;
79 using Type =
typename FalseType::type;
81 template <
typename TPixelType>
84 static const bool Value = TrueType::value;
86 using Type =
typename TrueType::type;
88 template <
typename TLabelType,
unsigned int VImageDimension>
90 :
public IsLabel< typename ImageTypeToPixelID< itk::LabelMap< itk::LabelObject< TLabelType, VImageDimension > > >::PixelIDType >
94 template <
typename TPixelIDType,
unsigned int VImageDimension =0>
98 && ( (VImageDimension == 0) ||
100 using ValueType =
typename std::integral_constant<bool, Value>::value_type;
101 using Type =
typename std::integral_constant<bool, Value>::type;
103 template <
typename TPixelType,
unsigned int VImageDimension >
105 :
public IsInstantiated< typename ImageTypeToPixelID< itk::Image<TPixelType, VImageDimension> >::PixelIDType, VImageDimension >
107 template <
typename TPixelType,
unsigned int VImageDimension>
109 :
public IsInstantiated< typename ImageTypeToPixelID< itk::VectorImage<TPixelType, VImageDimension> >::PixelIDType, VImageDimension >
111 template <
typename TLabelType,
unsigned int VImageDimension>
113 :
public IsInstantiated< typename ImageTypeToPixelID< itk::LabelMap< itk::LabelObject< TLabelType, VImageDimension > > >::PixelIDType, VImageDimension >
119 #endif // _sitkPixelIDTokens_h