21 #ifndef otbWindowedSincInterpolateImageGaussianFunction_h
22 #define otbWindowedSincInterpolateImageGaussianFunction_h
25 #include "vnl/vnl_math.h"
40 template <
class TInput =
double,
class TOutput =
double>
64 double x =
static_cast<double>(A);
66 double temp = std::exp(px * px *
m_Factor);
67 return (x == 0.0) ?
static_cast<TOutput
>(temp) :
static_cast<TOutput
>(temp * std::sin(px) / px);
92 template <
class TInputImage,
class TBoundaryCondition = itk::ZeroFluxNeumannBoundaryCondition<TInputImage>,
class TCoordRep =
double,
93 class TInputInterpolator =
double,
class TOutputInterpolator =
double>
96 TBoundaryCondition, TCoordRep>
103 TBoundaryCondition, TCoordRep>
119 itkStaticConstMacro(ImageDimension,
unsigned int, Superclass::ImageDimension);
133 void PrintSelf(std::ostream& os, itk::Indent indent)
const override
135 Superclass::PrintSelf(os, indent);
Gaussian interpolation windowing function.
unsigned int GetRadius() const
TOutput operator()(const TInput &A) const
void SetRadius(unsigned int radius)
Generic interpolation of an otb::Image.
Use the windowed sinc function to interpolate.
Use the WindowedSincInterpolateImageFunctionBase with a Gaussian Function.
Superclass::IndexType IndexType
Superclass::InputImageType InputImageType
WindowedSincInterpolateImageGaussianFunction Self
WindowedSincInterpolateImageGaussianFunction()
void operator=(const Self &)=delete
Superclass::RealType RealType
itk::SmartPointer< const Self > ConstPointer
Superclass::OutputType OutputType
WindowedSincInterpolateImageGaussianFunction(const Self &)=delete
WindowedSincInterpolateImageFunctionBase< TInputImage, typename Function::GaussianWindowFunction< TInputInterpolator, TOutputInterpolator >, TBoundaryCondition, TCoordRep > Superclass
itk::SmartPointer< Self > Pointer
~WindowedSincInterpolateImageGaussianFunction() override
Superclass::ContinuousIndexType ContinuousIndexType
void PrintSelf(std::ostream &os, itk::Indent indent) const override
Superclass::SizeType SizeType
Superclass::IteratorType IteratorType
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.
constexpr double CONST_PI