21 #ifndef otbComplexMomentsImageFunction_h
22 #define otbComplexMomentsImageFunction_h
24 #include "itkImageFunction.h"
55 template <
class TInputImage,
class TCoordRep =
double>
56 class ITK_EXPORT
ComplexMomentsImageFunction :
public itk::ImageFunction<TInputImage, std::vector<std::vector<std::complex<double>>>, TCoordRep>
61 typedef itk::ImageFunction<TInputImage, std::vector<std::vector<std::complex<double>>>, TCoordRep>
Superclass;
84 itkStaticConstMacro(ImageDimension,
unsigned int, InputImageType::ImageDimension);
93 this->ConvertPointToNearestIndex(point, index);
94 return this->EvaluateAtIndex(index);
99 this->ConvertContinuousIndexToNearestIndex(cindex, index);
100 return this->EvaluateAtIndex(index);
107 itkSetMacro(NeighborhoodRadius,
unsigned int);
108 itkGetConstReferenceMacro(NeighborhoodRadius,
unsigned int);
111 itkSetMacro(Pmax,
unsigned int);
112 itkGetConstReferenceMacro(Pmax,
unsigned int);
113 itkSetMacro(Qmax,
unsigned int);
114 itkGetConstReferenceMacro(Qmax,
unsigned int);
121 void PrintSelf(std::ostream& os, itk::Indent indent)
const override;
134 #ifndef OTB_MANUAL_INSTANTIATION
Calculate the complex moment values in the specified neighborhood.
TInputImage InputImageType
std::complex< ScalarRealType > ScalarComplexType
ComplexMomentsImageFunction(const Self &)=delete
~ComplexMomentsImageFunction() override
itk::ImageFunction< TInputImage, std::vector< std::vector< std::complex< double > > >, TCoordRep > Superclass
OutputType EvaluateAtContinuousIndex(const ContinuousIndexType &cindex) const override
unsigned int m_NeighborhoodRadius
OutputType Evaluate(const PointType &point) const override
itk::SmartPointer< Self > Pointer
itk::SmartPointer< const Self > ConstPointer
Superclass::PointType PointType
Superclass::IndexType IndexType
Superclass::OutputType OutputType
ComplexMomentsImageFunction Self
Superclass::ContinuousIndexType ContinuousIndexType
void operator=(const Self &)=delete
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.