QGIS API Documentation  2.7.0-Master
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Types | Public Member Functions | Static Public Member Functions | List of all members
QgsContrastEnhancement Class Reference

Manipulates raster pixel values so that they enhanceContrast or clip into a specified numerical range according to the specified ContrastEnhancementAlgorithm. More...

#include <qgscontrastenhancement.h>

Public Types

enum  ContrastEnhancementAlgorithm {
  NoEnhancement, StretchToMinimumMaximum, StretchAndClipToMinimumMaximum, ClipToMinimumMaximum,
  UserDefinedEnhancement
}
 This enumerator describes the types of contrast enhancement algorithms that can be used. More...
 

Public Member Functions

 QgsContrastEnhancement (QGis::DataType theDatatype=QGis::Byte)
 
 QgsContrastEnhancement (const QgsContrastEnhancement &ce)
 
 ~QgsContrastEnhancement ()
 
ContrastEnhancementAlgorithm contrastEnhancementAlgorithm () const
 
int enhanceContrast (double)
 Apply the contrast enhancement to a value. More...
 
bool isValueInDisplayableRange (double)
 Return true if pixel is in stretable range, false if pixel is outside of range (i.e., clipped) More...
 
double maximumValue () const
 Return the maximum value for the contrast enhancement range. More...
 
double minimumValue () const
 Return the minimum value for the contrast enhancement range. More...
 
void readXML (const QDomElement &elem)
 
void setContrastEnhancementAlgorithm (ContrastEnhancementAlgorithm, bool generateTable=true)
 Set the contrast enhancement algorithm. More...
 
void setContrastEnhancementFunction (QgsContrastEnhancementFunction *)
 A public method that allows the user to set their own custom contrast enhancment function. More...
 
void setMaximumValue (double, bool generateTable=true)
 Set the maximum value for the contrast enhancement range. More...
 
void setMinimumValue (double, bool generateTable=true)
 Return the minimum value for the contrast enhancement range. More...
 
void writeXML (QDomDocument &doc, QDomElement &parentElem) const
 

Static Public Member Functions

static ContrastEnhancementAlgorithm contrastEnhancementAlgorithmFromString (const QString &contrastEnhancementString)
 
static QString contrastEnhancementAlgorithmString (ContrastEnhancementAlgorithm algorithm)
 
static double maximumValuePossible (QGis::DataType)
 Helper function that returns the maximum possible value for a GDAL data type. More...
 
static double minimumValuePossible (QGis::DataType)
 Helper function that returns the minimum possible value for a GDAL data type. More...
 

Detailed Description

Manipulates raster pixel values so that they enhanceContrast or clip into a specified numerical range according to the specified ContrastEnhancementAlgorithm.

Definition at line 38 of file qgscontrastenhancement.h.

Constructor & Destructor Documentation

QgsContrastEnhancement::QgsContrastEnhancement ( QGis::DataType  theDatatype = QGis::Byte)

Definition at line 31 of file qgscontrastenhancement.cpp.

QgsContrastEnhancement::QgsContrastEnhancement ( const QgsContrastEnhancement ce)

Definition at line 55 of file qgscontrastenhancement.cpp.

QgsContrastEnhancement::~QgsContrastEnhancement ( )

Definition at line 78 of file qgscontrastenhancement.cpp.

Member Function Documentation

ContrastEnhancementAlgorithm QgsContrastEnhancement::contrastEnhancementAlgorithm ( ) const
inline

Definition at line 79 of file qgscontrastenhancement.h.

QgsContrastEnhancement::ContrastEnhancementAlgorithm QgsContrastEnhancement::contrastEnhancementAlgorithmFromString ( const QString &  contrastEnhancementString)
static

Definition at line 472 of file qgscontrastenhancement.cpp.

QString QgsContrastEnhancement::contrastEnhancementAlgorithmString ( ContrastEnhancementAlgorithm  algorithm)
static

Definition at line 454 of file qgscontrastenhancement.cpp.

