OTB  6.7.0
Orfeo Toolbox
otbSpotImageMetadataInterface.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2005-2017 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 otbSpotImageMetadataInterface_h
22 #define otbSpotImageMetadataInterface_h
23 
25 
26 namespace otb
27 {
36 {
37 public:
38 
43 
45  itkNewMacro(Self);
46 
49 
50  typedef Superclass::ImageType ImageType;
51  typedef Superclass::MetaDataDictionaryType MetaDataDictionaryType;
54  typedef Superclass::ImageKeywordlistType ImageKeywordlistType;
55 
57  VariableLengthVectorType GetPhysicalBias() const override;
58 
60  VariableLengthVectorType GetPhysicalGain() const override;
61 
63  VariableLengthVectorType GetSolarIrradiance() const override;
64 
66  int GetDay() const override;
67 
69  int GetMonth() const override;
70 
72  int GetYear() const override;
73 
75  int GetHour() const override;
76 
78  int GetMinute() const override;
79 
81  int GetProductionDay() const override;
82 
84  int GetProductionMonth() const override;
85 
87  int GetProductionYear() const override;
88 
90  double GetSatElevation() const override;
91 
93  double GetSatAzimuth() const override;
94 
96  VariableLengthVectorType GetFirstWavelengths() const override;
97 
99  VariableLengthVectorType GetLastWavelengths() const override;
100 
102  std::vector<std::string> GetEnhancedBandNames() const override
103  {
104  return this->Superclass::GetBandName();
105  }
106 
108  std::string GetInstrument() const;
109 
111  unsigned int GetInstrumentIndex() const;
112 
117  unsigned int BandIndexToWavelengthPosition(unsigned int i) const override;
118 
121  std::vector<unsigned int> GetDefaultDisplay() const override;
122 
123  bool CanRead() const override;
124 
127  WavelengthSpectralBandVectorType GetSpectralSensitivity() const override;
128 
129 protected:
132 
133 private:
134 
135  SpotImageMetadataInterface(const Self &); //purposely not implemented
136  void operator =(const Self&); //purposely not implemented
137 
138 };
139 
140 } // end namespace otb
141 
142 #endif
OpticalImageMetadataInterface Superclass
std::vector< double > VectorType
itk::SmartPointer< const Self > ConstPointer
itk::VariableLengthVector< double > VariableLengthVectorType
Creation of an "otb" SpotImageMetadataInterface that gets metadata.
Superclass::VariableLengthVectorType VariableLengthVectorType
Superclass::MetaDataDictionaryType MetaDataDictionaryType
Superclass::ImageKeywordlistType ImageKeywordlistType
Class for Optical captor metadata reading.
std::vector< std::string > GetEnhancedBandNames() const override