TerraLib 4.1
TePDIVenturaFusion Class Reference

This is the class for Ventura fusion. More...

#include <TePDIVenturaFusion.hpp>

Inheritance diagram for TePDIVenturaFusion:
TePDIAlgorithm

List of all members.

Public Member Functions

 TePDIVenturaFusion ()
 ~TePDIVenturaFusion ()
bool CheckParameters (const TePDIParameters &parameters) const
 Checks if the supplied parameters fits the requirements of each PDI algorithm implementation.

Protected Member Functions

void ResetState (const TePDIParameters &params)
 Reset the internal state to the initial state.
bool RunImplementation ()
 Runs the current algorithm implementation.
bool RasterBand2Matrix (const TePDITypes::TePDIRasterPtrType &raster, TePDIMatrix< double > &matrix)
 Extracts the band 0 from the raster into the matrix.
bool findBestDecimLevels (const TePDITypes::TePDIRasterPtrType &raster1, const TePDITypes::TePDIRasterPtrType &raster2, unsigned long int &r1_level, unsigned long int &r2_level, unsigned long int &decim_error)
 Find the best decimation levels bringging the two rasters to closer sizes.

Detailed Description

This is the class for Ventura fusion.

Author:
Emiliano F. Castejon <castejon@dpi.inpe.br>
Note:
The required parameters are:
Parameters:
reference_raster( TePDITypes::TePDIRasterPtrType ) - Reference raster ( higher quality ).
lowres_raster( TePDITypes::TePDIRasterPtrType ) - Low resolution raster ( will be improved ).
output_raster( TePDITypes::TePDIRasterPtrType ) - Output raster.
reference_raster_band( int ) - The band to process for reference_raster.
lowres_raster_band( int ) - The band to process for lowres_raster.
Note:
The following parameters are optional, and will be used if present:
Parameters:
filters_scale( double ) - The wavelet filters scale.
a_filter_l( std::vector< double > ) - Wavelet Analysis filter, low pass, non normalized ( used in decomposition ).
a_filter_h( std::vector< double > ) - Wavelet Analysis filter, high pass, non normalized ( used in decomposition ).
s_filter_l( std::vector< double > ) - Wavelet Synthesis filter, low pass, non normalized ( used in recomposition ).
s_filter_h( std::vector< double > ) - Wavelet Synthesis filter, high pass, non normalized ( used in recomposition ).
Note:
The reference_raster lines number must be a multiple of two multiplied by lowres_raster lines number.
The reference_raster columns number must be a multiple of two multiplied by lowres_raster columns number.
This algorithm is base on the work: Fernando N. Ventura, Leila M. G. Fonseca. Remotely Sensed Image Fusion Using The Wavelet Transform. International Symposium on Remote Sensing of Environment. Buenos Aires, Argentina. 2002.
Examples:

TePDIFusion_test.cpp.


Constructor & Destructor Documentation

TePDIVenturaFusion::TePDIVenturaFusion ( )
TePDIVenturaFusion::~TePDIVenturaFusion ( )

Member Function Documentation

bool TePDIVenturaFusion::CheckParameters ( const TePDIParameters parameters) const [virtual]

Checks if the supplied parameters fits the requirements of each PDI algorithm implementation.

Note:
Error log messages must be generated. No exceptions generated.
Parameters:
parametersThe parameters to be checked.
Returns:
true if the parameters are OK. false if not.

Implements TePDIAlgorithm.

bool TePDIVenturaFusion::findBestDecimLevels ( const TePDITypes::TePDIRasterPtrType raster1,
const TePDITypes::TePDIRasterPtrType raster2,
unsigned long int &  r1_level,
unsigned long int &  r2_level,
unsigned long int &  decim_error 
) [protected]

Find the best decimation levels bringging the two rasters to closer sizes.

Parameters:
raster1Input raster1.
raster2Input raster2.
r1_levelRaster 1 best decomposition level.
r2_levelRaster 2 best decomposition level.
decim_errorThe error ( pixels number ) for the best level found.
Returns:
true if OK. false on errors.
bool TePDIVenturaFusion::RasterBand2Matrix ( const TePDITypes::TePDIRasterPtrType raster,
TePDIMatrix< double > &  matrix 
) [protected]

Extracts the band 0 from the raster into the matrix.

Parameters:
rasterInput raster.
matrixInput matrix.
Returns:
true if ok, valse on errors.
void TePDIVenturaFusion::ResetState ( const TePDIParameters params) [protected, virtual]

Reset the internal state to the initial state.

Parameters:
paramsThe new parameters referente at initial state.

Implements TePDIAlgorithm.

bool TePDIVenturaFusion::RunImplementation ( ) [protected, virtual]

Runs the current algorithm implementation.

Returns:
true if OK. false on error.

Implements TePDIAlgorithm.


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