21 #ifndef otbSinclairToCoherencyMatrixImageFilter_h
22 #define otbSinclairToCoherencyMatrixImageFilter_h
67 template <
class TInput1,
class TInput2,
class TInput3,
class TInput4,
class TOutput>
75 inline void operator()(TOutput& result,
const TInput1& Shh,
const TInput2& Shv,
const TInput3& Svh,
const TInput4& Svv)
const
89 result[1] =
static_cast<OutputValueType>(HHPlusVV * std::conj(HHMinusVV));
90 result[2] =
static_cast<OutputValueType>(HHPlusVV * std::conj(HVPlusVH));
91 result[3] =
static_cast<OutputValueType>(HHPlusVV * std::conj(jHVMinusVH));
93 result[5] =
static_cast<OutputValueType>(HHMinusVV * std::conj(HVPlusVH));
94 result[6] =
static_cast<OutputValueType>(HHMinusVV * std::conj(jHVMinusVH));
96 result[8] =
static_cast<OutputValueType>(HVPlusVH * std::conj(jHVMinusVH));
138 template <
typename TInputImage,
typename TOutputImage>
141 typename TInputImage::PixelType,
typename TOutputImage::PixelType>,
142 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 coherency matrix with Sinclair matrix information.
constexpr vcl_size_t OutputSize(...) const
SinclairToCoherencyMatrixFunctor()
std::complex< RealType > ComplexType
TOutput::ValueType OutputValueType
void operator()(TOutput &result, const TInput1 &Shh, const TInput2 &Shv, const TInput3 &Svh, const TInput4 &Svv) const
virtual ~SinclairToCoherencyMatrixFunctor()
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.