OTB  7.2.0
Orfeo Toolbox
otbWrapperTypes.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2005-2020 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 {
63 
64 namespace
65 {
66 constexpr char const* parameterTypesStrings[] = {"Int",
67  "Float",
68  "Double",
69  "String",
70  "StringList",
71  "InputFilename",
72  "InputFilenameList",
73  "OutputFilename",
74  "Directory",
75  "Choice",
76  "InputImage",
77  "InputImageList",
78  "InputVectorData",
79  "InputVectorDataList",
80  "OutputImage",
81  "OutputVectorData",
82  "Radius",
83  "Group",
84  "ListView",
85  "RAM",
86  "OutputProcessXML",
87  "InputProcessXML",
88  "Bool"};
89 static_assert(std::extent<decltype(parameterTypesStrings)>::value == ParameterType_MAX__, "Wrong number of parameters in parameterTypesStrings");
90 }
91 
92 // Free functions to convert from and to std::string
93 std::string ParameterTypeToString(ParameterType type);
94 ParameterType ParameterStringToType(const std::string& str);
95 
97 
98 typedef enum {
99  // Not int8 because not handle by Gdal
112 
113 typedef enum {
119 
120 typedef enum { Role_Input = 0, Role_Output } Role;
121 
122 // enum used for the map projection choices
123 typedef enum {
126  // Elevation_Tiff,
127 } ElevationType;
128 
129 
137 
145 
148 
149 typedef std::complex<short> Int16ComplexPixelType;
150 typedef std::complex<int> Int32ComplexPixelType;
151 typedef std::complex<float> FloatComplexPixelType;
152 typedef std::complex<double> DoubleComplexPixelType;
153 
154 // Complex Image Type
159 
164 
165 
170 
173 
174 typedef itk::ImageBase<2> ImageBaseType;
175 
176 
177 } // end namespace Wrapper
178 } // end namespace otb
179 
180 #endif // otbWrapperApplication_h_
otb::VectorImage< DoubleComplexPixelType, 2 > ComplexDoubleVectorImageType
Creation of an "otb" vector image which contains metadata.
otb::ObjectList< FloatVectorImageType > FloatVectorImageListType
otb::Image< Int16ComplexPixelType, 2 > ComplexInt16ImageType
otb::Image< Int32ComplexPixelType, 2 > ComplexInt32ImageType
otb::VectorData< VectorDataCoordinatePrecisionType, 2, VectorDataValuePrecisionType > VectorDataType
std::complex< float > FloatComplexPixelType
otb::VectorImage< Int16ComplexPixelType, 2 > ComplexInt16VectorImageType
ParameterType ParameterStringToType(const std::string &str)
otb::Image< double > DoubleImageType
otb::VectorImage< unsigned short > UInt16VectorImageType
std::complex< double > DoubleComplexPixelType
std::complex< int > Int32ComplexPixelType
double VectorDataCoordinatePrecisionType
otb::VectorImage< double > DoubleVectorImageType
itk::ImageBase< 2 > ImageBaseType
otb::Image< unsigned char > UInt8ImageType
otb::VectorImage< FloatComplexPixelType, 2 > ComplexFloatVectorImageType
otb::VectorImage< unsigned int > UInt32VectorImageType
otb::VectorImage< unsigned char > UInt8VectorImageType
This class is a generic all-purpose wrapping around an std::vector<itk::SmartPointer<ObjectType> >...
Definition: otbObjectList.h:40
otb::Image< short > Int16ImageType
std::complex< short > Int16ComplexPixelType
otb::ObjectList< FloatImageType > FloatImageListType
otb::VectorImage< float > FloatVectorImageType
otb::Image< unsigned int > UInt32ImageType
Creation of an "otb" image which contains metadata.
Definition: otbImage.h:89
otb::Image< float > FloatImageType
otb::VectorImage< Int32ComplexPixelType, 2 > ComplexInt32VectorImageType
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.
otb::ObjectList< VectorDataType > VectorDataListType
std::string ParameterTypeToString(ParameterType type)
otb::VectorImage< int > Int32VectorImageType
static constexpr GLenum value() noexcept
otb::Image< int > Int32ImageType
This class represents a hierarchy of vector data.
Definition: otbVectorData.h:58
otb::Image< unsigned short > UInt16ImageType
otb::Image< itk::RGBAPixel< unsigned char > > UInt8RGBAImageType
otb::Image< FloatComplexPixelType, 2 > ComplexFloatImageType
double VectorDataValuePrecisionType
otb::VectorImage< short > Int16VectorImageType
otb::Image< itk::RGBPixel< unsigned char > > UInt8RGBImageType
otb::Image< DoubleComplexPixelType, 2 > ComplexDoubleImageType