Go to the documentation of this file.
   25 #ifndef __TERRALIB_RP_INTERNAL_CONTRAST_H 
   26 #define __TERRALIB_RP_INTERNAL_CONTRAST_H 
   85               CumulativeCut2EnhancementT 
 
  179             AbstractParameters* clone() const;
 
  218             AbstractParameters* clone() const;
 
  234         bool isInitialized() const;
 
  248           const 
double& inRangeMin, const 
double& inRangeMax,
 
  249           const 
double& outRangeMin, const 
double& outRangeMax,
 
  250           double& gain, 
double& offset1, 
double& offset2 );
 
  257         typedef 
void (
Contrast::*RemapFuncPtrT)( const 
double& inValue, 
 
  263         bool m_isInitialized; 
 
  269         bool execLinearContrast();
 
  275         bool execHistogramEqualizationContrast();
 
  281         bool execSquareContrast();      
 
  287         bool execSquareRootContrast(); 
 
  293         bool execLogContrast();         
 
  299         bool execSetMeanAndStdContrast();
 
  305         bool execDecorrelationEnhancement();
 
  311         bool execCumulativeCut2Enhancement();
 
  323         bool remapBandLevels( const 
te::rst::Raster& inRaster,
 
  324           const 
unsigned int inRasterBandIdx,
 
  325           te::rst::Raster& outRaster,
 
  326           const 
unsigned int outRasterBandIdx,
 
  327           RemapFuncPtrT remapFuncPtr,
 
  328           const 
bool enableProgress );
 
  331         double m_offSetGainRemap_offset1;
 
  332         double m_offSetGainRemap_offset2;
 
  333         double m_offSetGainRemap_gain;
 
  336         double m_squareRemap_gain;
 
  339         double m_squareRootRemap_gain;        
 
  342         double m_logRemap_gain;
 
  343         double m_logRemap_offset;                
 
  346         double m_decorrelationEnhancementRemap_gain;
 
  347         double m_decorrelationEnhancementRemap_offset1;
 
  348         double m_decorrelationEnhancementRemap_offset2;
 
  351         double m_histogramEqualizationRemap_cDFMin;
 
  352         double m_histogramEqualizationRemap_gain;
 
  353         std::map<
double, 
double> m_histogramEqualizationRemap_cdf;
 
  361         inline 
void offSetGainRemap( const 
double& inValue, 
double& outValue )
 
  363           outValue = ( ( inValue + m_offSetGainRemap_offset1 ) *
 
  364             m_offSetGainRemap_gain ) + m_offSetGainRemap_offset2;
 
  373         inline void squareRemap( 
const double& inValue, 
double& outValue )
 
  375           outValue = m_squareRemap_gain * std::pow( inValue, 2.0 );
 
  386           outValue = m_squareRootRemap_gain * std::sqrt( inValue );
 
  395         inline void logRemap( 
const double& inValue, 
double& outValue )
 
  397           outValue = m_logRemap_gain * std::log10( inValue + m_logRemap_offset + 1.0 );
 
  407           outValue = ( ( inValue + m_decorrelationEnhancementRemap_offset1 ) *
 
  408             m_decorrelationEnhancementRemap_gain )
 
  409             + m_decorrelationEnhancementRemap_offset2;
 
  419           outValue = ( ( m_histogramEqualizationRemap_cdf.lower_bound( inValue )->second ) -  m_histogramEqualizationRemap_cDFMin ) *
 
  420             m_histogramEqualizationRemap_gain;
 
  
 
Raster Processing algorithm output parameters base interface.
 
void squareRootRemap(const double &inValue, double &outValue)
Remap on gray level using a square root.
 
An abstract class for raster data strucutures.
 
OutputParameters(const OutputParameters &)
 
Contrast output parameters.
 
Raster Processing algorithm base interface.
 
void DecorrelationEnhancementRemap(const double &inValue, double &outValue)
Remap on gray level using two offsets and gain.
 
void reset()
Clear all internal allocated resources and reset the parameters instance to its initial state.
 
Base exception class for plugin module.
 
std::map< std::string, std::string > m_createdOutRasterInfo
The necessary information to create the raster (as described in te::raster::RasterFactory),...
 
#define TERPEXPORT
You can use this macro in order to export/import classes and functions from this module.
 
std::vector< unsigned int > m_outRasterBands
Bands to be processed from the output raster.
 
void histogramEqualizationRemap(const double &inValue, double &outValue)
Remap on gray level using two offsets and gain.
 
std::string m_createdOutRasterDSType
Output raster data source type (as described in te::raster::RasterFactory ), leave empty if the resul...
 
void squareRemap(const double &inValue, double &outValue)
Remap on gray level using a square.
 
te::rst::Raster * m_outRasterPtr
A pointer to a valid initiated raster instance where the result must be written, leave NULL to create...
 
void logRemap(const double &inValue, double &outValue)
Remap on gray level using a log.
 
std::unique_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...