22 #ifndef otbMuellerToReciprocalCovarianceImageFilter_h
23 #define otbMuellerToReciprocalCovarianceImageFilter_h
70 template <
class TInput,
class TOutput>
77 inline void operator()(TOutput& result,
const TInput& Mueller)
const
80 const double M11 =
static_cast<double>(Mueller[0]);
81 const double M12 =
static_cast<double>(Mueller[1]);
82 const double M13 =
static_cast<double>(Mueller[2]);
83 const double M14 =
static_cast<double>(Mueller[3]);
84 const double M22 =
static_cast<double>(Mueller[5]);
85 const double M23 =
static_cast<double>(Mueller[6]);
86 const double M24 =
static_cast<double>(Mueller[7]);
87 const double M33 =
static_cast<double>(Mueller[10]);
88 const double M34 =
static_cast<double>(Mueller[11]);
89 const double M44 =
static_cast<double>(Mueller[15]);
93 const ComplexType B(0.5 * std::sqrt(2.0) * (M13 + M23), 0.5 * std::sqrt(2.0) * (M14 + M24));
96 const ComplexType F(0.5 * std::sqrt(2.0) * (M13 - M23), 0.5 * std::sqrt(2.0) * (M14 - M24));
127 template <
typename TInputImage,
typename TOutputImage>