25 #ifndef __TERRALIB_RP_INTERNAL_CONTRAST_H
26 #define __TERRALIB_RP_INTERNAL_CONTRAST_H
84 DecorrelationEnhancementT
172 AbstractParameters* clone() const;
205 void reset() throw(
te::rp::Exception );
211 AbstractParameters* clone() const;
219 bool execute( AlgorithmOutputParameters& outputParams ) throw(
te::rp::Exception );
222 void reset() throw(
te::rp::Exception );
227 bool isInitialized() const;
234 typedef
void (
Contrast::*RemapFuncPtrT)( const
double& inValue,
240 bool m_isInitialized;
246 bool execLinearContrast();
252 bool execHistogramEqualizationContrast();
258 bool execSquareContrast();
264 bool execSquareRootContrast();
270 bool execLogContrast();
276 bool execSetMeanAndStdContrast();
282 bool execDecorrelationEnhancement();
292 bool remapBandLevels( const
te::rst::Band& inRasterBand,
293 te::rst::Band& outRasterBand, RemapFuncPtrT remapFuncPtr,
294 const
bool enableProgress );
297 double m_offSetGainRemap_offset1;
298 double m_offSetGainRemap_offset2;
299 double m_offSetGainRemap_gain;
302 double m_squareRemap_factor;
306 double m_squareRootRemap_gain;
309 double m_logRemap_gain;
310 double m_logRemap_offset;
318 inline
void offSetGainRemap( const
double& inValue,
double& outValue )
320 outValue = ( ( inValue + m_offSetGainRemap_offset1 ) * m_offSetGainRemap_gain )
321 + m_offSetGainRemap_offset2;
330 inline void squareRemap(
const double& inValue,
double& outValue )
332 outValue = m_squareRemap_factor * std::pow( inValue, 2.0 );
343 outValue = m_squareRootRemap_gain * std::sqrt( inValue );
352 inline void logRemap(
const double& inValue,
double& outValue )
354 outValue = m_logRemap_gain * std::log10( inValue + m_logRemap_offset + 1.0 );
te::rst::Raster * m_outRasterPtr
A pointer to a valid initiated raster instance where the result must be written, leave NULL to create...
Base exception class for plugin module.
void squareRemap(const double &inValue, double &outValue)
Remap on gray level using a square.
void logRemap(const double &inValue, double &outValue)
Remap on gray level using a log.
Raster Processing algorithm output parameters base interface.
Raster Processing algorithm base interface class.
void squareRootRemap(const double &inValue, double &outValue)
Remap on gray level using a square root.
Raster Processing algorithm base interface.
An abstract class for raster data strucutures.
std::vector< unsigned int > m_outRasterBands
Bands to be processed from the output raster.
#define TERPEXPORT
You can use this macro in order to export/import classes and functions from this module.
std::auto_ptr< te::rst::Raster > m_createdOutRasterPtr
A pointer to the created output raster instance, or an empty pointer empty if the result must be writ...
std::string m_createdOutRasterDSType
Output raster data source type (as described in te::raster::RasterFactory ), leave empty if the resul...
Contrast output parameters.
std::map< std::string, std::string > m_createdOutRasterInfo
The necessary information to create the raster (as described in te::raster::RasterFactory), leave empty if the result must be written to the raster pointed m_outRasterPtr.