22 static const ossimKeyword MIN_VALUE_PERCENT_KW(
"min_percent",
23 "min percentage clip");
25 static const ossimKeyword MAX_VALUE_PERCENT_KW(
"max_percent",
26 "max percentage value");
33 theMinValuePercent(0.0),
34 theMaxValuePercent(0.0)
39 double maxValuePercent,
43 theMinValuePercent(minValuePercent),
44 theMaxValuePercent(maxValuePercent)
65 if(inputTile.
valid() &&
108 "Unknown scalar type");
123 const char* minPercent = kwl.
find(prefix, MIN_VALUE_PERCENT_KW);
124 const char* maxPercent = kwl.
find(prefix, MAX_VALUE_PERCENT_KW);
152 const char* prefix)
const 157 MIN_VALUE_PERCENT_KW,
161 MAX_VALUE_PERCENT_KW,
201 T* buf =
static_cast<T*
>(tile->
getBuf(band));
205 T np =
static_cast<T
>(tile->
getNullPix(band));
206 T minPix =
static_cast<T
>(tile->
getMinPix(band));
207 T maxPix =
static_cast<T
>(tile->
getMaxPix(band));
208 double range = (maxPix - minPix);
213 double delta = fabs(maxClip - minClip);
216 for(
long offset = 0; offset < offsetUpperBound; ++offset)
218 if(buf[offset] != np)
220 normPix = ((double)buf[offset]-minPix)/range;
221 if(normPix <= minClip)
223 buf[offset] = minPix;
225 else if(normPix >= maxClip)
227 buf[offset] = maxPix;
231 double t = (normPix - minClip)/delta;
232 T value =
static_cast<T
>(minPix + range*t);
OSSIMDLLEXPORT void ossimSetError(const char *className, ossim_int32 error, const char *fmtString=0,...)
16 bit unsigned integer (15 bits used)
virtual ossim_uint32 getWidth() const
virtual bool isSourceEnabled() const
virtual double getMinValuePercent() const
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=NULL)
Method to the load (recreate) the state of an object from a keyword list.
virtual const ossim_float64 * getMaxPix() const
virtual ossim_uint32 getNumberOfBands() const
Represents serializable keyword/value map.
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of an object from a keyword list.
const char * find(const char *key) const
double theMinValuePercent
virtual ossimDataObjectStatus getDataObjectStatus() const
virtual ossim_uint32 getHeight() const
16 bit unsigned integer (14 bits used)
static const ossimErrorCode OSSIM_ERROR
double theMaxValuePercent
16 bit unsigned integer (13 bits used)
ossimHistogramThreshholdFilter()
unsigned short ossim_uint16
virtual ossimRefPtr< ossimMultiResLevelHistogram > getHistogram()
ossimRefPtr< ossimImageData > runThreshholdStretchAlgorithm(T dummyVariable, ossimRefPtr< ossimImageData > &tile)
virtual void initialize()
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
virtual void setMinValuePercent(double minValue)
ossim_uint32 getNumberOfBands() const
virtual ossimRefPtr< ossimImageData > getTile(const ossimIrect &tileRect, ossim_uint32 resLevel=0)
virtual ossimDataObjectStatus validate() const
ossimImageSource * theInputConnection
unsigned int ossim_uint32
virtual const ossim_float64 * getNullPix() const
32 bit normalized floating point
virtual double getMaxValuePercent() const
ossimRefPtr< ossimHistogram > getHistogram(ossim_int32 band)
virtual ~ossimHistogramThreshholdFilter()
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save the state of an object to a keyword list.
float HighClipVal(float clip_fraction) const
float LowClipVal(float clip_fraction) const
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=NULL) const
Method to save the state of an object to a keyword list.
virtual const ossim_float64 * getMinPix() const
virtual ossimScalarType getScalarType() const
64 bit normalized floating point
16 bit unsigned integer (11 bits used)
virtual void setMaxValuePercent(double maxValue)
virtual const void * getBuf() const
#define RTTI_DEF1(cls, name, b1)
ossimRefPtr< ossimMultiBandHistogram > getMultiBandHistogram(ossim_uint32 resLevel) const
virtual void initialize()
unsigned char ossim_uint8
virtual ossimRefPtr< ossimImageData > getTile(const ossimIpt &origin, ossim_uint32 resLevel=0)
16 bit unsigned integer (12 bits used)