28#ifndef itkPixelTraits_h
29#define itkPixelTraits_h
44template <
typename TPixelType>
49 static constexpr unsigned int Dimension = TPixelType::Length;
65 static constexpr unsigned int Dimension = 1;
70class PixelTraits<char>
73 static constexpr unsigned int Dimension = 1;
78class PixelTraits<signed char>
81 static constexpr unsigned int Dimension = 1;
86class PixelTraits<unsigned char>
89 static constexpr unsigned int Dimension = 1;
94class PixelTraits<short>
97 static constexpr unsigned int Dimension = 1;
102class PixelTraits<unsigned short>
105 static constexpr unsigned int Dimension = 1;
110class PixelTraits<int>
113 static constexpr unsigned int Dimension = 1;
118class PixelTraits<unsigned int>
121 static constexpr unsigned int Dimension = 1;
126class PixelTraits<long>
129 static constexpr unsigned int Dimension = 1;
134class PixelTraits<unsigned long>
137 static constexpr unsigned int Dimension = 1;
143class PixelTraits<long long>
146 static constexpr unsigned int Dimension = 1;
151class PixelTraits<unsigned long long>
154 static constexpr unsigned int Dimension = 1;
159class PixelTraits<float>
162 static constexpr unsigned int Dimension = 1;
167class PixelTraits<double>
170 static constexpr unsigned int Dimension = 1;
194template <
typename TValue1,
typename TValue2>
215class JoinTraits<bool, char>
222class JoinTraits<bool, unsigned char>
229class JoinTraits<bool, short>
236class JoinTraits<bool, unsigned short>
243class JoinTraits<bool, int>
250class JoinTraits<bool, unsigned int>
257class JoinTraits<bool, long>
264class JoinTraits<bool, unsigned long>
272class JoinTraits<bool, long long>
279class JoinTraits<bool, unsigned long long>
286class JoinTraits<bool, float>
293class JoinTraits<bool, double>
304class JoinTraits<char, bool>
311class JoinTraits<char, char>
318class JoinTraits<char, unsigned char>
325class JoinTraits<char, short>
332class JoinTraits<char, unsigned short>
339class JoinTraits<char, int>
346class JoinTraits<char, unsigned int>
354class JoinTraits<char, long>
361class JoinTraits<char, unsigned long>
368class JoinTraits<char, long long>
375class JoinTraits<char, unsigned long long>
382class JoinTraits<char, float>
389class JoinTraits<char, double>
400class JoinTraits<unsigned char, bool>
407class JoinTraits<unsigned char, char>
414class JoinTraits<unsigned char, unsigned char>
421class JoinTraits<unsigned char, short>
428class JoinTraits<unsigned char, unsigned short>
435class JoinTraits<unsigned char, int>
442class JoinTraits<unsigned char, unsigned int>
449class JoinTraits<unsigned char, long>
456class JoinTraits<unsigned char, unsigned long>
463class JoinTraits<unsigned char, long long>
470class JoinTraits<unsigned char, unsigned long long>
477class JoinTraits<unsigned char, float>
484class JoinTraits<unsigned char, double>
495class JoinTraits<short, bool>
502class JoinTraits<short, char>
509class JoinTraits<short, unsigned char>
516class JoinTraits<short, short>
523class JoinTraits<short, unsigned short>
530class JoinTraits<short, int>
537class JoinTraits<short, unsigned int>
545class JoinTraits<short, long>
552class JoinTraits<short, unsigned long>
559class JoinTraits<short, long long>
566class JoinTraits<short, unsigned long long>
573class JoinTraits<short, float>
580class JoinTraits<short, double>
591class JoinTraits<unsigned short, bool>
598class JoinTraits<unsigned short, char>
605class JoinTraits<unsigned short, unsigned char>
612class JoinTraits<unsigned short, short>
619class JoinTraits<unsigned short, unsigned short>
626class JoinTraits<unsigned short, int>
633class JoinTraits<unsigned short, unsigned int>
640class JoinTraits<unsigned short, long>
647class JoinTraits<unsigned short, unsigned long>
654class JoinTraits<unsigned short, long long>
661class JoinTraits<unsigned short, unsigned long long>
668class JoinTraits<unsigned short, float>
675class JoinTraits<unsigned short, double>
686class JoinTraits<int, bool>
693class JoinTraits<int, char>
700class JoinTraits<int, unsigned char>
707class JoinTraits<int, short>
714class JoinTraits<int, unsigned short>
721class JoinTraits<int, int>
728class JoinTraits<int, unsigned int>
736class JoinTraits<int, long>
743class JoinTraits<int, unsigned long>
750class JoinTraits<int, long long>
757class JoinTraits<int, unsigned long long>
764class JoinTraits<int, float>
771class JoinTraits<int, double>
782class JoinTraits<unsigned int, bool>
789class JoinTraits<unsigned int, char>
797class JoinTraits<unsigned int, unsigned char>
804class JoinTraits<unsigned int, short>
812class JoinTraits<unsigned int, unsigned short>
819class JoinTraits<unsigned int, int>
827class JoinTraits<unsigned int, unsigned int>
834class JoinTraits<unsigned int, long>
841class JoinTraits<unsigned int, unsigned long>
848class JoinTraits<unsigned int, long long>
855class JoinTraits<unsigned int, unsigned long long>
862class JoinTraits<unsigned int, float>
869class JoinTraits<unsigned int, double>
880class JoinTraits<long, bool>
887class JoinTraits<long, char>
894class JoinTraits<long, unsigned char>
901class JoinTraits<long, short>
908class JoinTraits<long, unsigned short>
915class JoinTraits<long, int>
922class JoinTraits<long, unsigned int>
929class JoinTraits<long, long>
936class JoinTraits<long, unsigned long>
944class JoinTraits<long, long long>
951class JoinTraits<long, unsigned long long>
958class JoinTraits<long, float>
965class JoinTraits<long, double>
976class JoinTraits<unsigned long, bool>
983class JoinTraits<unsigned long, char>
990class JoinTraits<unsigned long, unsigned char>
997class JoinTraits<unsigned long, short>
1004class JoinTraits<unsigned long, unsigned short>
1011class JoinTraits<unsigned long, int>
1018class JoinTraits<unsigned long, unsigned int>
1025class JoinTraits<unsigned long, long>
1032class JoinTraits<unsigned long, unsigned long>
1039class JoinTraits<unsigned long, long long>
1046class JoinTraits<unsigned long, unsigned long long>
1053class JoinTraits<unsigned long, float>
1060class JoinTraits<unsigned long, double>
1072class JoinTraits<long long, bool>
1079class JoinTraits<long long, char>
1086class JoinTraits<long long, unsigned char>
1093class JoinTraits<long long, short>
1100class JoinTraits<long long, unsigned short>
1107class JoinTraits<long long, int>
1114class JoinTraits<long long, unsigned int>
1121class JoinTraits<long long, long>
1128class JoinTraits<long long, unsigned long>
1135class JoinTraits<long long, long long>
1142class JoinTraits<long long, unsigned long long>
1149class JoinTraits<long long, float>
1156class JoinTraits<long long, double>
1167class JoinTraits<unsigned long long, bool>
1174class JoinTraits<unsigned long long, char>
1181class JoinTraits<unsigned long long, unsigned char>
1188class JoinTraits<unsigned long long, short>
1195class JoinTraits<unsigned long long, unsigned short>
1202class JoinTraits<unsigned long long, int>
1209class JoinTraits<unsigned long long, unsigned int>
1216class JoinTraits<unsigned long long, long>
1223class JoinTraits<unsigned long long, unsigned long>
1230class JoinTraits<unsigned long long, long long>
1237class JoinTraits<unsigned long long, unsigned long long>
1244class JoinTraits<unsigned long long, float>
1251class JoinTraits<unsigned long long, double>
1263class JoinTraits<float, bool>
1270class JoinTraits<float, char>
1277class JoinTraits<float, unsigned char>
1284class JoinTraits<float, short>
1291class JoinTraits<float, unsigned short>
1298class JoinTraits<float, int>
1305class JoinTraits<float, unsigned int>
1312class JoinTraits<float, long>
1319class JoinTraits<float, unsigned long>
1326class JoinTraits<float, long long>
1333class JoinTraits<float, unsigned long long>
1340class JoinTraits<float, float>
1347class JoinTraits<float, double>
1358class JoinTraits<double, bool>
1365class JoinTraits<double, char>
1372class JoinTraits<double, unsigned char>
1379class JoinTraits<double, short>
1386class JoinTraits<double, unsigned short>
1393class JoinTraits<double, int>
1400class JoinTraits<double, unsigned int>
1407class JoinTraits<double, long>
1414class JoinTraits<double, unsigned long>
1421class JoinTraits<double, long long>
1428class JoinTraits<double, unsigned long long>
1435class JoinTraits<double, float>
1442class JoinTraits<double, double>
Trait to determine what datatype is needed if the specified pixel types are "joined" into a single ve...
Traits for a pixel that define the dimension and component type.
typename TPixelType::ValueType ValueType
static constexpr unsigned int Dimension
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....