TerraLib 4.1
TePDIInterpolator Class Reference

This is the class for pixel interpolation from an input raster. More...

#include <TePDIInterpolator.hpp>

List of all members.

Public Types

enum  InterpMethod { NNMethod = 1, BilinearMethod = 2, BicubicMethod = 3 }
typedef TeSharedPtr
< TePDIInterpolator
pointer
typedef const TeSharedPtr
< TePDIInterpolator
const_pointer

Public Member Functions

 TePDIInterpolator ()
 Default Constructor.
 ~TePDIInterpolator ()
 Default Destructor.
bool reset (const TeSharedPtr< TeRaster > &input_raster, InterpMethod method, double dummy_value)
 Reset this interpolator instance.
void interpolate (const double &line, const double &col, const unsigned int &band, double &value)
 Interpolate a pixel value.

Protected Types

typedef void(TePDIInterpolator::* InterpFunctPtr )(const double &line, const double &col, const unsigned int &band, double &value)
 Type definition for the a interpolation function pointer.

Protected Member Functions

void init ()
 Set default internal state.
void clear ()
 Clear all allocated resources and rollback to the initial state.
void nNInterpolation (const double &line, const double &col, const unsigned int &band, double &value)
void bilinearInterpolation (const double &line, const double &col, const unsigned int &band, double &value)
void bicubicInterpolation (const double &line, const double &col, const unsigned int &band, double &value)

Protected Attributes

TeRasterParamsinput_raster_params_nptr_
 Input raster naked pointer (default:0).
InterpFunctPtr interp_funct_ptr_
 The current interpolation function pointer (default:0).
double bicubic_lines_bound_
 The bicubic interpolation lines bound (not included, default:0).
double bicubic_columns_bound_
 The bicubic interpolation columns bound (not included, default:0).
double bicubic_kernel_parameter_
 The bicubic kernel parameters (default:-1.0).
double last_valid_line_
 The last valid line index ( included, default:0 ).
double last_valid_col_
 The last valid column index ( included, default:0 ).
bool raster_uses_dummy_
 The current raster dummy use status (default:false).
unsigned int nbands_
 The current raster bands number (default:0).
double dummy_value_
 The current raster bands number (default:0).
TeSharedPtr< TeRasterinput_raster_ptr_
 Input raster shared pointer copy.
TeRasterinput_raster_nptr_
 Input raster shared naked pointer (default:0).
double * input_raster_max_chan_val_vec_
 Input raster maximum allowed channels values vector (default:0).
double * input_raster_min_chan_val_vec_
 Input raster minimum allowed channels values vector (default:0).
double bilinear_line_min_
 Internal bilinear function used variable.
double bilinear_line_max_
 Internal bilinear function used variable.
double bilinear_col_min_
 Internal bilinear function used variable.
double bilinear_col_max_
 Internal bilinear function used variable.
double bilinear_diff_line_min_
 Internal bilinear function used variable.
double bilinear_diff_line_max_
 Internal bilinear function used variable.
double bilinear_diff_col_min_
 Internal bilinear function used variable.
double bilinear_diff_col_max_
 Internal bilinear function used variable.
double bilinear_dist1_
 Internal bilinear function used variable.
double bilinear_dist2_
 Internal bilinear function used variable.
double bilinear_dist3_
 Internal bilinear function used variable.
double bilinear_dist4_
 Internal bilinear function used variable.
double bilinear_weigh1_
 Internal bilinear function used variable.
double bilinear_weigh2_
 Internal bilinear function used variable.
double bilinear_weigh3_
 Internal bilinear function used variable.
double bilinear_weigh4_
 Internal bilinear function used variable.
double bilinear_elem1_
 Internal bilinear function used variable.
double bilinear_elem2_
 Internal bilinear function used variable.
double bilinear_elem3_
 Internal bilinear function used variable.
double bilinear_elem4_
 Internal bilinear function used variable.
unsigned int bicubic_grid_raster_line_
 Internal bicubic function used variable.
unsigned int bicubic_grid_raster_col_
 Internal bicubic function used variable.
unsigned int bicubic_buffer_line_
 Internal bicubic function used variable.
unsigned int bicubic_buffer_col_
 Internal bicubic function used variable.
double bicubic_buffer_ [4][4]
 Internal bicubic function used variable.
double bicubic_offset_x_
 Internal bicubic function used variable.
double bicubic_offset_y_
 Internal bicubic function used variable.
double bicubic_h_weights_ [4]
 Internal bicubic function used variable.
double bicubic_v_weights_ [4]
 Internal bicubic function used variable.
double bicubic_h_weights_sum_
 Internal bicubic function used variable.
