22 #ifndef otbReciprocalCovarianceToReciprocalCoherencyImageFilter_h
23 #define otbReciprocalCovarianceToReciprocalCoherencyImageFilter_h
59 template <
class TInput,
class TOutput>
66 inline void operator()(TOutput& result,
const TInput& Covariance)
const
78 result[0] =
static_cast<OutputValueType>(C33 + C13 + std::conj(C13) + C11);
79 result[1] =
static_cast<OutputValueType>(-C33 - C13 + std::conj(C13) + C11);
80 result[2] =
static_cast<OutputValueType>(rootTwo * C12 + rootTwo * std::conj(C23));
81 result[3] =
static_cast<OutputValueType>(C33 - C13 - std::conj(C13) + C11);
82 result[4] =
static_cast<OutputValueType>(rootTwo * C12 - rootTwo * std::conj(C23));
108 template <
typename TInputImage,
typename TOutputImage>
A generic functor filter templated by its functor.
Evaluate the Coherency matrix from the Covariance image.
std::complex< double > ComplexType
void operator()(TOutput &result, const TInput &Covariance) const
constexpr vcl_size_t OutputSize(...) const
TOutput::ValueType OutputValueType
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.