21 #ifndef otbSinclairToReciprocalCoherencyMatrixImageFilter_h
22 #define otbSinclairToReciprocalCoherencyMatrixImageFilter_h
27 #include "vnl/vnl_matrix.h"
69 template <
class TInput1,
class TInput2,
class TInput3,
class TOutput>
78 inline void operator()(TOutput& result,
const TInput1& Shh,
const TInput2& Shv,
const TInput3& Svv)
const
85 f3p[0][0] = (S_hh + S_vv) /
ComplexType(std::sqrt(2.0), 0.0);
86 f3p[1][0] = (S_hh - S_vv) /
ComplexType(std::sqrt(2.0), 0.0);
87 f3p[2][0] =
ComplexType(std::sqrt(2.0), 0.0) * S_hv;
124 template <
typename TInputImage,
typename TOutputImage>
127 typename TInputImage::PixelType,
typename TOutputImage::PixelType>,
128 std::tuple<polarimetry_tags::hh, polarimetry_tags::hv_or_vh, polarimetry_tags::vv>>;
A generic functor filter templated by its functor.
Construct the reciprocal fully polarimetric coherency matrix with Sinclair matrix information.
constexpr vcl_size_t OutputSize(...) const
std::complex< double > ComplexType
vnl_matrix< ComplexType > VNLMatrixType
TOutput::ValueType OutputValueType
void operator()(TOutput &result, const TInput1 &Shh, const TInput2 &Shv, const TInput3 &Svv) const
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.