25 #ifndef __TERRALIB_RP_INTERNAL_IHSFUSION_H
26 #define __TERRALIB_RP_INTERNAL_IHSFUSION_H
30 #include "../raster/Raster.h"
31 #include "../raster/Interpolator.h"
93 void reset() throw( te::rp::Exception );
99 AbstractParameters* clone() const;
123 void reset() throw( te::rp::Exception );
129 AbstractParameters* clone() const;
137 bool execute( AlgorithmOutputParameters& outputParams ) throw( te::rp::Exception );
140 void reset() throw( te::rp::Exception );
146 bool isInitialized() const;
152 bool m_isInitialized;
160 bool getRGBRange(
double& rgbMin,
double& rgbMax ) const;
169 bool getStatistics( const te::rp::
Matrix<
float >& matrix,
float& mean,
170 float& variance ) const;
182 bool loadIHSData( const
double& rgbMin, const
double rgbMax, te::rp::
Matrix<
float >& intensityData,
183 te::rp::
Matrix<
float >& hueData, te::rp::
Matrix<
float >& saturationData ) const;
190 bool swapIntensity( te::rp::
Matrix<
float >& intensityData );
201 bool saveIHSData( const
double& rgbMin, const
double rgbMax, const te::rp::
Matrix<
float >& intensityData,
202 const te::rp::
Matrix<
float >& hueData, const te::rp::
Matrix<
float >& saturationData,
203 const std::
string& rType, const std::map< std::
string, std::
string >& rInfo,
204 std::auto_ptr< te::rst::Raster >& outputRasterPtr ) const;
Raster Processing algorithm base interface class.
unsigned int m_lowResRasterRedBandIndex
The low-resolution raster red band index (default:0).
Raster Processing algorithm base interface.
bool m_enableProgress
Enable/Disable the progress interface (default:false).
Fusion of a low-resolution multi-band image with a high resolution image using the IHS method...
Method
Allowed interpolation methods.
std::auto_ptr< te::rst::Raster > m_outputRasterPtr
The generated output fused raster.
double m_RGBMax
The used RGB maximum value (default:0 - leave zero for automatic detection based on the input images)...
std::string m_rType
Output raster data source type (as described in te::raster::RasterFactory ).
te::rst::Raster const * m_lowResRasterPtr
Input low-resolution multi-band raster.
IHSFusion input parameters.
std::map< std::string, std::string > m_rInfo
The necessary information to create the output rasters (as described in te::raster::RasterFactory).
A generic template matrix.
unsigned int m_lowResRasterGreenBandIndex
The low-resolution raster green band index (default:1).
Raster Processing algorithm output parameters base interface.
unsigned int m_highResRasterBand
Band to process from the high-resolution raster.
te::rst::Interpolator::Method m_interpMethod
The raster interpolator method (default:NearestNeighbor).
An abstract class for raster data strucutures.
te::rst::Raster const * m_highResRasterPtr
Input high-resolution raster.
IHSFusion output parameters.
double m_RGBMin
The used RGB minimum value (default:0 - leave zero for automatic detection based on the input images)...
unsigned int m_lowResRasterBlueBandIndex
The low-resolution raster blue band index (default:2).
#define TERPEXPORT
You can use this macro in order to export/import classes and functions from this module.
Raster Processing algorithm input parameters base interface.