double bicubic_v_weights_sum_
 Internal bicubic function used variable.
double bicubic_int_line_accum_
 Internal bicubic function used variable.
double bicubic_int_lines_values_ [4]
 Internal bicubic function used variable.

Detailed Description

This is the class for pixel interpolation from an input raster.

Author:
Emiliano F. Castejon <castejon@dpi.inpe.br>
Examples:

TePDIInterpolator_test.cpp.


Member Typedef Documentation

Type definition for a const instance pointer

typedef void(TePDIInterpolator::* TePDIInterpolator::InterpFunctPtr)(const double &line, const double &col, const unsigned int &band, double &value) [protected]

Type definition for the a interpolation function pointer.

Parameters:
lineLine.
colColumn.
bandBand.
valueInterpolated value.

Type definition for a instance pointer


Member Enumeration Documentation

Enumerator:
NNMethod 

Near neighborhood interpolation method.

BilinearMethod 

Bilinear interpolation method.

BicubicMethod 

Bicubic interpolation method.


Constructor & Destructor Documentation

TePDIInterpolator::TePDIInterpolator ( )

Default Constructor.

TePDIInterpolator::~TePDIInterpolator ( )

Default Destructor.


Member Function Documentation

void TePDIInterpolator::bicubicInterpolation ( const double &  line,
const double &  col,
const unsigned int &  band,
double &  value 
) [protected]
void TePDIInterpolator::bilinearInterpolation ( const double &  line,
const double &  col,
const unsigned int &  band,
double &  value 
) [protected]
void TePDIInterpolator::clear ( ) [protected]

Clear all allocated resources and rollback to the initial state.

void TePDIInterpolator::init ( ) [protected]

Set default internal state.

void TePDIInterpolator::interpolate ( const double &  line,
const double &  col,
const unsigned int &  band,
double &  value 
) [inline]

Interpolate a pixel value.

Parameters:
lineLine.
colColumn.
bandBand.
valueInterpolated value.
Note:
The caller of this method must be aware that the returned interpolated value may be outside the original input raster valid values range.
void TePDIInterpolator::nNInterpolation ( const double &  line,
const double &  col,
const unsigned int &  band,
double &  value 
) [protected]
bool TePDIInterpolator::reset ( const TeSharedPtr< TeRaster > &  input_raster,
InterpMethod  method,
double  dummy_value 
)

Reset this interpolator instance.

Parameters:
input_rasterInput raster shared pointer.
methodInterpolation method (For pallete based rasters only the NNMethod can be used).
dummy_valueA pixel dummy value to use when the input_raster do not have dummy_values.
Returns:
true if OK, false on errors.

Member Data Documentation

double TePDIInterpolator::bicubic_buffer_[4][4] [protected]

Internal bicubic function used variable.

unsigned int TePDIInterpolator::bicubic_buffer_col_ [protected]

Internal bicubic function used variable.

unsigned int TePDIInterpolator::bicubic_buffer_line_ [protected]

Internal bicubic function used variable.

The bicubic interpolation columns bound (not included, default:0).

Internal bicubic function used variable.

Internal bicubic function used variable.

Internal bicubic function used variable.

Internal bicubic function used variable.

Internal bicubic function used variable.

Internal bicubic function used variable.

The bicubic kernel parameters (default:-1.0).

The bicubic interpolation lines bound (not included, default:0).

Internal bicubic function used variable.

Internal bicubic function used variable.

Internal bicubic function used variable.

Internal bicubic function used variable.

Internal bilinear function used variable.

Internal bilinear function used variable.

Internal bilinear function used variable.

Internal bilinear function used variable.

Internal bilinear function used variable.

Internal bilinear function used variable.

Internal bilinear function used variable.

Internal bilinear function used variable.

Internal bilinear function used variable.

Internal bilinear function used variable.

Internal bilinear function used variable.

Internal bilinear function used variable.

Internal bilinear function used variable.

Internal bilinear function used variable.

Internal bilinear function used variable.

Internal bilinear function used variable.

Internal bilinear function used variable.

Internal bilinear function used variable.

Internal bilinear function used variable.

Internal bilinear function used variable.

double TePDIInterpolator::dummy_value_ [protected]

The current raster bands number (default:0).

Input raster maximum allowed channels values vector (default:0).

Input raster minimum allowed channels values vector (default:0).

Input raster shared naked pointer (default:0).

Input raster naked pointer (default:0).

Input raster shared pointer copy.

The current interpolation function pointer (default:0).

The last valid column index ( included, default:0 ).

The last valid line index ( included, default:0 ).

unsigned int TePDIInterpolator::nbands_ [protected]

The current raster bands number (default:0).

The current raster dummy use status (default:false).


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines