SimpleITK  
sitkPixelIDTypeLists.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright NumFOCUS
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *=========================================================================*/
18#ifndef sitkPixelIDTypeLists_h
19#define sitkPixelIDTypeLists_h
20
21#include <stdint.h>
22
23#include "sitkConfigure.h"
24#include "sitkPixelIDTypes.h"
25
26#include "Ancillary/type_list2.h"
27
28#include <complex>
29
30namespace itk::simple
31{
32
33
40using BasicPixelIDTypeList = typelist2::typelist<BasicPixelID<int8_t>,
46#ifdef SITK_INT64_PIXELIDS
49#endif
52
58
59
64using IntegerPixelIDTypeList = typelist2::typelist<BasicPixelID<int8_t>,
70#ifdef SITK_INT64_PIXELIDS
71 ,
74#endif
75 >;
76
81using UnsignedIntegerPixelIDTypeList = typelist2::typelist<BasicPixelID<uint8_t>,
84#ifdef SITK_INT64_PIXELIDS
85 ,
87#endif
88 >;
89
91using MaskedPixelIDTypeList = typelist2::typelist<BasicPixelID<uint8_t>>;
92
93
98using RealPixelIDTypeList = typelist2::typelist<BasicPixelID<float>, BasicPixelID<double>>;
99
105 typelist2::typelist<BasicPixelID<std::complex<float>>, BasicPixelID<std::complex<double>>>;
106
111using SignedPixelIDTypeList = typelist2::typelist<BasicPixelID<int8_t>,
114#ifdef SITK_INT64_PIXELIDS
116#endif
119
120
125using VectorPixelIDTypeList = typelist2::typelist<VectorPixelID<int8_t>,
131#ifdef SITK_INT64_PIXELIDS
134#endif
137
138
143using RealVectorPixelIDTypeList = typelist2::typelist<VectorPixelID<float>, VectorPixelID<double>>;
144
149using SignedVectorPixelIDTypeList = typelist2::typelist<VectorPixelID<int8_t>,
154
155
160using LabelPixelIDTypeList = typelist2::typelist<LabelPixelID<uint8_t>,
163#ifdef SITK_INT64_PIXELIDS
164 ,
166#endif
167 >;
168
170
180 typelist2::append<BasicPixelIDTypeList, ComplexPixelIDTypeList, VectorPixelIDTypeList>::type;
181
182
193 typelist2::append<BasicPixelIDTypeList, ComplexPixelIDTypeList, VectorPixelIDTypeList, LabelPixelIDTypeList>::type;
194
195
206
207} // namespace itk::simple
208#endif // _sitkPixelIDTypeLists_h
AllPixelIDTypeList InstantiatedPixelIDTypeList
UnsignedIntegerPixelIDTypeList IntegerLabelPixelIDTypeList
typelist2::typelist< LabelPixelID< uint8_t >, LabelPixelID< uint16_t >, LabelPixelID< uint32_t > > LabelPixelIDTypeList
typelist2::typelist< VectorPixelID< int8_t >, VectorPixelID< int16_t >, VectorPixelID< int32_t >, VectorPixelID< float >, VectorPixelID< double > > SignedVectorPixelIDTypeList
typelist2::typelist< BasicPixelID< uint8_t >, BasicPixelID< uint16_t >, BasicPixelID< uint32_t > > UnsignedIntegerPixelIDTypeList
typelist2::append< BasicPixelIDTypeList, ComplexPixelIDTypeList, VectorPixelIDTypeList >::type NonLabelPixelIDTypeList
typelist2::typelist< BasicPixelID< std::complex< float > >, BasicPixelID< std::complex< double > > > ComplexPixelIDTypeList
typelist2::typelist< BasicPixelID< int8_t >, BasicPixelID< int16_t >, BasicPixelID< int32_t >, BasicPixelID< float >, BasicPixelID< double > > SignedPixelIDTypeList
BasicPixelIDTypeList ScalarPixelIDTypeList
typelist2::typelist< BasicPixelID< float >, BasicPixelID< double > > RealPixelIDTypeList
typelist2::typelist< VectorPixelID< float >, VectorPixelID< double > > RealVectorPixelIDTypeList
typelist2::typelist< BasicPixelID< int8_t >, BasicPixelID< uint8_t >, BasicPixelID< int16_t >, BasicPixelID< uint16_t >, BasicPixelID< int32_t >, BasicPixelID< uint32_t >, BasicPixelID< float >, BasicPixelID< double > > BasicPixelIDTypeList
typelist2::typelist< BasicPixelID< int8_t >, BasicPixelID< uint8_t >, BasicPixelID< int16_t >, BasicPixelID< uint16_t >, BasicPixelID< int32_t >, BasicPixelID< uint32_t > > IntegerPixelIDTypeList
typelist2::append< BasicPixelIDTypeList, ComplexPixelIDTypeList, VectorPixelIDTypeList, LabelPixelIDTypeList >::type AllPixelIDTypeList
typelist2::typelist< VectorPixelID< int8_t >, VectorPixelID< uint8_t >, VectorPixelID< int16_t >, VectorPixelID< uint16_t >, VectorPixelID< int32_t >, VectorPixelID< uint32_t >, VectorPixelID< float >, VectorPixelID< double > > VectorPixelIDTypeList
typelist2::typelist< BasicPixelID< uint8_t > > MaskedPixelIDTypeList