QGIS API Documentation  2.5.0-Master
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
qgslinearminmaxenhancementwithclip.cpp
Go to the documentation of this file.
1 /* **************************************************************************
2  qgslinearminmaxenhancementwithclip.cpp - description
3  -------------------
4 begin : Fri Nov 16 2007
5 copyright : (C) 2007 by Peter J. Ersts
6 email : ersts@amnh.org
7 
8 ****************************************************************************/
9 
10 /* **************************************************************************
11  * *
12  * This program is free software; you can redistribute it and/or modify *
13  * it under the terms of the GNU General Public License as published by *
14  * the Free Software Foundation; either version 2 of the License, or *
15  * (at your option) any later version. *
16  * *
17  ***************************************************************************/
18 
20 
21 QgsLinearMinMaxEnhancementWithClip::QgsLinearMinMaxEnhancementWithClip( QGis::DataType theQgsRasterDataType, double theMinimumValue, double theMaximumValue ) : QgsContrastEnhancementFunction( theQgsRasterDataType, theMinimumValue, theMaximumValue )
22 {
23 }
24 
26 {
27  if ( theValue < mMinimumValue || theValue > mMaximumValue )
28  {
29  return -1;
30  }
31 
32  int myStretchedValue = static_cast<int>((( theValue - mMinimumValue ) / ( mMinimumMaximumRange ) ) * 255.0 );
33  if ( myStretchedValue < 0 )
34  {
35  return 0;
36  }
37  else if ( myStretchedValue > 255 )
38  {
39  return 255;
40  }
41 
42  return myStretchedValue;
43 }
44 
46 {
47  if ( theValue < mMinimumValue || theValue > mMaximumValue )
48  {
49  return false;
50  }
51 
52  return true;
53 }
int enhance(double)
A customizable method that takes in a double and returns a int between 0 and 255. ...
double mMinimumMaximumRange
Minimum maximum range for the band, used for enhanceContrasting.
A contrast enhancement funcion is the base class for all raster contrast enhancements.
double mMaximumValue
User defineable maximum value for the band, used for enhanceContrasting.
double mMinimumValue
User defineable minimum value for the band, used for enhanceContrasting.
QgsLinearMinMaxEnhancementWithClip(QGis::DataType, double, double)
DataType
Raster data types.
Definition: qgis.h:204
bool isValueInDisplayableRange(double)
A customicable method to indicate if the pixels is displayable.