18 #ifndef __otbPolarimetricSynthesisFilter_h
19 #define __otbPolarimetricSynthesisFilter_h
64 template <
class TInputImageHH,
class TInputImageHV,
class TInputImageVH,
class TInputImageVV,
class TOutputImage,
65 class TFunction = Functor::PolarimetricSynthesisFunctor<
66 typename TInputImageHH::PixelType,
67 typename TInputImageHV::PixelType,
68 typename TInputImageVH::PixelType,
69 typename TInputImageVV::PixelType,
70 typename TOutputImage::PixelType> >
72 TInputImageHV, TInputImageVH,
73 TInputImageVV, TOutputImage,
81 TInputImageVH, TInputImageVV, TOutputImage, TFunction>
Superclass;
109 void SetInputHH(
const TInputImageHH * image);
110 void SetInputHV(
const TInputImageHV * image);
111 void SetInputVH(
const TInputImageVH * image);
112 void SetInputVV(
const TInputImageVV * image);
115 itkSetMacro(PsiI,
double);
116 itkGetMacro(PsiI,
double);
118 itkSetMacro(KhiI,
double);
119 itkGetMacro(KhiI,
double);
121 itkSetMacro(PsiR,
double);
122 itkGetMacro(PsiR,
double);
124 itkSetMacro(KhiR,
double);
125 itkGetMacro(KhiR,
double);
127 itkSetMacro(Mode,
int);
128 itkGetMacro(Mode,
int);
130 itkSetMacro(Gain,
double);
135 this->GetFunctor().SetEi(ei);
142 this->GetFunctor().SetEr(er);
148 void ForceCrossPolar();
156 virtual void GenerateOutputInformation();
158 virtual void BeforeThreadedGenerateData();
166 virtual void ThreadedGenerateData(
const OutputImageRegionType& outputRegionForThread,
170 void ComputeElectromagneticFields();
173 void VerifyAndForceInputs();
175 void PrintSelf(std::ostream& os,
itk::Indent indent)
const;
180 void operator =(
const Self&);
204 bool m_PresentInputImages[4];
210 #ifndef OTB_MANUAL_INSTANTIATION