QGIS API Documentation
2.0.1-Dufour
|
Brightness/contrast filter pipe for rasters. More...
#include <qgsbrightnesscontrastfilter.h>
Public Member Functions | |
QgsBrightnessContrastFilter (QgsRasterInterface *input=0) | |
~QgsBrightnessContrastFilter () | |
QgsRasterInterface * | clone () const |
Clone itself, create deep copy. | |
int | bandCount () const |
Get number of bands. | |
QGis::DataType | dataType (int bandNo) const |
Returns data type for the band specified by number. | |
bool | setInput (QgsRasterInterface *input) |
Set input. | |
QgsRasterBlock * | block (int bandNo, const QgsRectangle &extent, int width, int height) |
Read block of data using given extent and size. | |
void | setBrightness (int brightness) |
int | brightness () const |
void | setContrast (int contrast) |
int | contrast () const |
void | writeXML (QDomDocument &doc, QDomElement &parentElem) const |
Write base class members to xml. | |
void | readXML (const QDomElement &filterElem) |
Sets base class members from xml. | |
Public Member Functions inherited from QgsRasterInterface | |
QgsRasterInterface (QgsRasterInterface *input=0) | |
virtual | ~QgsRasterInterface () |
virtual int | capabilities () const |
Returns a bitmask containing the supported capabilities. | |
QString | capabilitiesString () const |
Returns the above in friendly format. | |
virtual QGis::DataType | srcDataType (int bandNo) const |
Returns source data type for the band specified by number, source data type may be shorter than dataType. | |
virtual QgsRectangle | extent () |
Get the extent of the interface. | |
int | dataTypeSize (int bandNo) |
virtual int | xBlockSize () const |
Get block size. | |
virtual int | yBlockSize () const |
virtual int | xSize () const |
Get raster size. | |
virtual int | ySize () const |
virtual QString | generateBandName (int theBandNumber) const |
helper function to create zero padded band names | |
virtual QgsRasterInterface * | input () const |
Current input. | |
virtual bool | on () const |
Is on/off. | |
virtual void | setOn (bool on) |
Set on/off. | |
virtual const QgsRasterInterface * | srcInput () const |
Get source / raw input, the first in pipe, usually provider. | |
virtual QgsRasterInterface * | srcInput () |
virtual QgsRasterBandStats | bandStatistics (int theBandNo, int theStats=QgsRasterBandStats::All, const QgsRectangle &theExtent=QgsRectangle(), int theSampleSize=0) |
Get band statistics. | |
virtual bool | hasStatistics (int theBandNo, int theStats=QgsRasterBandStats::All, const QgsRectangle &theExtent=QgsRectangle(), int theSampleSize=0) |
Returns true if histogram is available (cached, already calculated). | |
virtual QgsRasterHistogram | histogram (int theBandNo, int theBinCount=0, double theMinimum=std::numeric_limits< double >::quiet_NaN(), double theMaximum=std::numeric_limits< double >::quiet_NaN(), const QgsRectangle &theExtent=QgsRectangle(), int theSampleSize=0, bool theIncludeOutOfRange=false) |
Get histogram. | |
virtual bool | hasHistogram (int theBandNo, int theBinCount, double theMinimum=std::numeric_limits< double >::quiet_NaN(), double theMaximum=std::numeric_limits< double >::quiet_NaN(), const QgsRectangle &theExtent=QgsRectangle(), int theSampleSize=0, bool theIncludeOutOfRange=false) |
Returns true if histogram is available (cached, already calculated), the parameters are the same as in histogram() | |
virtual void | cumulativeCut (int theBandNo, double theLowerCount, double theUpperCount, double &theLowerValue, double &theUpperValue, const QgsRectangle &theExtent=QgsRectangle(), int theSampleSize=0) |
Find values for cumulative pixel count cut. |
Private Member Functions | |
int | adjustColorComponent (int colorComponent, int alpha, int brightness, double contrastFactor) const |
Adjusts a color component by the specified brightness and contrast factor. |
Private Attributes | |
int | mBrightness |
Current brightness coefficient value. | |
double | mContrast |
Current contrast coefficient value. |
Additional Inherited Members | |
Public Types inherited from QgsRasterInterface | |
enum | Capability { NoCapabilities = 0, Size = 1 << 1, Create = 1 << 2, Remove = 1 << 3, BuildPyramids = 1 << 4, Identify = 1 << 5, IdentifyValue = 1 << 6, IdentifyText = 1 << 7, IdentifyHtml = 1 << 8, IdentifyFeature = 1 << 9 } |
If you add to this, please also add to capabilitiesString() More... | |
Protected Member Functions inherited from QgsRasterInterface | |
void | initHistogram (QgsRasterHistogram &theHistogram, int theBandNo, int theBinCount=0, double theMinimum=std::numeric_limits< double >::quiet_NaN(), double theMaximum=std::numeric_limits< double >::quiet_NaN(), const QgsRectangle &theExtent=QgsRectangle(), int theSampleSize=0, bool theIncludeOutOfRange=false) |
Fill in histogram defaults if not specified. | |
void | initStatistics (QgsRasterBandStats &theStatistics, int theBandNo, int theStats=QgsRasterBandStats::All, const QgsRectangle &theExtent=QgsRectangle(), int theBinCount=0) |
Fill in statistics defaults if not specified. | |
Protected Attributes inherited from QgsRasterInterface | |
QgsRasterInterface * | mInput |
QList< QgsRasterBandStats > | mStatistics |
List of cached statistics, all bands mixed. | |
QList< QgsRasterHistogram > | mHistograms |
List of cached histograms, all bands mixed. | |
bool | mOn |
Brightness/contrast filter pipe for rasters.
Definition at line 29 of file qgsbrightnesscontrastfilter.h.
QgsBrightnessContrastFilter::QgsBrightnessContrastFilter | ( | QgsRasterInterface * | input = 0 | ) |
Definition at line 25 of file qgsbrightnesscontrastfilter.cpp.
Referenced by clone().
QgsBrightnessContrastFilter::~QgsBrightnessContrastFilter | ( | ) |
Definition at line 32 of file qgsbrightnesscontrastfilter.cpp.
|
private |
Adjusts a color component by the specified brightness and contrast factor.
Definition at line 175 of file qgsbrightnesscontrastfilter.cpp.
Referenced by block().
|
virtual |
Get number of bands.
Implements QgsRasterInterface.
Definition at line 45 of file qgsbrightnesscontrastfilter.cpp.
References QgsRasterInterface::bandCount(), QgsRasterInterface::mInput, and QgsRasterInterface::mOn.
|
virtual |
Read block of data using given extent and size.
Returns pointer to data. Caller is responsible to free the memory returned.
bandNo | band number |
extent | extent of block |
width | pixel width of block |
height | pixel height of block |
Implements QgsRasterInterface.
Definition at line 112 of file qgsbrightnesscontrastfilter.cpp.
References adjustColorComponent(), QGis::ARGB32_Premultiplied, QgsRasterInterface::block(), QgsRasterBlock::color(), QgsRasterBlock::isEmpty(), mBrightness, mContrast, QgsRasterInterface::mInput, QgsDebugMsg, QgsRasterBlock::reset(), QgsRasterBlock::setColor(), and QgsRectangle::toString().
|
inline |
Definition at line 46 of file qgsbrightnesscontrastfilter.h.
|
virtual |
Clone itself, create deep copy.
Implements QgsRasterInterface.
Definition at line 36 of file qgsbrightnesscontrastfilter.cpp.
References mBrightness, mContrast, QgsBrightnessContrastFilter(), QgsDebugMsg, setBrightness(), and setContrast().
|
inline |
Definition at line 49 of file qgsbrightnesscontrastfilter.h.
|
virtual |
Returns data type for the band specified by number.
Implements QgsRasterInterface.
Definition at line 60 of file qgsbrightnesscontrastfilter.cpp.
References QGis::ARGB32_Premultiplied, QgsRasterInterface::dataType(), QgsRasterInterface::mInput, QgsRasterInterface::mOn, and QGis::UnknownDataType.
|
virtual |
Sets base class members from xml.
Usually called from create() methods of subclasses
Reimplemented from QgsRasterInterface.
Definition at line 208 of file qgsbrightnesscontrastfilter.cpp.
References mBrightness, and mContrast.
Referenced by QgsRasterLayer::readSymbology().
|
inline |
Definition at line 45 of file qgsbrightnesscontrastfilter.h.
Referenced by clone().
|
inline |
Definition at line 48 of file qgsbrightnesscontrastfilter.h.
Referenced by clone().
|
virtual |
Set input.
Returns true if set correctly, false if cannot use that input
Reimplemented from QgsRasterInterface.
Definition at line 75 of file qgsbrightnesscontrastfilter.cpp.
References QGis::ARGB32, QGis::ARGB32_Premultiplied, QgsRasterInterface::bandCount(), QgsRasterInterface::dataType(), QgsRasterInterface::input(), QgsRasterInterface::mInput, QgsRasterInterface::mOn, and QgsDebugMsg.
|
virtual |
Write base class members to xml.
Reimplemented from QgsRasterInterface.
Definition at line 194 of file qgsbrightnesscontrastfilter.cpp.
References mBrightness, and mContrast.
|
private |
Current brightness coefficient value.
Default: 0. Range: -255...255
Definition at line 61 of file qgsbrightnesscontrastfilter.h.
Referenced by block(), clone(), readXML(), and writeXML().
|
private |
Current contrast coefficient value.
Default: 0. Range: -100...100
Definition at line 64 of file qgsbrightnesscontrastfilter.h.
Referenced by block(), clone(), readXML(), and writeXML().