31 #ifndef ATBINTERPOLATOR_HH 32 #define ATBINTERPOLATOR_HH 43 #include <blitz/tinyvec-et.h> 91 template<
typename DataT,
int Dim>
202 blitz::Array<DataT,Dim>
const &data,
203 blitz::TinyVector<double,Dim>
const &pos)
const = 0;
221 template<
typename DataT,
int Dim>
300 blitz::Array<DataT,Dim>
const &data,
301 blitz::TinyVector<double,Dim>
const &pos)
const;
314 template<
typename DataT,
int Dim>
393 blitz::Array<DataT,Dim>
const &data,
394 blitz::TinyVector<double,Dim>
const &pos)
const;
407 template<
typename DataT,
int Dim>
486 blitz::Array<DataT,Dim>
const &data,
487 blitz::TinyVector<double,Dim>
const &pos)
const;
501 template<
typename DataT,
int Dim>
579 blitz::Array<DataT,Dim>
const &data,
580 blitz::TinyVector<double,Dim>
const &pos)
const;
594 template<
typename DataT,
int Dim>
672 blitz::Array<DataT,Dim>
const &data,
673 blitz::TinyVector<double,Dim>
const &pos)
const;
687 template<
typename DataT,
int Dim>
765 blitz::Array<DataT,Dim>
const &data,
766 blitz::TinyVector<double,Dim>
const &pos)
const;
777 template<
typename DataT,
int Dim>
829 template<
typename DataT,
typename IndexT,
int Dim>
830 DataT
interpolate(blitz::Array<DataT,Dim>
const &data,
831 blitz::TinyVector<IndexT,Dim>
const &pos,
838 #include "Interpolator.icc" The LinearInterpolator class provides sub-pixel access to blitz++ Arrays using linear interpolation...
Interpolate linearly between the values of adjacent pixels (d-linear interpolation) ...
BoundaryTreatmentType
BoundaryTreatment.hh "libArrayToolbox/BoundaryTreatment.hh".
The traits class provides means to query specific information about different data types...
Return the median of adjacent pixel values.
Return the minimum of adjacent pixel values.
Fit a cubic function through the local neighborhood around the query position and return it's value a...
Return the maximum of adjacent pixel values.
virtual InterpolationType type() const =0
Get the corresponding enumeration value for the interpolation type.
The InterpolatorFactory class contains a factory method for creating a new Interpolator object using ...
The CubicInterpolator class provides sub-pixel access to blitz++ Arrays using cubic interpolation...
The MinimumInterpolator class provides sub-pixel access to blitz++ Arrays returning the minimum of al...
BoundaryTreatment< DataT, Dim > * p_bt
BoundaryTreatment< DataT, Dim > const & boundaryTreatment() const
Get a read-only reference to the Interpolator's boundary treatment object.
InterpolationType
Interpolator.hh "libArrayToolbox/Interpolator.hh".
The MaximumInterpolator class provides sub-pixel access to blitz++ Arrays returning the minimum of al...
Interpolator(BoundaryTreatmentType bt=ValueBT, DataT const &boundaryValue=traits< DataT >::zero)
Constructor.
The NearestInterpolator class provides sub-pixel access to blitz++ Arrays using the nearest neighbor ...
Treat positions beyond the Array domain as having a constant value.
Return the pixel value of the closest Array pixel to the query position (nearest neighbor interpolati...
DataT interpolate(blitz::Array< DataT, Dim > const &data, blitz::TinyVector< IndexT, Dim > const &pos, InterpolationType ipType=LinearIP, BoundaryTreatmentType btType=ValueBT, DataT const &boundaryValue=traits< DataT >::zero)
Interpolation within an n-dimensional blitz::Array.
virtual ~Interpolator()
Destructor.
The BoundaryTreatment class provides the interface to all specific BoundaryTreatment subclasses...
The Interpolator class is the base class of all classes implementing interpolation strategies for sub...
Classes and functions for handling out-of-Array access.
virtual Interpolator< DataT, Dim > * clone() const =0
Get a deep copy of this Interpolator object.
Interpolator< DataT, Dim > & operator=(Interpolator< DataT, Dim > const &ip)
Copy assignment operator.
void setBoundaryTreatment(BoundaryTreatmentType bt, DataT const &boundaryValue=traits< DataT >::zero)
Set the Interpolator's boundary treatment type.