38 #ifdef OSSIM_HAS_GEOTIFF 39 # if OSSIM_HAS_GEOTIFF 42 # include <geo_normalize.h> 43 # include <geovalues.h> 50 static ossimTrace traceDebug(
"ossimTiffWriter:debug");
51 static const char* TIFF_WRITER_OUTPUT_TILE_SIZE_X_KW =
"output_tile_size_x";
52 static const char* TIFF_WRITER_OUTPUT_TILE_SIZE_Y_KW =
"output_tile_size_y";
53 static const long DEFAULT_JPEG_QUALITY = 75;
57 #ifdef OSSIM_ID_ENABLED 58 static const char OSSIM_ID[] =
"$Id: ossimTiffWriter.cpp 22942 2014-11-02 20:39:27Z gpotts $";
65 theCompressionType(
"none"),
66 theJpegQuality(DEFAULT_JPEG_QUALITY),
67 theOutputGeotiffTagsFlag(
true),
68 theColorLutFlag(false),
69 theProjectionInfo(NULL),
71 theForceBigTiffFlag(false),
79 #ifdef OSSIM_ID_ENABLED 97 static const char* MODULE =
"ossimTiffWriter::openTiff()";
115 static_cast<ossim_uint64>(bounds.
height())*
119 if( byteCheck > BIGTIFF_THRESHOLD )
141 "File %s line %d Module %s Error:\n\ 142 Error opening file: %s\n",
164 static const char MODULE[] =
"ossimTiffWriter::writeTiffTags";
171 "File %s line %d %s\nError: Tiff pointer is null!\n\ 172 Call setFilename method.\n",
186 int bitsPerSample = 0;
187 int sampleFormat = 0;
192 sampleFormat = SAMPLEFORMAT_UINT;
202 sampleFormat = SAMPLEFORMAT_UINT;
207 sampleFormat = SAMPLEFORMAT_INT;
213 sampleFormat = SAMPLEFORMAT_IEEEFP;
219 sampleFormat = SAMPLEFORMAT_IEEEFP;
227 TIFFSetField( (
TIFF*)tiffPtr, TIFFTAG_BITSPERSAMPLE, bitsPerSample );
228 TIFFSetField( (
TIFF*)tiffPtr, TIFFTAG_SAMPLEFORMAT, sampleFormat );
233 TIFFSetField( tiffPtr, TIFFTAG_IMAGEWIDTH, width);
234 TIFFSetField( tiffPtr, TIFFTAG_IMAGELENGTH, height);
239 TIFFSetField(tiffPtr, TIFFTAG_TILEWIDTH, tileXSize);
240 TIFFSetField(tiffPtr, TIFFTAG_TILELENGTH, tileYSize);
248 TIFFSetField(tiffPtr, TIFFTAG_ROWSPERSTRIP,
ossim_uint32(1));
259 std::vector<ossim_float64> minBand(numberOfBands);
260 std::vector<ossim_float64> maxBand(numberOfBands);
277 TIFFSetField( tiffPtr, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
281 TIFFSetField( tiffPtr, TIFFTAG_PLANARCONFIG, PLANARCONFIG_SEPARATE);
289 tiffCompressType = COMPRESSION_JPEG;
292 TIFFSetField( tiffPtr, TIFFTAG_COMPRESSION, tiffCompressType);
297 tiffCompressType = COMPRESSION_LZW;
298 TIFFSetField( tiffPtr, TIFFTAG_COMPRESSION, tiffCompressType);
302 tiffCompressType = COMPRESSION_PACKBITS;
303 TIFFSetField( tiffPtr, TIFFTAG_COMPRESSION, tiffCompressType);
308 tiffCompressType = COMPRESSION_DEFLATE;
309 TIFFSetField( tiffPtr, TIFFTAG_COMPRESSION, tiffCompressType);
326 TIFFSetField( tiffPtr, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_PALETTE );
327 TIFFSetField( tiffPtr, TIFFTAG_INDEXED, (
ossim_uint16)1);
343 TIFFSetField(tiffPtr, TIFFTAG_COLORMAP, r, g ,b);
358 TIFFSetField(tiffPtr, TIFFTAG_COLORMAP, r, g ,b);
366 TIFFSetField( tiffPtr, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_RGB );
370 TIFFSetField( tiffPtr, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISBLACK );
382 if ( projectionInfo.
valid() )
404 bool needColorLut =
false;
405 bool needLoop =
true;
408 if (imageInputs.size() > 0)
412 if (needLoop ==
false)
422 if (needLoop ==
false)
438 if (handler->
getLut() != 0)
440 colorLut = handler->
getLut();
445 needColorLut =
false;
457 if (needColorLut && colorLut != 0)
467 static const char MODULE[] =
"ossimTiffWriter::writeFile";
469 if (traceDebug())
CLOG <<
"Entered..." << std::endl;
491 << MODULE <<
"DEBUG:" 528 CLOG <<
" ERROR: Could not open! Returning..." << std::endl;
538 CLOG <<
" ERROR: No input connection! Returning..." << std::endl;
550 << MODULE <<
" ERROR:" 551 <<
"\nError detected writing tiff tags. Returning..." << std::endl;
574 << MODULE <<
" ERROR:" 575 <<
"\nError detected writing geotiff tags. Returning..." 590 << MODULE <<
" ERROR:" 591 <<
"\nError detected writing geotiff tags. Returning..." 602 if ( imgGeom.
valid() )
618 << MODULE <<
" ERROR:" 619 <<
"\nError detected writing geotiff tags. Returning..." 656 << MODULE <<
" ERROR:" 664 if (traceDebug())
CLOG <<
" Exited..." << std::endl;
682 const char* prefix)
const 685 "output_geotiff_flag",
690 TIFF_WRITER_OUTPUT_TILE_SIZE_X_KW,
695 TIFF_WRITER_OUTPUT_TILE_SIZE_Y_KW,
743 value = kwl.
find(prefix,
744 TIFF_WRITER_OUTPUT_TILE_SIZE_X_KW);
754 value = kwl.
find(prefix,
755 TIFF_WRITER_OUTPUT_TILE_SIZE_Y_KW);
794 const char* flag = kwl.
find(prefix,
"output_geotiff_flag");
802 const char* colorLutFlag = kwl.
find(prefix,
"color_lut_flag");
859 static const char*
const MODULE =
"ossimTiffWriter::writeToTiles";
862 if (traceDebug())
CLOG <<
" Entered." << std::endl;
889 vector<ossim_float64> minBands;
890 vector<ossim_float64> maxBands;
894 origin.
y = i * tileHeight;
899 origin.
x = j * tileWidth;
906 << MODULE <<
" ERROR:" 907 <<
"Error returned writing tiff tile: " <<
tileNumber 908 <<
"\nNULL Tile encountered" 925 id->unloadTile(tempTile->
getBuf(),
926 id->getImageRectangle(),
931 id->computeMinMaxPix(minBands, maxBands);
939 bytesWritten = TIFFWriteTile(tiffPtr,
946 if (bytesWritten != tileSizeInBytes)
951 << MODULE <<
" ERROR:" 952 <<
"Error returned writing tiff tile: " << i
953 <<
"\nExpected bytes written: " << tileSizeInBytes
954 <<
"\nBytes written: " << bytesWritten
966 double numTiles = numberOfTiles;
976 if (traceDebug())
CLOG <<
" Exited." << std::endl;
983 static const char*
const MODULE =
"ossimTiffWriter::writeToTilesBandSep";
985 if (traceDebug())
CLOG <<
" Entered." << std::endl;
1002 <<
"Bounding rect = " << boundingRect
1003 <<
"\nBands = " << bands
1004 <<
"\ntilesWide = " << tilesWide
1005 <<
"\ntilesHigh = " << tilesHigh
1006 <<
"\ntileWidth = " << tileWidth
1007 <<
"\ntileHeight = " << tileHeight << std::endl;
1012 vector<ossim_float64> minBands;
1013 vector<ossim_float64> maxBands;
1017 origin.
y = i * tileHeight;
1024 origin.
x = j * tileWidth;
1030 << MODULE <<
" ERROR:" 1031 <<
"Error returned writing tiff tile: " << i
1032 <<
"\nNULL Tile encountered" 1036 ossim_int32 tileSizeInBytes =
id->getSizePerBandInBytes();
1040 id->computeMinMaxPix(minBands, maxBands);
1049 tdata_t* data = (tdata_t*)id->
getBuf(band);
1051 tsize_t bytesWritten = 0;
1054 bytesWritten = TIFFWriteTile(tiffPtr,
1061 if ( ( bytesWritten != tileSizeInBytes ) && !
needsAborting() )
1066 << MODULE <<
" ERROR:" 1067 <<
"Error returned writing tiff tile: " << i
1068 <<
"\nExpected bytes written: " << tileSizeInBytes
1069 <<
"\nBytes written: " << bytesWritten
1083 double numTiles = numberOfTiles;
1097 if (traceDebug())
CLOG <<
" Exited." << std::endl;
1104 static const char*
const MODULE =
"ossimTiffWriter::writeToStrips";
1107 if (traceDebug())
CLOG <<
" Entered." << std::endl;
1125 ossim_uint32 bufferSizeInBytes = bytesInLine * tileHeight;
1126 unsigned char* buffer =
new unsigned char[bufferSizeInBytes];
1129 vector<ossim_float64> minBands;
1130 vector<ossim_float64> maxBands;
1134 memset(buffer, 0, bufferSizeInBytes);
1151 << MODULE <<
" ERROR:" 1152 <<
"Error returned writing tiff tile: " <<
tileNumber 1153 <<
"\nNULL Tile encountered" 1158 id->unloadTile(buffer, bufferRect,
OSSIM_BIP);
1161 id->computeMinMaxPix(minBands, maxBands);
1182 << MODULE <<
" ERROR:" 1183 <<
"Error returned writing tiff scanline: " << row
1196 double numTiles = numberOfTiles;
1213 if (traceDebug())
CLOG <<
" Exited." << std::endl;
1220 static const char*
const MODULE =
"ossimTiffWriter::writeToStripsBandSep";
1223 if (traceDebug())
CLOG <<
" Entered." << std::endl;
1241 ossim_uint32 bufferSizeInBytes = bytesInLine * tileHeight * bands;
1243 unsigned char* buffer =
new unsigned char[bufferSizeInBytes];
1247 vector<ossim_float64> minBands;
1248 vector<ossim_float64> maxBands;
1252 memset(buffer, 0, bufferSizeInBytes);
1269 << MODULE <<
" ERROR:" 1270 <<
"Error returned writing tiff tile: " <<
tileNumber 1271 <<
"\nNULL Tile encountered" 1276 id->unloadTile(buffer, bufferRect,
OSSIM_BIL);
1279 id->computeMinMaxPix(minBands, maxBands);
1302 << MODULE <<
" ERROR:" 1303 <<
"Error returned writing tiff scanline: " << row
1316 double numTiles = numberOfTiles;
1332 if (traceDebug())
CLOG <<
" Exited." << std::endl;
1339 if ( (tileSize.
x % 16) || (tileSize.
y % 16) )
1344 <<
"ossimTiffWriter::changeTileSize ERROR:" 1345 <<
"\nTile size must be a multiple of 32!" 1356 const vector<ossim_float64>& maxBand)
1359 if(minBand.size() && maxBand.size())
1362 *std::min_element(minBand.begin(), minBand.end());
1364 *std::max_element(maxBand.begin(), maxBand.end());
1369 <<
"ossimTiffWriter::writeMinMaxTags DEBUG:" 1370 <<
"\nminValue: " << minValue
1371 <<
"\nmaxValue: " << maxValue
1383 TIFFSetField( tiffPtr, TIFFTAG_MINSAMPLEVALUE,
1384 static_cast<ossim_sint16>(0) );
1385 TIFFSetField( tiffPtr, TIFFTAG_MAXSAMPLEVALUE,
1386 static_cast<ossim_sint16>(2047) );
1392 TIFFSetField( tiffPtr, TIFFTAG_MINSAMPLEVALUE,
1393 static_cast<ossim_sint16>(minValue) );
1394 TIFFSetField( tiffPtr, TIFFTAG_MAXSAMPLEVALUE,
1395 static_cast<ossim_sint16>(maxValue) );
1406 TIFFSetField( tiffPtr, TIFFTAG_SMINSAMPLEVALUE,
1407 static_cast<ossim_float32>(minValue) );
1408 TIFFSetField( tiffPtr, TIFFTAG_SMAXSAMPLEVALUE,
1409 static_cast<ossim_float32>(maxValue) );
1447 else if(property->
getName() ==
"lut_file")
1452 else if(property->
getName() ==
"color_lut_flag")
1456 else if(property->
getName() ==
"big_tiff_flag")
1475 if (name ==
"Filename")
1482 if ( filenameProp.
valid() )
1486 prop = filenameProp.
get();
1497 prop = numericProp.
get();
1511 prop = stringProp.
get();
1513 else if (name ==
"lut_file")
1519 prop =
property.
get();
1521 else if (name ==
"color_lut_flag")
1525 else if(name ==
"big_tiff_flag")
1543 prop = stringProp.
get();
1559 propertyNames.push_back(
ossimString(
"color_lut_flag"));
1560 propertyNames.push_back(
ossimString(
"big_tiff_flag"));
1588 if (quality > 0 && quality < 101)
1597 <<
"ossimTiffWriter::setJpegQuality DEBUG:" 1598 <<
"\nquality out of range: " << quality
1599 <<
"\nquality has been set to default: " 1600 << DEFAULT_JPEG_QUALITY
1601 <<
"\nvalid range: 1 to 100 with 100 being best." 1650 imageTypeList.push_back(
ossimString(
"tiff_strip"));
1651 imageTypeList.push_back(
ossimString(
"tiff_strip_band_separate"));
1652 imageTypeList.push_back(
ossimString(
"tiff_tiled"));
1653 imageTypeList.push_back(
ossimString(
"tiff_tiled_band_separate"));
1666 if((imageType ==
"image/tiff")||
1667 (imageType ==
"image/gtiff")||
1668 (imageType ==
"image/tif")||
1669 (imageType ==
"image/gtif"))
1688 if ( ( projName ==
"ossimCylEquAreaProjection" ) ||
1689 ( projName ==
"ossimEquDistCylProjection" ) ||
1690 ( projName ==
"ossimLlxyProjection" ) )
1761 writer->connectMyInputTo(0, remapper.
get());
1762 writer->setFilename(f);
1763 writer->setGeotiffFlag(
false);
OSSIMDLLEXPORT void ossimSetError(const char *className, ossim_int32 error, const char *fmtString=0,...)
16 bit unsigned integer (15 bits used)
void setLut(ossimNBandLutDataObject &lut)
UnitType getUnitType(ossim_int32 pcsCode, const ossimString &projName) const
virtual void valueToString(ossimString &valueResult) const =0
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
saves the state of the object.
static void dumpTileToFile(ossimRefPtr< ossimImageData > t, const ossimFilename &f)
Will take an ossimIMageData tile and write it to disk as a general raster file.
virtual void slaveProcessTiles()
virtual ~ossimTiffWriter()
static const char * PHOTOMETRIC_KW
virtual ossimRefPtr< ossimNBandLutDataObject > getLut() const
virtual void setJpegQuality(ossim_int32 quality)
Ranges from 1 to 100 with 100 being the best.
virtual double getMaxPixelValue(ossim_uint32 band=0) const
Returns the max pixel of the band.
virtual void setImageRectangle(const ossimIrect &rect)
virtual ossimObject * getView()
virtual ossim_uint32 getTileWidth() const
Returns the default processing tile width.
virtual void disconnect(ossimConnectableObject *object=0)
Will disconnect the object passed in.
ossimString theOutputImageType
bool needsAborting() const
virtual bool isMaster() const
bool writeTiffTags()
Writes tiff tags from ossimMapProjectionInfo to tiff file.
ossimRefPtr< ossimNBandLutDataObject > theColorLut
Represents serializable keyword/value map.
virtual void setToStartOfSequence()
static const ossimErrorCode OSSIM_OK
ossimRefPtr< ossimNBandToIndexFilter > theNBandToIndexFilter
ossimIpt theOutputTileSize
virtual ossim_uint32 getNumberOfOutputBands() const
Returns the number of bands in a tile returned from this TileSource.
virtual bool writeFile()
Write out the file.
virtual ossim_int32 getJpegQuality() const
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
Pushes this's names onto the list of property names.
static const char * OUTPUT_TILE_SIZE_KW
ossimRefPtr< ossimViewController > theViewController
virtual void setCompressionType(const ossimString &type)
compression type can be JPEG, PACKBITS, or ZIP/DEFLATE
const char * find(const char *key) const
ossimUnitType theLinearUnits
If not a geographic projection this allows the user to set the linear units of the output tag to be: ...
ossimString theCompressionType
ossim_int64 getNumberOfTiles() const
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
ossim_uint32 height() const
virtual ossimRefPtr< ossimImageData > getNextTile(ossim_uint32 resLevel=0)
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
ossimIrect theAreaOfInterest
virtual ossimConnectableObject::ConnectableObjectList findAllObjectsOfType(const RTTItypeid &typeInfo, bool recurse=true)=0
static ossimString toString(bool aValue)
Numeric to string methods.
void setImage(ossimRefPtr< ossimImageData > image)
OSSIM_DLL void defaultTileSize(ossimIpt &tileSize)
bool writeToTiles()
Writes image data to a tiled tiff format.
const ossimIpt & ul() const
ossimString thePhotoMetric
virtual ossimDataObjectStatus getDataObjectStatus() const
16 bit unsigned integer (14 bits used)
static const ossimErrorCode OSSIM_ERROR
virtual ossimString getClassName() const
void setPixelType(ossimPixelType type)
Sets the data member "thePixelType".
16 bit unsigned integer (13 bits used)
ossimFilename theLutFilename
void addConstraint(const ossimString &value)
Pure virtual base class for image file writers.
unsigned short ossim_uint16
virtual bool isOpen() const
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
ossim_int32 theJpegQuality
virtual void initialize()
Initialize the data buffer.
virtual ossim_int32 setProjectionInfo(const ossimMapProjectionInfo &proj)
#define OSSIM_DEFAULT_TILE_WIDTH
bool theOutputGeotiffTagsFlag
ossimConnectableObject * getInput(ossim_uint32 index=0)
returns the object at the specified index.
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
const ConnectableObjectList & getInputList() const
virtual void setTileSize(const ossimIpt &tileSize)
Sets the output image tiling size if supported by the writer.
std::vector< ossimRefPtr< ossimConnectableObject > > ConnectableObjectList
static ossimImageDataFactory * instance()
virtual ossimString getCompressionType() const
RTTI_DEF1(ossimTiffWriter, "ossimTiffWriter", ossimImageFileWriter)
virtual ossimScalarType getOutputScalarType() const
This will be used to query the output pixel type of the tile source.
virtual bool getGeotiffFlag() const
virtual void setNumericType(ossimNumericPropertyType type)
virtual void setGeotiffFlag(bool flag)
std::string::size_type size() const
static ossimEpsgProjectionDatabase * instance()
Instantiates singleton instance of this class:
ossimRefPtr< ossimImageSourceSequencer > theInputConnection
ossimFilename theFilename
bool toBool() const
String to numeric methods.
static const char * COMPRESSION_TYPE_KW
virtual ossimIrect getBoundingRect(ossim_uint32 resLevel=0) const
This will return the bounding rect of the source.
bool writeToStrips()
Writes image data to a strip tiff format.
ossim_uint32 getNumberOfEntries() const
unsigned long long ossim_uint64
ossimRefPtr< ossimMapProjectionInfo > theProjectionInfo
unsigned int ossim_uint32
bool writeToTilesBandSep()
Writes image data to a tiled tiff band separate format.
32 bit normalized floating point
ossimString trim(const ossimString &valueToTrim=ossimString(" \\)) const
this will strip lead and trailing character passed in.
#define STATIC_TYPE_INFO(T)
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of an object from a keyword list.
bool open(const ossimFilename &lutFile)
Reads in an external lut file.
virtual ossimIrect getImageRectangle() const
OSSIM_DLL ossim_uint32 scalarSizeInBytes(ossimScalarType scalarType)
const ossimIpt & lr() const
static ossimString downcase(const ossimString &aString)
virtual ossim_int32 connectMyInputTo(ossimConnectableObject *inputObject, bool makeOutputConnection=true, bool createEventFlag=true)
Will try to connect this objects input to the passed in object.
virtual void initialize()
virtual ossimRefPtr< ossimImageData > create(ossimSource *owner, ossimScalarType scalar, ossim_uint32 bands=1) const
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
ossim_uint32 width() const
virtual bool hasImageType(const ossimString &imageType) const
bool hasImageType(const ossimString& imageType) const
UnitType getPcsUnitType(ossim_int32 pcsCode) const
virtual ossimRefPtr< ossimImageGeometry > getImageGeometry()
Returns the image geometry object associated with this tile source or NULL if not defined...
bool hasImageType(const ossimString &imageType) const
bool hasImageType(const ossimString& imageType) const
virtual ossimIpt getOutputTileSize() const
virtual double getNullPixelValue(ossim_uint32 band=0) const
Each band has a null pixel associated with it.
virtual void setFilename(const ossimFilename &file)
ossimPixelType thePixelType
OSSIM_PIXEL_IS_POINT = 0, OSSIM_PIXEL_IS_AREA = 1.
virtual void makeBlank()
Initializes data to null pixel values.
64 bit normalized floating point
const ossimProjection * getProjection() const
Access methods for projection (may be NULL pointer).
16 bit unsigned integer (11 bits used)
long toLong() const
toLong's deprecated, please use the toInts...
ossim_int64 getNumberOfTilesHorizontal() const
bool writeGeotiffTags(ossimRefPtr< ossimMapProjectionInfo > projectionInfo)
Writes geotiff tags from ossimMapProjectionInfo to tiff file.
virtual ossim_uint32 getTileHeight() const
Returns the default processing tile height.
ossimUnitType getProjectionUnits() const
OSSIM considers all map projection coordinates (including false eastings and northings) to be in mete...
This class defines an abstract Handler which all image handlers(loaders) should derive from...
virtual void setProperty(ossimRefPtr< ossimProperty > property)
virtual const void * getBuf() const
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
bool writeToStripsBandSep()
Writes image data to a strip tiff band separate format.
virtual void setProperty(ossimRefPtr< ossimProperty > property)
Will set the property whose name matches the argument "property->getName()".
virtual void setErrorStatus() const
static const char * COMPRESSION_QUALITY_KW
void writeMinMaxTags(const vector< ossim_float64 > &minBand, const vector< ossim_float64 > &maxBand)
#define OSSIM_DEFAULT_TILE_HEIGHT
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string's contents...
class ossimNBandLutDataObject
virtual void setDataObjectStatus(ossimDataObjectStatus status) const
Full list found in ossimConstants.h.
virtual double getMinPixelValue(ossim_uint32 band=0) const
Returns the min pixel of the band.
virtual void initialize()
ossimDataObjectStatus
Definitions for data object status.
void addFilter(const ossimString &filter)
virtual void getImageTypeList(std::vector< ossimString > &imageTypeList) const
void getImageTypeList(std::vector<ossimString>& imageTypeList)const
virtual void setPercentComplete(double percentComplete)
ossimObject * dup() const
virtual void setTileSize(const ossimIpt &tileSize)
virtual ossimString getExtension() const
Returns a 3-letter extension from the image type descriptor (theOutputImageType) that can be used for...
static bool writeTags(TIFF *tiffOut, const ossimRefPtr< ossimMapProjectionInfo > projectionInfo, bool imagineNad27Flag=false)
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Loads the state of the object by reading in the keywords listed in the save state.
static const char * FILENAME_KW
unsigned char ossim_uint8
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
ossim_int64 getNumberOfTilesVertical() const
void setLut(const ossimNBandLutDataObject &lut)
const ossimString & getName() const
ossimString & downcase()
Downcases this string.
virtual void valueToString(ossimString &valueResult) const
bool isLutEnabled() const
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
16 bit unsigned integer (12 bits used)