85 for(
ossim_uint32 band = 0; band < NUMBER_OF_BANDS; ++band)
92 if (p[i] != np) ++count;
98 else if (count == SIZE)
162 float* resultBuf =
static_cast<float*
>(result->
getBuf(bandCount));
167 normFromPix(sourceBuf[counter]));
199 double* resultBuf =
static_cast<double*
>(result->
getBuf(bandCount));
229 static_cast<float*
>(normalizedInput->
getBuf(bandCount));
231 for(counter = 0; counter <
size; ++counter)
235 pixFromNorm(sourceBuf[counter]));
244 static_cast<double*
>(normalizedInput->
getBuf(bandCount));
246 for(counter = 0; counter <
size; ++counter)
250 pixFromNorm(sourceBuf[counter]));
269 for(index = 0; index < bounds; ++index)
273 delta = *buffer - meanValue;
274 result += (delta*delta);
279 if(validPixelCount > 0)
281 result /= validPixelCount;
298 for(index = 0; index < bounds; ++index)
307 if(validPixelCount > 0)
309 result /= validPixelCount;
341 if (s == NULL)
return;
347 for (
ossim_uint32 i=0; i<size_in_pixels; ++i) p[i] = np;
384 "ossimU8ImageData::copyTileToNormalizedBuffer File %s line %d\nNull pointer passed to method!",
392 memset(buf,
'\0',
size);
401 double* d = buf + (band*
size);
407 normFromPix(static_cast<ossim_int32>(s[index]));
420 "ossimU8ImageData::copyTileToNormalizedBuffer File %s line %d\nNull pointer passed to method!",
428 memset(buf,
'\0',
size);
437 float* d = buf + (band*
size);
443 normFromPix(static_cast<ossim_int32>(s[index]));
457 "ossimU8ImageData::copyTileToNormalizedBuffer File %s line %d\nNull pointer passed to method!",
465 memset(buf,
'\0',
size);
476 normFromPix(static_cast<ossim_int32>(*s));
490 "ossimU8ImageData::copyTileToNormalizedBuffer File %s line %d\nNull pointer passed to method!",
498 memset(buf,
'\0',
size);
509 normFromPix(static_cast<ossim_int32>(*s));
522 "ossimU8ImageData::copyTileToNormalizedBuffer File %s line %d\nNull pointer passed to method!",
534 double* s = buf + (band*
size);
551 "ossimU8ImageData::copyTileToNormalizedBuffer File %s line %d\nNull pointer passed to method!",
563 float* s = buf + (band*
size);
581 "ossimU8ImageData::copyTileToNormalizedBuffer File %s line %d\nNull pointer passed to method!",
608 "ossimU8ImageData::copyTileToNormalizedBuffer File %s line %d\nNull pointer passed to method!",
virtual void setValue(ossim_int32 x, ossim_int32 y, double color)
OSSIMDLLEXPORT void ossimSetError(const char *className, ossim_int32 error, const char *fmtString=0,...)
virtual ossim_uint32 getWidth() const
void fill(ossim_uint32 band, ossim_float64 value)
will fill the entire band with the value.
virtual void copyTileToNormalizedBuffer(double *buf) const
virtual void unnormalizeInput(ossimImageData *normalizedInput)
virtual ossim_uint32 getNumberOfBands() const
virtual void copyNormalizedBufferToTile(double *buf)
virtual double computeMeanSquaredError(double meanValue, ossim_uint32 bandNumber=0)
virtual double computeAverageBandValue(ossim_uint32 bandNumber=0)
virtual const ossim_uint8 * getUcharBuf() const
virtual ossimDataObjectStatus getDataObjectStatus() const
virtual ossim_uint32 getHeight() const
static const ossimErrorCode OSSIM_ERROR
virtual ossimString getClassName() const
virtual void getNormalizedFloat(ossim_uint32 offset, ossim_uint32 bandNumber, float &result) const
bool isNull(ossim_uint32 offset) const
Eight bit normalized remap table to go to/from normalized value to pixel value.
ossimU8ImageData(ossimSource *source=NULL, ossim_uint32 bands=1)
virtual ossim_float64 normFromPix(ossim_int32 pix) const
Gets a normalized value (between '0.0' and '1.0') from a pixel value.
std::vector< ossim_uint8 > m_dataBuffer
virtual ~ossimU8ImageData()
virtual ossim_uint32 getSizePerBand() const
Returns the number of pixels in a single band in a tile.
unsigned int ossim_uint32
virtual const ossim_float64 * getNullPix() const
void setNull(ossim_uint32 offset)
32 bit normalized floating point
std::vector< ossim_uint32 > m_spatialExtents
static const ossimNormalizedU8RemapTable m_remapTable
virtual bool isWithin(ossim_int32 x, ossim_int32 y)
virtual ossimDataObjectStatus validate() const
void fill(ossim_uint32 band, double value)
virtual bool isValidBand(ossim_uint32 band) const
virtual ossimScalarType getScalarType() const
64 bit normalized floating point
std::vector< ossim_float64 > m_nullPixelValue
Null pixel value for each band.
virtual ossim_uint32 getSize() const
Returns the total number of pixels in a tile for all bands.
virtual const void * getBuf() const
ossim_uint32 m_numberOfDataComponents
virtual void convertToNormalizedFloat(ossimImageData *result) const
virtual void setDataObjectStatus(ossimDataObjectStatus status) const
Full list found in ossimConstants.h.
#define RTTI_DEF1(cls, name, b1)
ossimDataObjectStatus
Definitions for data object status.
virtual void convertToNormalizedDouble(ossimImageData *result) const
virtual ossim_int32 pixFromNorm(ossim_float64 normPix) const
Returns an pixel value as an int from a normalized value.
virtual ossimObject * dup() const
virtual void setNormalizedFloat(ossim_uint32 offset, ossim_uint32 bandNumber, float input)
unsigned char ossim_uint8