QGIS API Documentation
3.16.0-Hannover (43b64b13f3)
|
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 (const QgsContrastEnhancement &ce) | |
QgsContrastEnhancement (Qgis::DataType datatype=Qgis::Byte) | |
~QgsContrastEnhancement () | |
ContrastEnhancementAlgorithm | contrastEnhancementAlgorithm () const |
int | enhanceContrast (double value) |
Applies the contrast enhancement to a value. More... | |
bool | isValueInDisplayableRange (double value) |
Returns true if a pixel value is in displayable range, false if pixel is outside of range (i.e. More... | |
double | maximumValue () const |
Returns the maximum value for the contrast enhancement range. More... | |
double | minimumValue () const |
Returns the minimum value for the contrast enhancement range. More... | |
const QgsContrastEnhancement & | operator= (const QgsContrastEnhancement &)=delete |
void | readXml (const QDomElement &elem) |
void | setContrastEnhancementAlgorithm (ContrastEnhancementAlgorithm algorithm, bool generateTable=true) |
Sets the contrast enhancement algorithm. More... | |
void | setContrastEnhancementFunction (QgsContrastEnhancementFunction *function) |
Allows the user to set their own custom contrast enhancement function. More... | |
void | setMaximumValue (double value, bool generateTable=true) |
Sets the maximum value for the contrast enhancement range. More... | |
void | setMinimumValue (double value, bool generateTable=true) |
Sets the minimum value for the contrast enhancement range. More... | |
void | toSld (QDomDocument &doc, QDomElement &element) const |
Write ContrastEnhancement tags following SLD v1.0 specs SLD1.0 is limited to the parameters listed in: https://docs.geoserver.org/stable/en/user/styling/sld/reference/rastersymbolizer.html#contrastenhancement Btw only sld:Normalize + vendor options are supported because there is no clear mapping of ContrastEnhancement parameters to support sld:Histogram or sld:GammaValue. More... | |
void | writeXml (QDomDocument &doc, QDomElement &parentElem) const |
Static Public Member Functions | |
static ContrastEnhancementAlgorithm | contrastEnhancementAlgorithmFromString (const QString &contrastEnhancementString) |
Deserialize ContrastEnhancementAlgorithm. More... | |
static QString | contrastEnhancementAlgorithmString (ContrastEnhancementAlgorithm algorithm) |
Returns a string to serialize ContrastEnhancementAlgorithm. More... | |
static double | maximumValuePossible (Qgis::DataType dataType) |
Helper function that returns the maximum possible value for a GDAL data type. More... | |
static double | minimumValuePossible (Qgis::DataType dataType) |
Helper function that returns the minimum possible value for a GDAL data type. More... | |
Manipulates raster pixel values so that they enhanceContrast or clip into a specified numerical range according to the specified ContrastEnhancementAlgorithm.
Definition at line 42 of file qgscontrastenhancement.h.
This enumerator describes the types of contrast enhancement algorithms that can be used.
Enumerator | |
---|---|
NoEnhancement | |
StretchToMinimumMaximum | |
StretchAndClipToMinimumMaximum | |
ClipToMinimumMaximum | |
UserDefinedEnhancement |
Definition at line 48 of file qgscontrastenhancement.h.
QgsContrastEnhancement::QgsContrastEnhancement | ( | Qgis::DataType | datatype = Qgis::Byte | ) |
Definition at line 32 of file qgscontrastenhancement.cpp.
QgsContrastEnhancement::QgsContrastEnhancement | ( | const QgsContrastEnhancement & | ce | ) |
Definition at line 48 of file qgscontrastenhancement.cpp.
QgsContrastEnhancement::~QgsContrastEnhancement | ( | ) |
Definition at line 67 of file qgscontrastenhancement.cpp.
|
inline |
Definition at line 157 of file qgscontrastenhancement.h.
|
static |
Deserialize ContrastEnhancementAlgorithm.
Definition at line 361 of file qgscontrastenhancement.cpp.
|
static |
Returns a string to serialize ContrastEnhancementAlgorithm.
Definition at line 343 of file qgscontrastenhancement.cpp.
int QgsContrastEnhancement::enhanceContrast | ( | double | value | ) |
Applies the contrast enhancement to a value.
Return values are 0 - 254, -1 means the pixel was clipped and should not be displayed.
Definition at line 72 of file qgscontrastenhancement.cpp.
bool QgsContrastEnhancement::isValueInDisplayableRange | ( | double | value | ) |
Returns true
if a pixel value is in displayable range, false
if pixel is outside of range (i.e.
clipped).
Definition at line 122 of file qgscontrastenhancement.cpp.
|
inline |
Returns the maximum value for the contrast enhancement range.
Definition at line 152 of file qgscontrastenhancement.h.
|
inlinestatic |
Helper function that returns the maximum possible value for a GDAL data type.
Definition at line 66 of file qgscontrastenhancement.h.
|
inline |
Returns the minimum value for the contrast enhancement range.
Definition at line 155 of file qgscontrastenhancement.h.
|
inlinestatic |
Helper function that returns the minimum possible value for a GDAL data type.
Definition at line 105 of file qgscontrastenhancement.h.
|
delete |
void QgsContrastEnhancement::readXml | ( | const QDomElement & | elem | ) |
Definition at line 247 of file qgscontrastenhancement.cpp.
void QgsContrastEnhancement::setContrastEnhancementAlgorithm | ( | ContrastEnhancementAlgorithm | algorithm, |
bool | generateTable = true |
||
) |
Sets the contrast enhancement algorithm.
The generateTable parameter is optional and is for performance 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.
Definition at line 132 of file qgscontrastenhancement.cpp.
void QgsContrastEnhancement::setContrastEnhancementFunction | ( | QgsContrastEnhancementFunction * | function | ) |
Allows the user to set their own custom contrast enhancement function.
Ownership of function is transferred.
Definition at line 162 of file qgscontrastenhancement.cpp.
void QgsContrastEnhancement::setMaximumValue | ( | double | value, |
bool | generateTable = true |
||
) |
Sets the maximum value for the contrast enhancement range.
The generateTable parameter is optional and is for performance 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 table. By default it will be generated.
Definition at line 174 of file qgscontrastenhancement.cpp.
void QgsContrastEnhancement::setMinimumValue | ( | double | value, |
bool | generateTable = true |
||
) |
Sets the minimum value for the contrast enhancement range.
The generateTable parameter is optional and is for performance 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 table. By default it will be generated.
Definition at line 200 of file qgscontrastenhancement.cpp.
void QgsContrastEnhancement::toSld | ( | QDomDocument & | doc, |
QDomElement & | element | ||
) | const |
Write ContrastEnhancement tags following SLD v1.0 specs SLD1.0 is limited to the parameters listed in: https://docs.geoserver.org/stable/en/user/styling/sld/reference/rastersymbolizer.html#contrastenhancement Btw only sld:Normalize + vendor options are supported because there is no clear mapping of ContrastEnhancement parameters to support sld:Histogram or sld:GammaValue.
Definition at line 294 of file qgscontrastenhancement.cpp.
void QgsContrastEnhancement::writeXml | ( | QDomDocument & | doc, |
QDomElement & | parentElem | ||
) | const |
Definition at line 226 of file qgscontrastenhancement.cpp.