OTB  6.7.0
Orfeo Toolbox
otbFormosatImageMetadataInterface.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2005-2019 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 otbFormosatImageMetadataInterface_h
22 #define otbFormosatImageMetadataInterface_h
23 
25 #include <string>
26 
27 namespace otb
28 {
37 {
38 public:
39 
44 
46  itkNewMacro(Self);
47 
50 
51  typedef Superclass::ImageType ImageType;
52  typedef Superclass::MetaDataDictionaryType MetaDataDictionaryType;
55  typedef Superclass::ImageKeywordlistType ImageKeywordlistType;
56 
58  VariableLengthVectorType GetPhysicalBias() const override;
59 
61  VariableLengthVectorType GetPhysicalGain() const override;
62 
64  VariableLengthVectorType GetSolarIrradiance() const override;
65 
67  int GetDay() const override;
68 
70  int GetMonth() const override;
71 
73  int GetYear() const override;
74 
76  int GetHour() const override;
77 
79  int GetMinute() const override;
80 
82  int GetProductionDay() const override;
83 
85  int GetProductionMonth() const override;
86 
88  int GetProductionYear() const override;
89 
91  double GetSatElevation() const override;
92 
94  double GetSatAzimuth() const override;
95 
97  VariableLengthVectorType GetFirstWavelengths() const override;
98 
100  VariableLengthVectorType GetLastWavelengths() const override;
101 
103  std::string GetInstrument() const;
104 
106  std::vector<std::string> GetEnhancedBandNames() const override
107  {
108  return this->Superclass::GetBandName();
109  }
110 
112  unsigned int GetInstrumentIndex() const;
113 
118  unsigned int BandIndexToWavelengthPosition(unsigned int i) const override;
119 
122  std::vector<unsigned int> GetDefaultDisplay() const override;
123 
124  bool CanRead() const override;
125 
128  WavelengthSpectralBandVectorType GetSpectralSensitivity() const override;
129 
130 protected:
133 
134 private:
135 
136  FormosatImageMetadataInterface(const Self &) = delete;
137  void operator =(const Self&) = delete;
138 
139 };
140 
141 } // end namespace otb
142 
143 #endif
Base class for captor metadata reading.
Superclass::ImageKeywordlistType ImageKeywordlistType
std::vector< double > VectorType
itk::VariableLengthVector< double > VariableLengthVectorType
Superclass::VariableLengthVectorType VariableLengthVectorType
Class for Optical captor metadata reading.
Creation of an "otb" FormosatImageMetadataInterface that gets metadata.
Superclass::MetaDataDictionaryType MetaDataDictionaryType
std::vector< std::string > GetEnhancedBandNames() const override