OTB  10.0.0
Orfeo Toolbox
otbWrapperTypes.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2005-2024 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
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,
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_
Creation of an "otb" image which contains metadata.
Definition: otbImage.h:92
This class is a generic all-purpose wrapping around an std::vector<itk::SmartPointer<ObjectType> >.
Definition: otbObjectList.h:41
This class represents a hierarchy of vector data.
Definition: otbVectorData.h:62
Creation of an "otb" vector image which contains metadata.
otb::Image< double > DoubleImageType
otb::Image< DoubleComplexPixelType, 2 > ComplexDoubleImageType
otb::VectorImage< float > FloatVectorImageType
itk::ImageBase< 2 > ImageBaseType
otb::Image< Int16ComplexPixelType, 2 > ComplexInt16ImageType
otb::VectorImage< short > Int16VectorImageType
otb::Image< unsigned short > UInt16ImageType
otb::VectorImage< unsigned short > UInt16VectorImageType
std::complex< double > DoubleComplexPixelType
otb::VectorImage< Int32ComplexPixelType, 2 > ComplexInt32VectorImageType
otb::VectorImage< DoubleComplexPixelType, 2 > ComplexDoubleVectorImageType
otb::Image< short > Int16ImageType
otb::ObjectList< FloatImageType > FloatImageListType
otb::Image< float > FloatImageType
std::complex< float > FloatComplexPixelType
otb::VectorData< VectorDataCoordinatePrecisionType, 2, VectorDataValuePrecisionType > VectorDataType
std::complex< int > Int32ComplexPixelType
otb::Image< unsigned char > UInt8ImageType
otb::Image< itk::RGBPixel< unsigned char > > UInt8RGBImageType
otb::VectorImage< int > Int32VectorImageType
double VectorDataCoordinatePrecisionType
std::string ParameterTypeToString(ParameterType type)
otb::VectorImage< double > DoubleVectorImageType
@ ParameterType_InputFilename
@ ParameterType_OutputProcessXML
@ ParameterType_InputVectorData
@ ParameterType_InputVectorDataList
@ ParameterType_InputProcessXML
@ ParameterType_InputFilenameList
@ ParameterType_OutputFilename
@ ParameterType_OutputVectorData
@ ParameterType_InputImageList
otb::Image< Int32ComplexPixelType, 2 > ComplexInt32ImageType
otb::Image< unsigned int > UInt32ImageType
otb::Image< FloatComplexPixelType, 2 > ComplexFloatImageType
std::complex< short > Int16ComplexPixelType
otb::Image< int > Int32ImageType
otb::ObjectList< VectorDataType > VectorDataListType
otb::VectorImage< unsigned char > UInt8VectorImageType
otb::ObjectList< FloatVectorImageType > FloatVectorImageListType
@ ComplexImagePixelType_double
double VectorDataValuePrecisionType
ParameterType ParameterStringToType(const std::string &str)
otb::VectorImage< Int16ComplexPixelType, 2 > ComplexInt16VectorImageType
otb::VectorImage< unsigned int > UInt32VectorImageType
otb::Image< itk::RGBAPixel< unsigned char > > UInt8RGBAImageType
otb::VectorImage< FloatComplexPixelType, 2 > ComplexFloatVectorImageType
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.