26 #ifndef __TERRALIB_RASTER_INTERNAL_INTERPOLATOR_H 
   27 #define __TERRALIB_RASTER_INTERNAL_INTERPOLATOR_H 
   38 #include <boost/noncopyable.hpp> 
   79         Interpolator(
Raster const* r, 
int m, 
const std::vector< std::complex<double> >& noDataValues);        
 
   93         inline void getValue(
const double& c, 
const double& r, std::complex<double>& v, 
const std::size_t& b)
 
   95           assert(b < m_raster->getNumberOfBands());
 
   96           (this->*(m_function))(c, r, v, b);
 
  107         void getValues(
const double& c, 
const double& r, std::vector<std::complex<double> >& values);
 
  126         void nearestNeighborGetValue(
const double& c, 
const double& r, std::complex<double>& v, 
const std::size_t& b);
 
  136         void bilinearGetValue(
const double& c, 
const double& r, std::complex<double>& v, 
const std::size_t& b);
 
  146         void bicubicGetValue(
const double& c, 
const double& r, std::complex<double>& v, 
const std::size_t& b);
 
  156         typedef void (
Interpolator::*InterpolationFunction)(
const double& c, 
const double& r, std::complex<double>& v, 
const std::size_t& b);
 
  166         bool initialize(
Raster const * 
const rasterPointer, 
int method,
 
  167           const std::vector< std::complex<double> >& noDataValues );        
 
  193         double m_bilDistances[4];                          
 
  194         double m_bilWeights[4];                            
 
  206         double m_bicBbufferReal[4][4];
 
  207         double m_bicBbufferImag[4][4];
 
  211         double m_bicHWeights[4];
 
  212         double m_bicVWeights[4];
 
  217         double m_bicRowsValuesReal[4];
 
  218         double m_bicRowsValuesImag[4];
 
  226 #endif  // __TERRALIB_RASTER_INTERNAL_INTERPOLATOR_H 
#define TERASTEREXPORT
You can use this macro in order to export/import classes and functions from this module. 
 
std::vector< std::complex< double > > m_noDataValues
Raster no-data values (for each band);. 
 
It interpolates one pixel based on a selected algorithm. Methods currently available are Nearest Neig...
 
double m_bilRowMin
Minimum row for bilinear interpolation. 
 
void getValue(const double &c, const double &r, std::complex< double > &v, const std::size_t &b)
Get the interpolated value at specific band. 
 
InterpolationMethod
Allowed interpolation methods. 
 
InterpolationMethod Method
Allowed interpolation methods. 
 
double m_bilColMin
Minimum column for bilinear interpolation. 
 
double m_bilLastCol
Last column available for bilinear interpolation. 
 
std::vector< std::complex< double > > m_bilValues
Bilinear values;. 
 
double m_bilColDifMin
Minimum difference between columns (min/max). 
 
InterpolationFunction m_function
The current interpolation function pointer. 
 
Enumerations for the Raster module. 
 
An abstract class for raster data strucutures. 
 
double m_bilRowMax
Maximum row for bilinear interpolation. 
 
An abstract class for raster data strucutures. 
 
double m_bicColBound
Last column available for bicubic interpolation. 
 
double m_nnLastRow
Last row available for nearest Neighbor interpolation. 
 
double m_bicRowBound
Last row available for bicubic interpolation. 
 
double m_bicReadRealValue
 
double m_bilLastRow
Last row available for bilinear interpolation. 
 
double m_nnLastCol
Last column available for nearest Neighbor interpolation. 
 
double m_bilColMax
Maximum column for bilinear interpolation. 
 
double m_bicReadImagValue
 
int m_method
The interpolation method. 
 
Raster const * m_raster
My input raster. 
 
double m_bilRowDifMax
Maximum difference between rows (min/max). 
 
double m_bilColDifMax
Maximum difference between columns (min/max). 
 
double m_bilRowDifMin
Minimum difference between rows (min/max).