21 #ifndef otbSinclairToCircularCovarianceMatrixImageFilter_h
22 #define otbSinclairToCircularCovarianceMatrixImageFilter_h
77 template <
class TInput1,
class TInput2,
class TInput3,
class TInput4,
class TOutput>
86 inline void operator()(TOutput& result,
const TInput1& Shh,
const TInput2& Shv,
const TInput3& Svh,
const TInput4& Svv)
const
101 const ComplexType Sll = coef * (S_hh + jS_hv + jS_vh - S_vv);
102 const ComplexType Slr = coef * (jS_hh + S_hv - S_vh + jS_vv);
103 const ComplexType Srl = coef * (jS_hh - S_hv + S_vh + jS_vv);
104 const ComplexType Srr = coef * (-S_hh + jS_hv + jS_vh + S_vv);
107 funct(result, Sll, Slr, Srl, Srr);
146 template <
typename TInputImage,
typename TOutputImage>
149 typename TInputImage::PixelType,
typename TOutputImage::PixelType>,
150 std::tuple<polarimetry_tags::hh, polarimetry_tags::hv, polarimetry_tags::vh, polarimetry_tags::vv>>;
A generic functor filter templated by its functor.
Construct the fully polarimetric circular covariance matrix with Sinclair matrix information.
TOutput::ValueType OutputValueType
virtual ~SinclairToCircularCovarianceMatrixFunctor()
void operator()(TOutput &result, const TInput1 &Shh, const TInput2 &Shv, const TInput3 &Svh, const TInput4 &Svv) const
SinclairToCircularCovarianceMatrixFunctor()
SinclairToCovarianceMatrixFunctor< ComplexType, ComplexType, ComplexType, ComplexType, TOutput > SinclairToCovarianceFunctorType
constexpr vcl_size_t OutputSize(...) const
std::complex< RealType > ComplexType
Construct the fully polarimetric covariance matrix with Sinclair matrix information.
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.