Fusion of a low-resolution multi-band image with a high resolution image using the IHS method. More...
#include <IHSFusion.h>
Classes | |
| class | InputParameters |
| IHSFusion input parameters. More... | |
| struct | LoadUpsampledIHSDataThreadParameters |
| class | OutputParameters |
| IHSFusion output parameters. More... | |
| struct | SaveRGBDataThreadParameters |
| struct | SwapIntensityThreadParameters |
Public Member Functions | |
| bool | execute (AlgorithmOutputParameters &outputParams) |
| Executes the algorithm using the supplied parameters. More... | |
| const std::string & | getErrorMessage () const |
| Return the current error message if there is any. More... | |
| IHSFusion () | |
| bool | initialize (const AlgorithmInputParameters &inputParams) |
| Initialize the algorithm instance making it ready for execution. More... | |
| bool | isInitialized () const |
| Returns true if the algorithm instance is initialized and ready for execution. More... | |
| void | reset () |
| Clear all internal allocated objects and reset the algorithm to its initial state. More... | |
| ~IHSFusion () | |
Protected Member Functions | |
| bool | getRGBRange (double &rgbMin, double &rgbMax) const |
| Get the minimum and maximum values from the RGB input image. More... | |
| bool | getStatistics (const te::rst::Raster &inputRaster, const unsigned int inputRasterBand, double &mean, double &stdDev, double &min, double &max) const |
| Get statistics from the given raster band. More... | |
| bool | loadUpsampledIHSData (const te::rst::Grid &upsampledGrid, const double &rgbMin, const double rgbMax, std::unique_ptr< te::rst::Raster > &ihsRasterPtr) const |
| Load resampled IHS data from the lower resolution input image. More... | |
| bool | saveRGBData (const double &rgbMin, const double &rgbMax, const std::string &rType, const std::map< std::string, std::string > &rInfo, std::unique_ptr< te::rst::Raster > &outputRasterPtr, const te::rst::Raster &ihsRaster) |
| Save resampled IHS data as RGB data to the output image. More... | |
| void | setErrorMessage (const std::string &newErrorMessage) |
| Set the current error message. More... | |
| bool | swapIntensity (const te::rst::Raster &highResRaster, const unsigned int highResRasterBand, te::rst::Raster &ihsRaster) |
| Swap the intensity data by the high resolution image data. More... | |
Static Protected Member Functions | |
| static void | loadUpsampledIHSDataThreadEntry (LoadUpsampledIHSDataThreadParameters *paramsPtr) |
| static void | saveRGBDataThreadEntry (SaveRGBDataThreadParameters *paramsPtr) |
| static void | swapIntensityThreadEntry (SwapIntensityThreadParameters *paramsPtr) |
Protected Attributes | |
| InputParameters | m_inputParameters |
| Input execution parameters. More... | |
| bool | m_isInitialized |
| Tells if this instance is initialized. More... | |
Private Attributes | |
| std::string | m_errorMessage |
| Current error message. More... | |
Fusion of a low-resolution multi-band image with a high resolution image using the IHS method.
The IHS is one of the widespread image fusion methods in the remote sensing community and has been employed as a standard procedure in many commercial packages; IHS is the intrinsic method when the intensity channel is replaced by the high-resolution Pan image.
Definition at line 59 of file IHSFusion.h.
| te::rp::IHSFusion::IHSFusion | ( | ) |
| te::rp::IHSFusion::~IHSFusion | ( | ) |
|
virtual |
Executes the algorithm using the supplied parameters.
| outputParams | Output parameters. |
Implements te::rp::Algorithm.
|
inherited |
Return the current error message if there is any.
|
protected |
Get the minimum and maximum values from the RGB input image.
| rgbMin | RGB minimum value. |
| rgbMax | RGB maximum value. |
|
protected |
Get statistics from the given raster band.
| inputRaster | Input raster. |
| inputRasterBand | Input raster band index. |
| mean | Mean value. |
| variance | Variance value. |
| max | Maximum value. |
| min | Minimum value. |
|
virtual |
Initialize the algorithm instance making it ready for execution.
| inputParams | Input parameters. |
Implements te::rp::Algorithm.
|
virtual |
Returns true if the algorithm instance is initialized and ready for execution.
Implements te::rp::Algorithm.
|
protected |
Load resampled IHS data from the lower resolution input image.
| upsampledGrid | Target upsampled grid. |
| rgbMin | RGB minimum value. |
| rgbMax | RGB maximum value. |
| ihsRasterPtr | Output raster (3 bands - IHS). |
|
staticprotected |
|
virtual |
Clear all internal allocated objects and reset the algorithm to its initial state.
Reimplemented from te::rp::Algorithm.
|
protected |
Save resampled IHS data as RGB data to the output image.
| rgbMin | RGB minimum value. |
| rgbMax | RGB maximum value. |
| rType | Output raster driver type. |
| rInfo | Output raster info. |
| ihsRaster | IHS raster. |
| outputRasterPtr | Output raster pointer. |
|
staticprotected |
|
protectedinherited |
Set the current error message.
| newErrorMessage | New error message; |
|
protected |
Swap the intensity data by the high resolution image data.
| highResRaster | High resolution raster. |
| highResRasterBand | Hight resolution raster band. |
| ihsRaster | IHS raster. |
|
staticprotected |
|
privateinherited |
Current error message.
Definition at line 104 of file Algorithm.h.
|
protected |
Input execution parameters.
Definition at line 235 of file IHSFusion.h.
|
protected |
Tells if this instance is initialized.
Definition at line 237 of file IHSFusion.h.