PCL
pcl::BicubicBSplineInterpolation< T > Class Template Reference

Bicubic B-Spline Interpolation Algorithm. More...

#include <BicubicInterpolation.h>

+ Inheritance diagram for pcl::BicubicBSplineInterpolation< T >:

Public Member Functions

 BicubicBSplineInterpolation ()=default
 
 BicubicBSplineInterpolation (const BicubicBSplineInterpolation &)=default
 
 ~BicubicBSplineInterpolation () override
 
double operator() (double x, double y) const override
 
- Public Member Functions inherited from pcl::BicubicInterpolationBase< T >
 BicubicInterpolationBase ()=default
 
 BicubicInterpolationBase (const BicubicInterpolationBase &)=default
 
- Public Member Functions inherited from pcl::BidimensionalInterpolation< T >
 BidimensionalInterpolation ()=default
 
 BidimensionalInterpolation (const BidimensionalInterpolation &)=default
 
virtual ~BidimensionalInterpolation ()
 
const T * BeingInterpolated () const
 
double BorderFillValue () const
 
virtual void Clear ()
 
void DisableBorderFilling (bool disable=true)
 
void EnableBorderFilling (bool enable=true)
 
int Height () const
 
virtual void Initialize (const T *data, int width, int height)
 
bool IsBorderFillingEnabled () const
 
void SetBorderFillValue (double v)
 
int Width () const
 

Detailed Description

template<typename T>
class pcl::BicubicBSplineInterpolation< T >

Like bicubic spline interpolation, the bicubic B-spline interpolation algorithm also interpolates from the nearest sixteen data items. However, this algorithm uses B-spline interpolating functions instead of cubic splines, which yields quite (too?) smooth results.

This implementation is based on Bicubic Interpolation for Image Scaling, by Paul Bourke. It performs a convolution with a nonseparable 2-D filter, so its performance is O(n^2).

See also
BicubicSplineInterpolation, BicubicInterpolation, BilinearInterpolation, NearestNeighborInterpolation

Definition at line 679 of file BicubicInterpolation.h.

Constructor & Destructor Documentation

◆ BicubicBSplineInterpolation() [1/2]

template<typename T >
pcl::BicubicBSplineInterpolation< T >::BicubicBSplineInterpolation ( )
default

Constructs a BicubicBSplineInterpolation instance.

◆ BicubicBSplineInterpolation() [2/2]

template<typename T >
pcl::BicubicBSplineInterpolation< T >::BicubicBSplineInterpolation ( const BicubicBSplineInterpolation< T > &  )
default

Copy constructor.

◆ ~BicubicBSplineInterpolation()

template<typename T >
pcl::BicubicBSplineInterpolation< T >::~BicubicBSplineInterpolation ( )
inlineoverride

Virtual destructor.

Definition at line 696 of file BicubicInterpolation.h.

Member Function Documentation

◆ operator()()

template<typename T >
double pcl::BicubicBSplineInterpolation< T >::operator() ( double  x,
double  y 
) const
inlineoverridevirtual

Interpolated value at {x,y} location.

Parameters
x,yCoordinates of the interpolation point (horizontal, vertical).

Implements pcl::BidimensionalInterpolation< T >.

Definition at line 706 of file BicubicInterpolation.h.


The documentation for this class was generated from the following file: