21 #ifndef otbGenericInterpolateImageFunction_h
22 #define otbGenericInterpolateImageFunction_h
24 #include "itkInterpolateImageFunction.h"
25 #include "itkConstNeighborhoodIterator.h"
26 #include "itkConstantBoundaryCondition.h"
43 template <
class TInputImage,
class TFunction,
class TBoundaryCondition = itk::ZeroFluxNeumannBoundaryCondition<TInputImage>,
class TCoordRep =
double>
49 typedef itk::InterpolateImageFunction<TInputImage, TCoordRep>
Superclass;
68 typedef typename InputImageType::SizeType
SizeType;
69 typedef typename Superclass::RealType
RealType;
71 typedef itk::ConstNeighborhoodIterator<InputImageType, TBoundaryCondition>
IteratorType;
77 itkStaticConstMacro(ImageDimension,
unsigned int, Superclass::ImageDimension);
90 virtual void SetRadius(
unsigned int rad);
91 virtual typename itk::InterpolateImageFunction<TInputImage, TCoordRep>::SizeType
GetRadius()
const
93 auto rad = m_Function.GetRadius();
94 typename itk::InterpolateImageFunction<TInputImage, TCoordRep>::SizeType size({rad,rad});
111 virtual void Initialize();
114 itkSetMacro(NormalizeWeight,
bool);
115 itkGetMacro(NormalizeWeight,
bool);
121 void PrintSelf(std::ostream& os, itk::Indent indent)
const override;
125 void Modified(
void)
const override;
128 virtual void ResetOffsetTable();
131 virtual void InitializeTables();
134 virtual void FillWeightOffsetTable();
173 #ifndef OTB_MANUAL_INSTANTIATION
Generic interpolation of an otb::Image.
itk::SmartPointer< const Self > ConstPointer
InputImageType::SizeType SizeType
Superclass::IndexType IndexType
unsigned int ** m_WeightOffsetTable
unsigned int * m_OffsetTable
unsigned int m_WindowSize
virtual itk::InterpolateImageFunction< TInputImage, TCoordRep >::SizeType GetRadius() const
GenericInterpolateImageFunction Self
bool m_TablesHaveBeenGenerated
itk::InterpolateImageFunction< TInputImage, TCoordRep > Superclass
GenericInterpolateImageFunction(const Self &)=delete
unsigned int m_OffsetTableSize
Superclass::RealType RealType
void operator=(const Self &)=delete
itk::ConstNeighborhoodIterator< InputImageType, TBoundaryCondition > IteratorType
Superclass::OutputType OutputType
Superclass::ContinuousIndexType ContinuousIndexType
virtual FunctionType & GetFunction(void)
itk::SmartPointer< Self > Pointer
Superclass::InputImageType InputImageType
unsigned int m_ImageDimension
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.