OTB  9.0.0
Orfeo Toolbox
otbWrapperTypes.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2005-2022 Centre National d'Etudes Spatiales (CNES)
3  *
4  * This file is part of Orfeo Toolbox
5  *
6  * https://www.orfeo-toolbox.org/
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20 
21 #ifndef otbWrapperTypes_h
22 #define otbWrapperTypes_h
23 
24 #include <complex>
25 #include <array>
26 #include "itkRGBPixel.h"
27 #include "itkRGBAPixel.h"
28 #include "otbImage.h"
29 #include "otbVectorImage.h"
30 #include "otbVectorData.h"
31 
32 namespace otb
33 {
34 namespace Wrapper
35 {
36 
37 typedef enum {
65 
66 namespace
67 {
68 constexpr char const* parameterTypesStrings[] = {"Int",
69  "Float",
70  "Double",
71  "String",
72  "StringList",
73  "InputFilename",
74  "InputFilenameList",
75  "OutputFilename",
76  "Directory",
77  "Choice",
78  "InputImage",
79  "InputImageList",
80  "InputVectorData",
81  "InputVectorDataList",
82  "OutputImage",
83  "OutputVectorData",
84  "Radius",
85  "Group",
86  "ListView",
87  "RAM",
88  "OutputProcessXML",
89  "InputProcessXML",
90  "Bool",
91  "Field",
92  "Band",
93 
94 };
95 static_assert(std::extent<decltype(parameterTypesStrings)>::value == ParameterType_MAX__, "Wrong number of parameters in parameterTypesStrings");
96 }
97 
98 // Free functions to convert from and to std::string
99 std::string ParameterTypeToString(ParameterType type);
100 ParameterType ParameterStringToType(const std::string& str);
101 
103 
104 typedef enum {
105  // Not int8 because not handle by Gdal
118 
119 typedef enum {
125 
126 typedef enum { Role_Input = 0, Role_Output } Role;
127 
128 // enum used for the map projection choices
129 typedef enum {
132  // Elevation_Tiff,
133 } ElevationType;
134 
135 
143 
151 
154 
155 typedef std::complex<short> Int16ComplexPixelType;
156 typedef std::complex<int> Int32ComplexPixelType;
157 typedef std::complex<float> FloatComplexPixelType;
158 typedef std::complex<double> DoubleComplexPixelType;
159 
160 // Complex Image Type
165 
170 
171 
176 
179 
180 typedef itk::ImageBase<2> ImageBaseType;
181 
182 
183 } // end namespace Wrapper
184 } // end namespace otb
185 
186 #endif // otbWrapperApplication_h_
otb::Wrapper::UInt32VectorImageType
otb::VectorImage< unsigned int > UInt32VectorImageType
Definition: otbWrapperTypes.h:148
otb::Wrapper::ParameterType_Directory
@ ParameterType_Directory
Definition: otbWrapperTypes.h:46
otb::Wrapper::ImagePixelType_uint8
@ ImagePixelType_uint8
Definition: otbWrapperTypes.h:106
otb::Wrapper::UserLevel
UserLevel
Definition: otbWrapperTypes.h:102
otb::Wrapper::FloatVectorImageListType
otb::ObjectList< FloatVectorImageType > FloatVectorImageListType
Definition: otbWrapperTypes.h:177
otb::Wrapper::ParameterType_InputImageList
@ ParameterType_InputImageList
Definition: otbWrapperTypes.h:49
otb::Wrapper::ComplexImagePixelType_float
@ ComplexImagePixelType_float
Definition: otbWrapperTypes.h:122
otb::Wrapper::ElevationType
ElevationType
Definition: otbWrapperTypes.h:129
otb::Wrapper::FloatVectorImageType
otb::VectorImage< float > FloatVectorImageType
Definition: otbWrapperTypes.h:149
otb::Wrapper::ImagePixelType_cint16
@ ImagePixelType_cint16
Definition: otbWrapperTypes.h:113
otbVectorImage.h
otb::Wrapper::VectorDataCoordinatePrecisionType
double VectorDataCoordinatePrecisionType
Definition: otbWrapperTypes.h:172
otb::Wrapper::Int32ImageType
otb::Image< int > Int32ImageType
Definition: otbWrapperTypes.h:139
otb::Wrapper::UInt16ImageType
otb::Image< unsigned short > UInt16ImageType
Definition: otbWrapperTypes.h:138
otbImage.h
otb::Wrapper::ComplexImagePixelType_int16
@ ComplexImagePixelType_int16
Definition: otbWrapperTypes.h:120
otb::Wrapper::ParameterType_Bool
@ ParameterType_Bool
Definition: otbWrapperTypes.h:60
otb::Wrapper::ParameterType_RAM
@ ParameterType_RAM
Definition: otbWrapperTypes.h:57
otb::Wrapper::DoubleImageType
otb::Image< double > DoubleImageType
Definition: otbWrapperTypes.h:142
otb::Wrapper::ParameterType_OutputFilename
@ ParameterType_OutputFilename
Definition: otbWrapperTypes.h:45
otb::Wrapper::ParameterType_Choice
@ ParameterType_Choice
Definition: otbWrapperTypes.h:47
otb::Wrapper::ParameterType_InputImage
@ ParameterType_InputImage
Definition: otbWrapperTypes.h:48
otb::Wrapper::ParameterType_InputFilenameList
@ ParameterType_InputFilenameList
Definition: otbWrapperTypes.h:44
otb::VectorData
This class represents a hierarchy of vector data.
Definition: otbVectorData.h:58
otb::Wrapper::ImagePixelType_uint16
@ ImagePixelType_uint16
Definition: otbWrapperTypes.h:108
otb::Wrapper::VectorDataListType
otb::ObjectList< VectorDataType > VectorDataListType
Definition: otbWrapperTypes.h:175
otb::Wrapper::ImagePixelType
ImagePixelType
Definition: otbWrapperTypes.h:104
otb::Wrapper::ImagePixelType_cfloat
@ ImagePixelType_cfloat
Definition: otbWrapperTypes.h:115
otb
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.
Definition: otbJoinContainer.h:32
otb::Wrapper::ParameterType_InputProcessXML
@ ParameterType_InputProcessXML
Definition: otbWrapperTypes.h:59
otb::Image
Creation of an "otb" image which contains metadata.
Definition: otbImage.h:89
otb::Wrapper::ParameterType_Field
@ ParameterType_Field
Definition: otbWrapperTypes.h:61
otb::Wrapper::ParameterStringToType
ParameterType ParameterStringToType(const std::string &str)
otb::Wrapper::Elevation_DEM
@ Elevation_DEM
Definition: otbWrapperTypes.h:130
otb::Wrapper::Int16VectorImageType
otb::VectorImage< short > Int16VectorImageType
Definition: otbWrapperTypes.h:145
otb::Wrapper::ComplexDoubleVectorImageType
otb::VectorImage< DoubleComplexPixelType, 2 > ComplexDoubleVectorImageType
Definition: otbWrapperTypes.h:169
otb::Wrapper::UInt8RGBImageType
otb::Image< itk::RGBPixel< unsigned char > > UInt8RGBImageType
Definition: otbWrapperTypes.h:152
otb::Wrapper::Int32ComplexPixelType
std::complex< int > Int32ComplexPixelType
Definition: otbWrapperTypes.h:156
otb::Wrapper::ParameterType_Group
@ ParameterType_Group
Definition: otbWrapperTypes.h:55
otb::Wrapper::ImagePixelType_double
@ ImagePixelType_double
Definition: otbWrapperTypes.h:112
otb::Wrapper::Int16ImageType
otb::Image< short > Int16ImageType
Definition: otbWrapperTypes.h:137
otb::Wrapper::UInt8VectorImageType
otb::VectorImage< unsigned char > UInt8VectorImageType
Definition: otbWrapperTypes.h:144
otb::Wrapper::ParameterType_Int
@ ParameterType_Int
Definition: otbWrapperTypes.h:38
otb::Wrapper::ParameterType_MAX__
@ ParameterType_MAX__
Definition: otbWrapperTypes.h:63
otb::Wrapper::ComplexFloatVectorImageType
otb::VectorImage< FloatComplexPixelType, 2 > ComplexFloatVectorImageType
Definition: otbWrapperTypes.h:168
otb::Wrapper::ImagePixelType_int16
@ ImagePixelType_int16
Definition: otbWrapperTypes.h:107
otb::Wrapper::UInt16VectorImageType
otb::VectorImage< unsigned short > UInt16VectorImageType
Definition: otbWrapperTypes.h:146
otb::Wrapper::ParameterType_Double
@ ParameterType_Double
Definition: otbWrapperTypes.h:40
otb::Wrapper::DoubleComplexPixelType
std::complex< double > DoubleComplexPixelType
Definition: otbWrapperTypes.h:158
otb::Wrapper::ParameterType_Band
@ ParameterType_Band
Definition: otbWrapperTypes.h:62
otb::Wrapper::UInt8RGBAImageType
otb::Image< itk::RGBAPixel< unsigned char > > UInt8RGBAImageType
Definition: otbWrapperTypes.h:153
otb::Wrapper::UserLevel_Advanced
@ UserLevel_Advanced
Definition: otbWrapperTypes.h:102
otb::Wrapper::FloatComplexPixelType
std::complex< float > FloatComplexPixelType
Definition: otbWrapperTypes.h:157
otb::Wrapper::ImagePixelType_cdouble
@ ImagePixelType_cdouble
Definition: otbWrapperTypes.h:116
otb::Wrapper::Role
Role
Definition: otbWrapperTypes.h:126
otb::Wrapper::VectorDataValuePrecisionType
double VectorDataValuePrecisionType
Definition: otbWrapperTypes.h:173
otb::Wrapper::ParameterType_OutputVectorData
@ ParameterType_OutputVectorData
Definition: otbWrapperTypes.h:53
otb::Wrapper::ParameterType_OutputProcessXML
@ ParameterType_OutputProcessXML
Definition: otbWrapperTypes.h:58
otb::Wrapper::ParameterType_Float
@ ParameterType_Float
Definition: otbWrapperTypes.h:39
otb::Wrapper::ParameterType_InputVectorDataList
@ ParameterType_InputVectorDataList
Definition: otbWrapperTypes.h:51
otb::Wrapper::ComplexInt32ImageType
otb::Image< Int32ComplexPixelType, 2 > ComplexInt32ImageType
Definition: otbWrapperTypes.h:162
otb::Wrapper::DoubleVectorImageType
otb::VectorImage< double > DoubleVectorImageType
Definition: otbWrapperTypes.h:150
otb::Wrapper::UInt8ImageType
otb::Image< unsigned char > UInt8ImageType
Definition: otbWrapperTypes.h:136
otb::Wrapper::ImageBaseType
itk::ImageBase< 2 > ImageBaseType
Definition: otbWrapperTypes.h:180
otb::Wrapper::ImagePixelType_uint32
@ ImagePixelType_uint32
Definition: otbWrapperTypes.h:110
otbVectorData.h
otb::Wrapper::ParameterType_String
@ ParameterType_String
Definition: otbWrapperTypes.h:41
otb::Wrapper::ParameterType_OutputImage
@ ParameterType_OutputImage
Definition: otbWrapperTypes.h:52
otb::Wrapper::ComplexFloatImageType
otb::Image< FloatComplexPixelType, 2 > ComplexFloatImageType
Definition: otbWrapperTypes.h:163
otb::Wrapper::ParameterType_StringList
@ ParameterType_StringList
Definition: otbWrapperTypes.h:42
otb::Wrapper::ComplexImagePixelType
ComplexImagePixelType
Definition: otbWrapperTypes.h:119
otb::Wrapper::ComplexImagePixelType_int32
@ ComplexImagePixelType_int32
Definition: otbWrapperTypes.h:121
otb::Wrapper::Elevation_Average
@ Elevation_Average
Definition: otbWrapperTypes.h:131
otb::Wrapper::ComplexInt16VectorImageType
otb::VectorImage< Int16ComplexPixelType, 2 > ComplexInt16VectorImageType
Definition: otbWrapperTypes.h:166
otb::Wrapper::FloatImageType
otb::Image< float > FloatImageType
Definition: otbWrapperTypes.h:141
otb::Wrapper::Int16ComplexPixelType
std::complex< short > Int16ComplexPixelType
Definition: otbWrapperTypes.h:155
otb::Wrapper::ComplexDoubleImageType
otb::Image< DoubleComplexPixelType, 2 > ComplexDoubleImageType
Definition: otbWrapperTypes.h:164
otb::Wrapper::ParameterTypeToString
std::string ParameterTypeToString(ParameterType type)
otb::Wrapper::ParameterType_Radius
@ ParameterType_Radius
Definition: otbWrapperTypes.h:54
otb::ObjectList
This class is a generic all-purpose wrapping around an std::vector<itk::SmartPointer<ObjectType> >.
Definition: otbObjectList.h:40
otb::Wrapper::FloatImageListType
otb::ObjectList< FloatImageType > FloatImageListType
Definition: otbWrapperTypes.h:178
otb::Wrapper::UInt32ImageType
otb::Image< unsigned int > UInt32ImageType
Definition: otbWrapperTypes.h:140
otb::Wrapper::ImagePixelType_cint32
@ ImagePixelType_cint32
Definition: otbWrapperTypes.h:114
otb::Wrapper::Role_Input
@ Role_Input
Definition: otbWrapperTypes.h:126
otb::Wrapper::ParameterType_ListView
@ ParameterType_ListView
Definition: otbWrapperTypes.h:56
otb::Wrapper::ComplexInt32VectorImageType
otb::VectorImage< Int32ComplexPixelType, 2 > ComplexInt32VectorImageType
Definition: otbWrapperTypes.h:167
otb::Wrapper::ImagePixelType_float
@ ImagePixelType_float
Definition: otbWrapperTypes.h:111
otb::Wrapper::Role_Output
@ Role_Output
Definition: otbWrapperTypes.h:126
otb::Wrapper::ComplexInt16ImageType
otb::Image< Int16ComplexPixelType, 2 > ComplexInt16ImageType
Definition: otbWrapperTypes.h:161
otb::Wrapper::Int32VectorImageType
otb::VectorImage< int > Int32VectorImageType
Definition: otbWrapperTypes.h:147
otb::Wrapper::ImagePixelType_int32
@ ImagePixelType_int32
Definition: otbWrapperTypes.h:109
otb::Wrapper::VectorDataType
otb::VectorData< VectorDataCoordinatePrecisionType, 2, VectorDataValuePrecisionType > VectorDataType
Definition: otbWrapperTypes.h:174
otb::Wrapper::ComplexImagePixelType_double
@ ComplexImagePixelType_double
Definition: otbWrapperTypes.h:123
otb::Wrapper::UserLevel_Basic
@ UserLevel_Basic
Definition: otbWrapperTypes.h:102
otb::Wrapper::ParameterType
ParameterType
Definition: otbWrapperTypes.h:37
otb::Wrapper::ParameterType_InputVectorData
@ ParameterType_InputVectorData
Definition: otbWrapperTypes.h:50
otb::VectorImage
Creation of an "otb" vector image which contains metadata.
Definition: otbVectorImage.h:45
otb::Wrapper::ParameterType_InputFilename
@ ParameterType_InputFilename
Definition: otbWrapperTypes.h:43