| TerraLib 4.1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Examples

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
TePDIInterpolator Class Reference
Image processing auxiliary classes/methods.

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

TeRasterParams * | input_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< TeRaster > | input_raster_ptr_
| Input raster shared pointer copy.
TeRaster * | input_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

const TeSharedPtr< TePDIInterpolator > TePDIInterpolator::const_pointer

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:

  line | Line.
  col | Column.
  band | Band.
  value | Interpolated value.

TeSharedPtr< TePDIInterpolator > TePDIInterpolator::pointer

Type definition for a instance pointer

## Member Enumeration Documentation

enum TePDIInterpolator::InterpMethod

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:

  line | Line.
  col | Column.
  band | Band.
  value | Interpolated 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_raster | Input raster shared pointer.
  method | Interpolation method (For pallete based rasters only the NNMethod can be used).
  dummy_value | A 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.

double TePDIInterpolator::bicubic_columns_bound_`[protected]`

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

unsigned int TePDIInterpolator::bicubic_grid_raster_col_`[protected]`

Internal bicubic function used variable.

unsigned int TePDIInterpolator::bicubic_grid_raster_line_`[protected]`

Internal bicubic function used variable.

double TePDIInterpolator::bicubic_h_weights_[4]`[protected]`

Internal bicubic function used variable.

double TePDIInterpolator::bicubic_h_weights_sum_`[protected]`

Internal bicubic function used variable.

double TePDIInterpolator::bicubic_int_line_accum_`[protected]`

Internal bicubic function used variable.

double TePDIInterpolator::bicubic_int_lines_values_[4]`[protected]`

Internal bicubic function used variable.

double TePDIInterpolator::bicubic_kernel_parameter_`[protected]`

The bicubic kernel parameters (default:-1.0).

double TePDIInterpolator::bicubic_lines_bound_`[protected]`

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

double TePDIInterpolator::bicubic_offset_x_`[protected]`

Internal bicubic function used variable.

double TePDIInterpolator::bicubic_offset_y_`[protected]`

Internal bicubic function used variable.

double TePDIInterpolator::bicubic_v_weights_[4]`[protected]`

Internal bicubic function used variable.

double TePDIInterpolator::bicubic_v_weights_sum_`[protected]`

Internal bicubic function used variable.

double TePDIInterpolator::bilinear_col_max_`[protected]`

Internal bilinear function used variable.

double TePDIInterpolator::bilinear_col_min_`[protected]`

Internal bilinear function used variable.

double TePDIInterpolator::bilinear_diff_col_max_`[protected]`

Internal bilinear function used variable.

double TePDIInterpolator::bilinear_diff_col_min_`[protected]`

Internal bilinear function used variable.

double TePDIInterpolator::bilinear_diff_line_max_`[protected]`

Internal bilinear function used variable.

double TePDIInterpolator::bilinear_diff_line_min_`[protected]`

Internal bilinear function used variable.

double TePDIInterpolator::bilinear_dist1_`[protected]`

Internal bilinear function used variable.

double TePDIInterpolator::bilinear_dist2_`[protected]`

Internal bilinear function used variable.

double TePDIInterpolator::bilinear_dist3_`[protected]`

Internal bilinear function used variable.

double TePDIInterpolator::bilinear_dist4_`[protected]`

Internal bilinear function used variable.

double TePDIInterpolator::bilinear_elem1_`[protected]`

Internal bilinear function used variable.

double TePDIInterpolator::bilinear_elem2_`[protected]`

Internal bilinear function used variable.

double TePDIInterpolator::bilinear_elem3_`[protected]`

Internal bilinear function used variable.

double TePDIInterpolator::bilinear_elem4_`[protected]`

Internal bilinear function used variable.

double TePDIInterpolator::bilinear_line_max_`[protected]`

Internal bilinear function used variable.

double TePDIInterpolator::bilinear_line_min_`[protected]`

Internal bilinear function used variable.

double TePDIInterpolator::bilinear_weigh1_`[protected]`

Internal bilinear function used variable.

double TePDIInterpolator::bilinear_weigh2_`[protected]`

Internal bilinear function used variable.

double TePDIInterpolator::bilinear_weigh3_`[protected]`

Internal bilinear function used variable.

double TePDIInterpolator::bilinear_weigh4_`[protected]`

Internal bilinear function used variable.

double TePDIInterpolator::dummy_value_`[protected]`

The current raster bands number (default:0).

double* TePDIInterpolator::input_raster_max_chan_val_vec_`[protected]`

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

double* TePDIInterpolator::input_raster_min_chan_val_vec_`[protected]`

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

TeRaster* TePDIInterpolator::input_raster_nptr_`[protected]`

Input raster shared naked pointer (default:0).

TeRasterParams* TePDIInterpolator::input_raster_params_nptr_`[protected]`

Input raster naked pointer (default:0).

TeSharedPtr< TeRaster > TePDIInterpolator::input_raster_ptr_`[protected]`

Input raster shared pointer copy.

InterpFunctPtr TePDIInterpolator::interp_funct_ptr_`[protected]`

The current interpolation function pointer (default:0).

double TePDIInterpolator::last_valid_col_`[protected]`

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

double TePDIInterpolator::last_valid_line_`[protected]`

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

unsigned int TePDIInterpolator::nbands_`[protected]`

The current raster bands number (default:0).

bool TePDIInterpolator::raster_uses_dummy_`[protected]`

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

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

- E:/Projetos_Primeiro_Semestre_2012/TerraView/terralib/src/terralib/image_processing/TePDIInterpolator.hpp
- E:/Projetos_Primeiro_Semestre_2012/TerraView/terralib/src/terralib/image_processing/TePDIInterpolator.cpp

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines