21 #ifndef otbFourierMellinDescriptorsImageFunction_h
22 #define otbFourierMellinDescriptorsImageFunction_h
24 #include "itkImageFunction.h"
62 template <
class TInputImage,
class TCoordRep =
double>
64 :
public itk::ImageFunction<TInputImage, std::vector<std::vector<typename itk::NumericTraits<typename TInputImage::PixelType>::RealType>>, TCoordRep>
69 typedef itk::ImageFunction<TInputImage, std::vector<std::vector<typename itk::NumericTraits<typename TInputImage::PixelType>::RealType>>, TCoordRep>
89 typedef typename std::vector<std::vector<ScalarComplexType>>
ComplexType;
94 itkStaticConstMacro(ImageDimension,
unsigned int, InputImageType::ImageDimension);
103 this->ConvertPointToNearestIndex(point, index);
104 return this->EvaluateAtIndex(index);
109 this->ConvertContinuousIndexToNearestIndex(cindex, index);
110 return this->EvaluateAtIndex(index);
117 itkSetMacro(NeighborhoodRadius,
unsigned int);
118 itkGetConstReferenceMacro(NeighborhoodRadius,
unsigned int);
121 itkSetMacro(Pmax,
unsigned int);
122 itkGetConstReferenceMacro(Pmax,
unsigned int);
123 itkSetMacro(Qmax,
unsigned int);
124 itkGetConstReferenceMacro(Qmax,
unsigned int);
131 void PrintSelf(std::ostream& os, itk::Indent indent)
const override;
145 #ifndef OTB_MANUAL_INSTANTIATION
Calculate the Fourier-Mellin descriptors in the specified neighborhood.
itk::SmartPointer< Self > Pointer
~FourierMellinDescriptorsImageFunction() override
Superclass::PointType PointType
itk::SmartPointer< const Self > ConstPointer
unsigned int m_NeighborhoodRadius
void operator=(const Self &)=delete
itk::ImageFunction< TInputImage, std::vector< std::vector< typename itk::NumericTraits< typename TInputImage::PixelType >::RealType > >, TCoordRep > Superclass
Superclass::ContinuousIndexType ContinuousIndexType
Superclass::OutputType OutputType
FourierMellinDescriptorsImageFunction Self
Superclass::IndexType IndexType
FourierMellinDescriptorsImageFunction(const Self &)=delete
OutputType Evaluate(const PointType &point) const override
OutputType EvaluateAtContinuousIndex(const ContinuousIndexType &cindex) const override
TInputImage InputImageType
std::vector< std::vector< ScalarComplexType > > ComplexType
std::complex< ScalarRealType > ScalarComplexType
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.