Orfeo ToolBox  4.2
Orfeo ToolBox is not a black box
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 
23 
24 namespace otb
25 {
35 template <class TSpectralResponse , class TRSR>
37  : public itk::DataObject
38  {
39  public:
45 
48  typedef TSpectralResponse InputSpectralResponseType;
51  typedef TRSR InputRSRType;
52 
53  typedef typename InputRSRType::Pointer InputRSRPointerType;
54  typedef typename InputSpectralResponseType::Pointer InputSpectralResponsePointerType;
55 
56  typedef typename InputRSRType::PrecisionType PrecisionType;
57  typedef typename InputRSRType::ValuePrecisionType ValuePrecisionType;
58  typedef typename InputSpectralResponseType::PairType PairType;
59 
60 
63 
65  itkNewMacro(Self);
66  itkTypeMacro(AtmosphericEffects, DataObject);
67 
68  itkGetConstObjectMacro(InputSatRSR, InputRSRType);
69  itkSetObjectMacro(InputSatRSR, InputRSRType);
70 
71  itkGetConstObjectMacro(InputSpectralResponse, InputSpectralResponseType);
72  itkSetObjectMacro(InputSpectralResponse, InputSpectralResponseType);
73 
76  {
77  m_AtmosphericRadiativeTerms = atmoRadTerms;
78  this->Modified();
79  }
81  //itkSetObjectMacro(AtmosphericRadiativeTerms, AtmosphericRadiativeTermsType);
82 
83  itkGetObjectMacro(CorrectedSpectralResponse, InputSpectralResponseType);
84 
85 
86 // void LoadFilterFunctionAtmosphericCorrectionParameters( double step = 0.0025);
87  void Process(/*const unsigned int numBand*/);
88 
89  protected:
93  //AtmosphericEffects( const std::string & filename );
95  virtual ~AtmosphericEffects() {};
97  //void PrintSelf(std::ostream& os, itk::Indent indent) const;
98 
99 
100  private:
101  AtmosphericEffects(const Self&); //purposely not implemented
102  void operator=(const Self&); //purposely not implemented
103 
108 
110 
111  };
112 }// end namespace otb
113 
114 
115 #ifndef OTB_MANUAL_INSTANTIATION
116 #include "otbAtmosphericEffects.txx"
117 #endif
118 
119 #endif
InputSpectralResponseType::PairType PairType
AtmosphericRadiativeTermsType::Pointer AtmosphericRadiativeTermsPointerType
InputSpectralResponseType::Pointer InputSpectralResponsePointerType
void operator=(const Self &)
InputRSRType::Pointer InputRSRPointerType
InputSpectralResponsePointerType m_InputSpectralResponse
InputRSRType::ValuePrecisionType ValuePrecisionType
DataObject(const Self &)
void SetAtmosphericRadiativeTerms(AtmosphericRadiativeTermsPointerType atmoRadTerms)
InputRSRType::PrecisionType PrecisionType
itk::SmartPointer< Self > Pointer
This class applies atmospheric effects, computed from otbAtmosphericCorrectionParametersTo6SRadiative...
InputRSRPointerType m_InputSatRSR
This class is a vector of AtmosphericRadiativeTermsSingleChannel, it contains all atmospheric radiati...
InputSpectralResponsePointerType m_CorrectedSpectralResponse
otb::AtmosphericRadiativeTerms AtmosphericRadiativeTermsType
itk::SmartPointer< const Self > ConstPointer
TSpectralResponse InputSpectralResponseType
AtmosphericRadiativeTermsPointerType m_AtmosphericRadiativeTerms