OTB  5.0.0
Orfeo Toolbox
otbAtmosphericEffects.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ORFEO Toolbox
4  Language: C++
5  Date: $Date$
6  Version: $Revision$
7 
8 
9  Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
10  See OTBCopyright.txt for details.
11 
12 
13  This software is distributed WITHOUT ANY WARRANTY; without even
14  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  PURPOSE. See the above copyright notices for more information.
16 
17 =========================================================================*/
18 #ifndef __otbAtmosphericEffects_h
19 #define __otbAtmosphericEffects_h
20 
22 
23 namespace otb
24 {
36 template <class TSpectralResponse , class TRSR>
38  : public itk::DataObject
39  {
40  public:
46 
50  typedef TSpectralResponse InputSpectralResponseType;
51 
55  typedef TRSR InputRSRType;
56 
57  typedef typename InputRSRType::Pointer InputRSRPointerType;
58  typedef typename InputSpectralResponseType::Pointer InputSpectralResponsePointerType;
59 
60  typedef typename InputRSRType::PrecisionType PrecisionType;
61  typedef typename InputRSRType::ValuePrecisionType ValuePrecisionType;
62  typedef typename InputSpectralResponseType::PairType PairType;
63 
64 
67 
69  itkNewMacro(Self);
70  itkTypeMacro(AtmosphericEffects, DataObject);
72 
73  itkGetConstObjectMacro(InputSatRSR, InputRSRType);
74  itkSetObjectMacro(InputSatRSR, InputRSRType);
75 
76  itkGetConstObjectMacro(InputSpectralResponse, InputSpectralResponseType);
77  itkSetObjectMacro(InputSpectralResponse, InputSpectralResponseType);
78 
81  {
82  m_AtmosphericRadiativeTerms = atmoRadTerms;
83  this->Modified();
84  }
86  //itkSetObjectMacro(AtmosphericRadiativeTerms, AtmosphericRadiativeTermsType);
88 
89  itkGetObjectMacro(CorrectedSpectralResponse, InputSpectralResponseType);
90 
91 
92 // void LoadFilterFunctionAtmosphericCorrectionParameters( double step = 0.0025);
93  void Process(/*const unsigned int numBand*/);
94 
95  protected:
98 
100  //AtmosphericEffects( const std::string & filename );
101 
103  virtual ~AtmosphericEffects() {};
104 
106  //void PrintSelf(std::ostream& os, itk::Indent indent) const;
107 
108 
109  private:
110  AtmosphericEffects(const Self&); //purposely not implemented
111  void operator=(const Self&); //purposely not implemented
112 
117 
119 
120  };
121 }// end namespace otb
122 
123 
124 #ifndef OTB_MANUAL_INSTANTIATION
125 #include "otbAtmosphericEffects.txx"
126 #endif
127 
128 #endif
InputSpectralResponseType::PairType PairType
AtmosphericRadiativeTermsType::Pointer AtmosphericRadiativeTermsPointerType
InputSpectralResponseType::Pointer InputSpectralResponsePointerType
void operator=(const Self &)
InputRSRType::Pointer InputRSRPointerType
InputSpectralResponsePointerType m_InputSpectralResponse
InputRSRType::ValuePrecisionType ValuePrecisionType
void SetAtmosphericRadiativeTerms(AtmosphericRadiativeTermsPointerType atmoRadTerms)
InputRSRType::PrecisionType PrecisionType
itk::SmartPointer< Self > Pointer
This class applies atmospheric effects, computed from otbAtmosphericCorrectionParametersTo6SRadiative...
InputRSRPointerType m_InputSatRSR
virtual void Modified() const
This class is a vector of AtmosphericRadiativeTermsSingleChannel, it contains all atmospheric radiati...
InputSpectralResponsePointerType m_CorrectedSpectralResponse
itkGetObjectMacro(CorrectedSpectralResponse, InputSpectralResponseType)
otb::AtmosphericRadiativeTerms AtmosphericRadiativeTermsType
itk::SmartPointer< const Self > ConstPointer
TSpectralResponse InputSpectralResponseType
AtmosphericRadiativeTermsPointerType m_AtmosphericRadiativeTerms