int QgsContrastEnhancement::enhanceContrast ( double  theValue)

Apply the contrast enhancement to a value.

Public function to generate the enhanced for enhanceContrasted value for a given input.

Return values are 0 - 254, -1 means the pixel was clipped and should not be displayed

Parameters
theValueThe pixel value to enhance

Definition at line 198 of file qgscontrastenhancement.cpp.

bool QgsContrastEnhancement::isValueInDisplayableRange ( double  theValue)

Return true if pixel is in stretable range, false if pixel is outside of range (i.e., clipped)

Determine if a pixel is within in the displayable range.

Parameters
theValueThe pixel value to examine

Definition at line 253 of file qgscontrastenhancement.cpp.

double QgsContrastEnhancement::maximumValue ( ) const
inline

Return the maximum value for the contrast enhancement range.

Definition at line 74 of file qgscontrastenhancement.h.

double QgsContrastEnhancement::maximumValuePossible ( QGis::DataType  theDataType)
static

Helper function that returns the maximum possible value for a GDAL data type.

Simple function to compute the maximum possible value for a data types.

Definition at line 92 of file qgscontrastenhancement.cpp.

double QgsContrastEnhancement::minimumValue ( ) const
inline

Return the minimum value for the contrast enhancement range.

Definition at line 77 of file qgscontrastenhancement.h.

double QgsContrastEnhancement::minimumValuePossible ( QGis::DataType  theDataType)
static

Helper function that returns the minimum possible value for a GDAL data type.

Simple function to compute the minimum possible value for a data type.

Definition at line 141 of file qgscontrastenhancement.cpp.

void QgsContrastEnhancement::readXML ( const QDomElement &  elem)

Definition at line 407 of file qgscontrastenhancement.cpp.

void QgsContrastEnhancement::setContrastEnhancementAlgorithm ( ContrastEnhancementAlgorithm  theAlgorithm,
bool  generateTable = true 
)

Set the contrast enhancement algorithm.

The second parameter is optional and is for performace improvements. If you know you are immediately going to set the Minimum or Maximum value, you can elect to not generate the lookup tale. By default it will be generated.

Parameters
theAlgorithmThe new contrast enhancement algorithm
generateTableFlag to overide automatic look up table generation

Definition at line 270 of file qgscontrastenhancement.cpp.

void QgsContrastEnhancement::setContrastEnhancementFunction ( QgsContrastEnhancementFunction theFunction)

A public method that allows the user to set their own custom contrast enhancment function.

A public function that allows the user to set their own custom contrast enhancement function.

Parameters
theFunctionThe new contrast enhancement function

Definition at line 310 of file qgscontrastenhancement.cpp.

void QgsContrastEnhancement::setMaximumValue ( double  theValue,
bool  generateTable = true 
)

Set the maximum value for the contrast enhancement range.

Set the maximum value for the contrast enhancement.

The second parameter is option an is for performace improvements. If you know you are immediately going to set the Minimum value or the contrast enhancement algorithm, you can elect to not generate the lookup tale. By default it will be generated.

Parameters
theValueThe new maximum value for the band
generateTableFlag to overide automatic look up table generation

Definition at line 328 of file qgscontrastenhancement.cpp.

void QgsContrastEnhancement::setMinimumValue ( double  theValue,
bool  generateTable = true 
)

Return the minimum value for the contrast enhancement range.

Set the maximum value for the contrast enhancement.

The second parameter is option an is for performace improvements. If you know you are immediately going to set the Maximum value or the contrast enhancement algorithm, you can elect to not generate the lookup tale. By default it will be generated.

Parameters
theValueThe new minimum value for the band
generateTableFlag to overide automatic look up table generation

Definition at line 360 of file qgscontrastenhancement.cpp.

void QgsContrastEnhancement::writeXML ( QDomDocument &  doc,
QDomElement &  parentElem 
) const

Definition at line 386 of file qgscontrastenhancement.cpp.


The documentation for this class was generated from the following files: