13 #ifndef ossimImageData_HEADER 14 #define ossimImageData_HEADER 1 42 COLOR_DISCREPANCY = 0,
51 COLOR_DISCREPANCY_OF_ANY_FROM_DEST = 1,
59 COLOR_DISCREPANCY_OF_ALL_FROM_DEST = 2,
68 COLOR_EQUALITY_OF_ANY_TO_SRC = 3,
77 COLOR_EQUALITY_OF_ALL_TO_SRC = 4,
150 virtual void setImageRectangleAndBands(
const ossimIrect& rect,
152 virtual void setImageRectangle(
const ossimIrect& rect);
153 virtual void setOrigin(
const ossimIpt& origin);
198 virtual void computeMinMaxPix(std::vector<ossim_float64>& minBands,
199 std::vector<ossim_float64>& maxBands)
const;
214 virtual void computeMinMaxNulPix(
215 std::vector<ossim_float64>& minBands,
216 std::vector<ossim_float64>& maxBands,
217 std::vector<ossim_float64>& nulBands)
const;
233 bool reallocate=
false);
267 void createTestTile();
274 bool isNull(
const ossimIpt& pt)
const;
309 virtual void convertToNormalizedFloat(
ossimImageData* result)
const;
321 virtual void convertToNormalizedDouble(
ossimImageData* result)
const;
331 const T* s = (T*)
getBuf(band);
382 virtual bool hasAlpha()
const;
399 virtual const void*
getBuf()
const;
575 virtual void makeBlank();
601 virtual void copyTileToNormalizedBuffer(
ossim_float64* buf)
const;
602 virtual void copyTileToNormalizedBuffer(
ossim_float32* buf)
const;
612 virtual void copyTileBandToNormalizedBuffer(
ossim_uint32 band,
623 virtual void copyTileBandToNormalizedBuffer(
ossim_uint32 band,
641 virtual void copyNormalizedBufferToTile(
ossim_uint32 band,
643 virtual void copyNormalizedBufferToTile(
ossim_uint32 band,
649 virtual void loadBand(
const void* src,
653 virtual void loadBand(
const void* src,
658 virtual void loadTile(
const void* src,
661 virtual void loadTileWithAlpha(
const void* src,
665 virtual void loadTile(
const void* src,
672 bool mutliplyAlphaFlag=
false);
676 bool multiplyAlphaFlag=
false);
691 virtual void loadTileFrom1Band(
const void* src,
697 virtual void loadShortBand(
const void* src,
700 bool swap_bytes=
false);
749 virtual void unloadBand(
void* dest,
754 OverwriteBandRule ow_type=NULL_RULE )
const;
804 virtual void unloadBand(
void* dest,
810 OverwriteBandRule ow_type=NULL_RULE )
const;
818 virtual void unloadBand(
void* dest,
829 virtual void unloadBand(
void* dest,
834 virtual void unloadTile(
void* dest,
838 virtual void unloadTile(
void* dest,
849 virtual void unloadTileToBipAlpha(
void* dest,
853 virtual bool isPointWithin(
const ossimIpt& point)
const;
863 virtual void stretchMinMax();
871 virtual void computeAlphaChannel();
900 virtual void copyLine(
const void* src,
913 void setIndexedFlag(
bool flag);
916 bool getIndexedFlag()
const;
926 bool deepTest=
false)
const;
932 template <
class T>
void copyLineTemplate(T dummyTemplate,
945 template <
class T>
void stretchMinMax(T dummyTemplate);
953 template <
class T>
void computeAlphaChannel(T dummyTemplate);
967 template <
class T>
void makeBlank(T dummyTemplate);
984 void loadTileFromBip(
const void* src,
const ossimIrect& src_rect);
985 void loadTileFromBipAlpha(
const void* src,
const ossimIrect& src_rect);
986 void loadTileFromBil(
const void* src,
const ossimIrect& src_rect);
987 void loadTileFromBsq(
const void* src,
const ossimIrect& src_rect);
989 void loadTileFromBip(
const void* src,
992 void loadTileFromBil(
const void* src,
995 void loadTileFromBsq(
const void* src,
999 void unloadTileToBip(
void* dest,
1002 void unloadTileToBil(
void* dest,
1005 void unloadTileToBsq(
void* dest,
1020 virtual void unloadBandToBsq(
void* dest,
1025 OverwriteBandRule ow_type=NULL_RULE )
const;
1033 void copyTileToNormalizedBuffer(T dummyTemplate,
1036 void copyTileToNormalizedBuffer(T dummyTemplate,
1044 void copyTileToNormalizedBuffer(T dummyTemplate,
1047 void copyTileToNormalizedBuffer(T dummyTemplate,
1057 void copyNormalizedBufferToTile(T dummyTemplate,
1060 void copyNormalizedBufferToTile(T dummyTemplate,
1063 void copyNormalizedBufferToTile(T dummyTemplate,
1067 void copyNormalizedBufferToTile(T dummyTemplate,
1073 void computeMinMaxPix(T dummyValue,
1074 std::vector<ossim_float64>& minBands,
1075 std::vector<ossim_float64>& maxBands)
const;
1078 void computeMinMaxNulPix(T dummyValue,
1079 std::vector<ossim_float64>& minBands,
1080 std::vector<ossim_float64>& maxBands,
1081 std::vector<ossim_float64>& nulBands)
const;
1083 template <
class T>
void loadBandTemplate(T,
1088 template <
class T>
void loadBandTemplate(T,
1094 template <
class T>
void nullTileAlphaTemplate(T,
1098 bool multiplyAlphaFlag=
false);
1100 template <
class T>
void loadTileFromBipTemplate(T,
1103 template <
class T>
void loadTileFromBipAlphaTemplate(T,
1107 template <
class T>
void loadTileFromBipTemplate(T,
1112 void loadTileFromBipAlphaTemplate(T,
1117 template <
class T>
void loadTileFromBilTemplate(T,
1121 template <
class T>
void loadTileFromBilTemplate(T,
1126 template <
class T>
void loadTileFromBsqTemplate(T,
1130 template <
class T>
void loadTileFromBsqTemplate(T,
1135 template <
class T>
void unloadTileToBipTemplate(T,
1140 template <
class T>
void unloadTileToBipAlphaTemplate(T,
1145 template <
class T>
void unloadTileToBilTemplate(T,
1150 template <
class T>
void unloadTileToBsqTemplate(T,
1155 template <
class T>
void unloadBandTemplate(T,
1161 template <
class T>
void unloadBandToBsqTemplate(T,
1167 OverwriteBandRule ow_type=NULL_RULE)
const;
1174 template <
class T>
void createTestTile(T);
1180 virtual void initializeDefaults();
1186 virtual void initializeMinDefault();
1192 virtual void initializeMaxDefault();
1198 virtual void initializeNullDefault();
1203 bool result =
false;
1206 result = ((m_spatialExtents.size() ==
1247 return (
m_alpha.size()?
true:
false);
1293 const unsigned char *bufx = (
unsigned char*)(&
m_origin.
x);
1294 const unsigned char *bufy = (
unsigned char*)(&
m_origin.
y);
1296 bufx[2]*107 + bufx[3]*109 +
1297 bufy[0]*139 + bufy[1]*149 +
1298 bufy[2]*151 + bufy[3]*157);
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
virtual ossim_uint32 getWidth() const
virtual const ossim_float64 * getMaxPix() const
virtual bool isEqualTo(const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const
Represents serializable keyword/value map.
void copyTileToFloatBuffer(T, ossim_float32 *buf) const
std::vector< ossim_uint8 > m_alpha
Alpha channel.
virtual bool hasAlpha() const
virtual ossim_uint32 getHeight() const
virtual void assign(const ossimRectilinearDataObject *data)
unsigned short ossim_uint16
virtual ossim_uint32 getDataSizeInBytes() const
ossimScalarType m_scalarType
OSSIM_DLL double defaultMin(ossimScalarType scalarType)
ossimRefPtr< ossimMultiResLevelHistogram > m_histogram
signed short ossim_sint16
OSSIM_DLL double defaultNull(ossimScalarType scalarType)
std::vector< ossim_float64 > m_maxPixelValue
Max pixel value for each band.
unsigned int ossim_uint32
virtual const ossim_float64 * getNullPix() const
OverwriteBandRule
Definitions for the unloadBand routines.
virtual ossimIrect getImageRectangle() const
std::vector< ossim_uint32 > m_spatialExtents
std::vector< ossim_float64 > m_minPixelValue
Min pixel value for each band.
ossim_float64 m_percentFull
percentage (0-100) of image tile that has valid (non-null) pixel values.
virtual const ossim_float64 * getMinPix() const
virtual void initialize()
Initializes m_dataBuffer to current spatial extents.
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
virtual ossimScalarType getScalarType() const
OSSIM_DLL double defaultMax(ossimScalarType scalarType)
std::vector< ossim_float64 > m_nullPixelValue
Null pixel value for each band.
bool m_indexedFlag
Indicates data contains palette indexes.
virtual ossimObject * dup() const
str write(os2.str().data(), os2.str().size())
virtual const ossimRectilinearDataObject & operator=(const ossimRectilinearDataObject &rhs)
assignment operator=
ossimDataObjectStatus
Definitions for data object status.
virtual ossim_uint32 getHashId() const =0
ossim_float64 percentFull() const
Returns the percentage (0-100) of data buffer containing non-null (valid) entries.
virtual const ossimIpt & getOrigin() const
unsigned char ossim_uint8
virtual std::ostream & print(std::ostream &out) const
Generic print method.
std::basic_ostream< char > ostream
Base class for char output streams.
bool hasSameDimensionsAs(ossimImageData *data) const
virtual ossim_uint32 getHashId() const
Uses prime numbers as coefficients for this summation.