47 static ossimTrace traceDebug(
"ossimImageHandler:debug");
50 static const char HAS_LUT_KW[] =
"has_lut";
51 static const char OPEN_OVERVIEW_FLAG_KW[] =
"open_overview_flag";
52 static const char START_RES_LEVEL_KW[] =
"start_res_level";
53 static const char SUPPLEMENTARY_DIRECTORY_KW[] =
"supplementary_directory";
54 static const char VALID_VERTICES_FILE_KW[] =
"valid_vertices_file";
56 #ifdef OSSIM_ID_ENABLED 57 static const char OSSIM_ID[] =
"$Id: ossimImageHandler.cpp 23013 2014-12-02 19:21:56Z okramer $";
72 theValidImageVertices(0),
76 theDecimationFactors(0),
78 theStartingResLevel(0),
79 theOpenOverviewFlag(
true),
85 <<
"ossimImageHandler::ossimImageHandler() DEBUG:" << std::endl;
86 #ifdef OSSIM_ID_ENABLED 96 preferencesKWL().findKey( std::string(
"ossim_supplementary_directory") );
112 const char* prefix)
const 114 static const char MODULE[] =
"ossimImageHandler::saveState";
121 <<
" ERROR detected in keyword list! State not saved." 127 kwl.
add(prefix, HAS_LUT_KW, (
theLut.
valid()?
"true":
"false"),
true);
144 static const char MODULE[] =
"ossimImageHandler::loadState(kwl, prefix)";
149 << MODULE <<
" DEBUG: entered ..." 159 <<
"WARNING: error detected in keyword list! State not load." 165 << MODULE <<
" DEBUG: " 166 <<
"leaving with error in kwl ..." << std::endl;
191 << MODULE <<
" DEBUG:\n" 200 if (geomKwl.
addFile(lookup) ==
true)
207 << MODULE <<
" DEBUG:" 208 <<
"Loaded external geometry file: " 210 <<
"\n" << geomKwl << std::endl;
216 lookup = kwl.
find(prefix, VALID_VERTICES_FILE_KW);
223 lookup = kwl.
find(prefix, START_RES_LEVEL_KW);
230 lookup = kwl.
find(prefix, OPEN_OVERVIEW_FLAG_KW);
237 lookup = kwl.
find(prefix, SUPPLEMENTARY_DIRECTORY_KW);
261 << MODULE <<
" DEBUG: Leaving Ok ..." 269 static const char MODULE[] =
"ossimImageHandler::initVertices";
270 bool loadFromFileFlag =
true;
271 std::shared_ptr<ossimKeywordlist> kwl;
274 bool validVerticesFlag =
false;
275 if(
m_state->getValidVertices())
277 loadFromFileFlag =
false;
278 kwl =
m_state->getValidVertices();
282 if(connectionString != file)
284 loadFromFileFlag =
true;
286 else if(kwl->getSize()<=0)
294 loadFromFileFlag =
true;
297 if(!kwl) kwl = std::make_shared<ossimKeywordlist>();
301 kwl = std::make_shared<ossimKeywordlist>();
303 kwl->add(
"connection_string", file,
true);
311 kwl->parseStream(*instream);
313 m_state->setValidVertices(kwl);
321 <<
"ossimImageHandler::initVertices NOTICE:" 322 <<
"\nError reading valid vertice file: " << file << std::endl;
329 std::vector<ossimString> indexedPrefixes;
330 kwl->getSortedList(indexedPrefixes,
"point");
336 lookup = kwl->find(indexedPrefixes[i],
".x");
340 lookup = kwl->find(indexedPrefixes[i],
".y");
348 CLOG <<
" ERROR: lookup failed for: " << indexedPrefixes[i] << std::endl;
359 <<
"\nVertices file: " << file
360 <<
"\nValid image vertices:" 396 if( !lines || !samples )
402 result =
ossimIrect(0, 0, samples-1, lines-1);
444 double line_decimation, samp_decimation, decimation, ratio;
451 static const double ERROR_MARGIN = 1.1;
475 for(
ossim_uint32 res_level = 1; res_level < nRlevels; ++res_level)
480 if ((num_lines < 2) || (num_samps < 2))
483 line_decimation = decimation_r0.
y * num_lines_r0 / (double)num_lines;
484 samp_decimation = decimation_r0.
x * num_samps_r0 / (double)num_samps;
485 decimation = line_decimation<samp_decimation ? line_decimation:samp_decimation;
492 power_of_2_decimation *= 2;
493 ratio = (double)power_of_2_decimation / decimation;
496 if (ratio < ERROR_MARGIN)
497 decimation = (double) power_of_2_decimation;
499 }
while ((
double) power_of_2_decimation < decimation);
502 decimation = 1.0/decimation;
556 std::vector<ossim_uint32> entryList;
559 for(idx = 0; idx < entryList.size(); ++idx)
576 bool includeFullResFlag)
581 if(
buildOverview(file, compressionType, quality, resampleType, includeFullResFlag))
592 bool includeFullResFlag)
595 std::vector<ossim_uint32> entryList;
598 for(idx = 0; idx < entryList.size(); ++idx)
601 if(!
buildOverview(compressionType, quality, resampleType, includeFullResFlag))
617 bool includeFullResFlag)
633 switch(compressionType)
642 cType = COMPRESSION_JPEG;
647 cType = COMPRESSION_LZW;
653 cType = COMPRESSION_DEFLATE;
658 cType = COMPRESSION_PACKBITS;
759 filename = filename.
expand();
763 std::string prefix =
"";
765 std::string value = geomKwl.
findKey(prefix, key);
767 if ( value.empty() || (value !=
"ossimImageGeometry") )
772 value = geomKwl.
findKey(prefix, key);
774 if ( value.empty() || (value !=
"ossimImageGeometry") )
777 prefix += std::string(
"geometry." );
778 value = geomKwl.
findKey(prefix, key);
780 if ( value.empty() || (value !=
"ossimImageGeometry") )
783 prefix = std::string(
"geometry." );
784 value = geomKwl.
findKey(prefix, key);
789 if ( value ==
"ossimImageGeometry" )
792 if( !geom->
loadState(geomKwl, prefix.c_str()) )
851 <<
"ossimImageHandler::openOverview(overview_file): ...entered!";
902 <<
"overview starting res level: " << overviewStartingResLevel
903 <<
"\noverview levels: " 921 <<
"ossimImageHandler::openOverview(overview_file): ...leaving!";
929 static const char MODULE[] =
"ossimImageHandler::openOverview()";
942 std::shared_ptr<ossim::ImageHandlerState> overviewState =
m_state->getOverviewState();
947 if(overviewState->getConnectionString().empty())
984 <<
"overview starting res level: " << overviewStartingResLevel
985 <<
"\noverview levels: " 1006 if ( overviewFilename.
empty() )
1013 if ( overviewFilename.
size() )
1020 << (result?
"Opened ":
"Could not open ") <<
"overview: " << overviewFilename
1026 if (overviewFilename.
empty() || (overviewFilename.
exists() ==
false) )
1031 if (overviewFilename.
empty() || (overviewFilename.
exists() ==
false) )
1054 overviewFilename +=
".";
1058 overviewFilename +=
".ovr";
1062 if ( overviewFilename.
exists() )
1069 << (result?
"Opened ":
"Could not open ") <<
"overview: " << overviewFilename
1078 << MODULE <<
" exit result: " << (result?
"true":
"false") <<
"\n";
1148 vertices_file +=
"_vertices.kwl";
1154 <<
"Looking for " << vertices_file
1155 <<
" vertices file..." << std::endl;
1182 bool result =
open();
1194 bool result =
false;
1209 bool result =
false;
1215 result = (resLevel < LEVELS);
1244 validVertices.clear();
1249 validVertices.push_back(pt);
1254 std::reverse(validVertices.begin()+1, validVertices.end());
1291 bool result =
false;
1294 std::vector<ossim_uint32> bandList;
1303 bool result =
false;
1307 std::vector<ossim_uint32> inputList;
1310 if ( inputList.size() == BANDS )
1313 while ( band < BANDS )
1315 if ( inputList[band] != bandList[band] )
1321 if ( band == BANDS )
1332 std::vector<ossim_uint32>& outBandList)
1334 bool result =
false;
1339 if ( INPUT_BANDS && OUTPUT_BANDS )
1342 outBandList.resize( OUTPUT_BANDS );
1343 for (
ossim_uint32 band = 0; band < OUTPUT_BANDS; ++band )
1345 if ( inBandList[band] < INPUT_BANDS )
1347 outBandList[band] = inBandList[band];
1361 if ( result ==
false )
1478 entryList.push_back(0);
1483 bool result =
false;
1486 std::vector<ossim_uint32> entryList;
1489 if ( entryList.size() )
1491 if ( (entryList.size() > 1) || (entryList[0] != 0) ) result =
true;
1499 std::vector<ossim_uint32> tempList;
1507 entryStringList.clear();
1513 std::vector<ossimString> entryNames;
1515 if (entryIdx < entryNames.size())
1516 name = entryNames[entryIdx].
string();
1584 if ( property.
valid() )
1590 else if ( property->
getName() == OPEN_OVERVIEW_FLAG_KW )
1606 std::vector<ossim_uint32> entryList;
1612 for(idx = 0; idx < entryList.size(); ++idx)
1619 return stringProperty;
1656 else if(name ==
"histogram_filename")
1664 return filenameProp;
1667 else if(name ==
"geometry_filename")
1675 return filenameProp;
1678 else if(name ==
"valid_vertices_filename")
1686 return filenameProp;
1688 else if(name ==
"metadata_filename")
1696 return filenameProp;
1698 else if(name ==
"overview_filename")
1706 return filenameProp;
1708 else if(name ==
"filename")
1716 return filenameProp;
1718 else if ( name == OPEN_OVERVIEW_FLAG_KW)
1737 propertyNames.push_back(OPEN_OVERVIEW_FLAG_KW);
1742 bool set_e0_prefix)
const 1757 if (ext.
string()[0] !=
'.')
1776 if (ext.
string()[0] !=
'.')
1805 f.
merge( newDrivePart, newPathPart, filePart, extPart );
1865 result +=
"_vertices";
virtual bool open()=0
Pure virtual open.
virtual void valueToString(ossimString &valueResult) const =0
virtual bool addListener(ossimListener *listener)
static const char * OVERVIEW_FILE_KW
void setOpenOverviewFlag(bool flag)
Sets theOpenOverviewFlag.
static ossimImageGeometryRegistry * instance()
ossimRefPtr< ossimImageGeometry > theGeometry
virtual bool importHistogram(const ossimFilename &inputFile)
virtual ossimRefPtr< ossimImageHandler > openOverview(const ossimFilename &file) const
Open overview that takes a file name.
virtual void getDecimationFactors(vector< ossimDpt > &decimations) const
This returns all decimation for all levels.
virtual void setMaxPixelValue(ossim_uint32 band, const ossim_float64 &pix)
convenience method to set max pixel value.
void setComputationMode(ossimHistogramMode mode)
virtual ossim_uint32 getNumberOfBands() const
virtual ossimRefPtr< ossimNBandLutDataObject > getLut() const
ossimFilename theImageFile
const ossimIpt & getImageSize() const
virtual ossimImageHandler * open(const ossimFilename &fileName, bool trySuffixFirst=true, bool openOverview=true) const
open that takes a filename.
virtual bool buildOverview(ossimImageHandlerOverviewCompressionType compressionType=OSSIM_OVERVIEW_COMPRESSION_NONE, ossim_uint32 quality=75, ossimFilterResampler::ossimFilterResamplerType resampleType=ossimFilterResampler::ossimFilterResampler_BOX, bool includeFullResFlag=false)
Will build over file for theImageFile.
virtual void disconnect(ossimConnectableObject *object=0)
Will disconnect the object passed in.
ossimImageHandlerOverviewCompressionType
Represents serializable keyword/value map.
bool addFile(const char *file)
const std::string & findKey(const std::string &key) const
Find methods that take std::string(s).
static const ossimErrorCode OSSIM_OK
virtual ossim_uint32 getNumberOfOutputBands() const
Returns the number of bands in a tile returned from this TileSource.
void setState(std::shared_ptr< ossim::ImageHandlerState > state)
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Attempts to initialize a transform and a projection given the KWL.
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
std::vector< ossimDpt > theDecimationFactors
virtual void getEntryNames(std::vector< ossimString > &entryNames) const
ossimFilename expand() const
Method to do file name expansion.
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of an object from a keyword list.
virtual ossim_uint32 getNumberOfLines(ossim_uint32 resLevel=0) const =0
Pure virtual, derived classes must implement.
bool canConnectMyInputTo(ossim_int32 inputIndex, const ossimConnectableObject *object) const
Connection rule.
ossim_uint32 height() const
static ossimString toString(bool aValue)
Numeric to string methods.
std::shared_ptr< ossim::ImageHandlerState > m_state
static const char * NUMBER_LINES_KW
virtual const ossimImageHandler * getOverview() const
bool theOpenOverviewFlag
If true opening of overviews will be attempted.
void split(ossimString &drivePart, ossimString &pathPart, ossimString &filePart, ossimString &extPart) const
std::shared_ptr< ossim::ImageHandlerState > getState()
virtual void getEntryName(ossim_uint32 entryIdx, std::string &name) const
Get the name of entry as a string.
virtual ossimFilename createDefaultOverviewFilename() const
static const ossimErrorCode OSSIM_ERROR
ossim_uint32 toUInt32() const
static StreamFactoryRegistry * instance()
OSSIM_DLL ossimStdOutProgress theStdOutProgress
virtual void setReadOnlyFlag(bool flag)
virtual void getDecimationFactor(ossim_uint32 resLevel, ossimDpt &result) const
virtual void closeOverview()
If theOverview is initialized it will be deleted and set to NULL.
void addConstraint(const ossimString &value)
ossimVertexOrdering checkOrdering() const
ossimVertexOrdering getOrdering() const
unsigned short ossim_uint16
virtual void setProperty(ossimRefPtr< ossimProperty > property)
void setImageSize(const ossimIpt &size)
virtual bool write(const char *file, const char *comment=0) const
Methods to dump the ossimKeywordlist to a file on disk.
virtual void fireEvent(ossimEvent &event)
static const char * IMAGE_ID_KW
static const char * TYPE_KW
virtual bool extendGeometry(ossimImageHandler *handler) const
virtual bool openOverview()
Searches for an overview.
ossimRefPtr< ossimMultiResLevelHistogram > getImageHistogram() const
Fetches the current entry image's histogram.
ossimFilename theSupplementaryDirectory
virtual void setImageGeometry(ossimImageGeometry *geom)
Sets the image geometry object.
ossimPixelType thePixelType
virtual ossim_uint32 getNumberOfDecimationLevels() const
This returns the total number of decimation levels.
virtual bool isValidRLevel(ossim_uint32 resLevel) const
Determines if the passed in reslution level is valid.
virtual bool isOpen() const =0
Derived classes must implement this method to be concrete.
virtual double getMinPixelValue(ossim_uint32 band=0) const
Retuns the min pixel value.
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
virtual void setProperty(ossimRefPtr< ossimProperty > property)
void setJpegCompressionQuality(ossim_int32 quality)
Sets the compression quality for use when using a compression type of COMPRESSION_JPEG.
static ossimScalarTypeLut * instance()
Returns the static instance of an ossimScalarTypeLut object.
OSSIM_DLL double defaultMin(ossimScalarType scalarType)
virtual void getOutputBandList(std::vector< ossim_uint32 > &bandList) const
Initializes bandList.
virtual bool getOverviewTile(ossim_uint32 resLevel, ossimImageData *result)
Method to get an overview tile.
virtual void changeOwner(ossimObject *owner)
Permits changing the object's owner.
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
virtual ossimFilename createDefaultValidVerticesFilename() const
virtual bool setInputSource(ossimImageHandler *imageSource)
Sets the input to the builder.
virtual ossimRefPtr< ossimImageGeometry > getImageGeometry()
Returns the image geometry object associated with this tile source or NULL if non defined...
virtual const ossimFilename & getFilename() const
Returns the filename.
std::string::size_type size() const
virtual bool buildAllOverviews(ossimImageHandlerOverviewCompressionType compressionType=OSSIM_OVERVIEW_COMPRESSION_NONE, ossim_uint32 quality=75, ossimFilterResampler::ossimFilterResamplerType resampleType=ossimFilterResampler::ossimFilterResampler_BOX, bool includeFullResFlag=false)
Will build over file for all image entries.
OSSIM_DLL double defaultNull(ossimScalarType scalarType)
virtual void setFilename(const ossimFilename &filename)
Sets the filename.
virtual ossim_uint32 getImageTileHeight() const =0
Returns the tile width of the image or 0 if the image is not tiled.
virtual void getValidImageVertices(std::vector< ossimIpt > &validVertices, ossimVertexOrdering ordering=OSSIM_CLOCKWISE_ORDER, ossim_uint32 resLevel=0) const
ordering specifies how the vertices should be arranged.
virtual bool setOutputToInputBandList()
If the image handler "isBandSeletor()" then the band selection of the output are set to input or iden...
#define OSSIM_EVENT_ADD_OBJECT_ID
virtual bool isIdentityBandList(const std::vector< ossim_uint32 > &bandList) const
Convenience method to see if band list is identity.
unsigned int ossim_uint32
const char * chars() const
For backward compatibility.
virtual bool getRgbBandList(std::vector< ossim_uint32 > &bandList) const
Convenience method to get the zero based rgb output band list.
virtual void setMinPixelValue(ossim_uint32 band, const ossim_float64 &pix)
convenience method to set min pixel value.
vector< ossimIpt > theValidImageVertices
virtual void close()
Deletes the overview and clears the valid image vertices.
virtual ossim_uint32 getCurrentEntry() const
virtual void enableSource()
static const char * NUMBER_BANDS_KW
static const char * GEOM_FILE_KW
virtual ossimIrect getImageRectangle(ossim_uint32 resLevel=0) const
Returns zero-based bounding rectangle of the image.
void setCompressionType(ossim_uint16 compression_type)
Sets the compression type to use when building overviews.
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 ossim_uint32 getNumberOfEntries() const
ossim_uint32 width() const
void initImageParameters(ossimImageGeometry *geom) const
Convenience method to set things needed in the image geometry from the image handler.
virtual void getEntryList(std::vector< ossim_uint32 > &entryList) const
virtual bool hasMetaData() const
virtual bool isBandSelector() const
Indicates whether or not the image handler can control output band selection via the setOutputBandLis...
virtual bool openValidVertices()
Creates vertices file name based on image, then tries to open.
virtual void establishDecimationFactors()
Virtual method determines the decimation factors at each resolution level.
static ossimPreferences * instance()
virtual ossimRefPtr< ossimImageGeometry > getInternalImageGeometry() const
Container class that holds both 2D transform and 3D projection information for an image Only one inst...
static const char * ENTRY_KW
virtual ossimRefPtr< ossimImageGeometry > getExternalImageGeometry() const
Returns the image geometry object associated with this tile source or NULL if non defined...
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
virtual ossim_uint32 getImageTileWidth() const =0
Returns the tile width of the image or 0 if the image is not tiled.
void setDiscreteDecimation(const std::vector< ossimDpt > &decimation_list)
Sets the decimation scheme to a discrete list of decimation factors.
virtual void completeOpen()
Will complete the opening process.
ConnectableObjectList theInputObjectList
Holds a list of input objects.
virtual bool isImageTiled() const
Indicates whether or not the image is tiled internally.
ossimImageMetaData theMetaData
void setStartingResLevel(ossim_uint32 level)
OSSIM_DLL double defaultMax(ossimScalarType scalarType)
void getFilenameWithThisExt(const ossimString &ext, ossimFilename &f) const
Returns the image file with extension set using supplentary directory for dirname if set...
virtual void initialize()
initialize Does nothing in this class.
ossimRefPtr< ossimImageHandler > theOverview
virtual ossimFilename createDefaultGeometryFilename() const
virtual ossimScalarType getOutputScalarType() const
This will be used to query the output pixel type of the tile source.
virtual bool buildAllHistograms(int numberOfRLevels=0, ossimHistogramMode mode=OSSIM_HISTO_MODE_NORMAL)
Build a histograms for all image entries.
This class defines an abstract Handler which all image handlers(loaders) should derive from...
virtual ossimErrorCode getErrorStatus() const
ossim_uint32 getStartingResLevel() const
virtual void loadMetaData()
There is an external file with an omd extension.
virtual void getValidImageVertices(vector< ossimIpt > &validVertices, ossimVertexOrdering ordering=OSSIM_CLOCKWISE_ORDER, ossim_uint32 resLevel=0) const
ordering specifies how the vertices should be arranged.
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save the state of an object to a keyword list.
void setIoType(ossimFilenamePropertyIoType ioType)
static const char * PIXEL_TYPE_KW
virtual ossim_uint32 getNumberOfInputs() const
Returns the number of input objects.
virtual ossim_uint32 getNumberOfReducedResSets() const
This method is obsolete.
ossimFilename fileNoExtension() const
ossimFilename getOverviewFile() const
void setEditableFlag(bool flag)
virtual bool parseStream(ossim::istream &is, bool ignoreBinaryChars)
deprecated method
ossimFilename dirCat(const ossimFilename &file) const
void merge(const ossimString &drivePart, const ossimString &pathPart, const ossimString &filePart, const ossimString &extPart)
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string's contents...
static const char * SCALAR_TYPE_KW
bool theInputListIsFixedFlag
Indicates whether the theInputObjectList is fixed.
virtual void setSupplementaryDirectory(const ossimFilename &dir)
Sets the supplementary directory.
void getFilenameWithNoExtension(ossimFilename &f) const
Get filename with no extension, using supplentary directory for dirname if set.
virtual ossimFilename createDefaultMetadataFilename() const
virtual ossimFilename createDefaultHistogramFilename() const
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
ossimFilename theOverviewFile
bool useEntryIndex() const
Convenience method to determine if entry index should be used for support files, e.g.
ossimFilename file() const
ossimImageHandler()
Constructor (default):
virtual bool hasOverviews() const
virtual void setMaxNumberOfRLevels(ossim_uint32 number)
virtual ossim_uint32 getNumberOfSamples(ossim_uint32 resLevel=0) const =0
Pure virtual, derived classes must implement.
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Saves the transform (if any) and projection (if any) states to the KWL.
static ossimImageHandlerRegistry * instance()
virtual ossimIrect getBoundingRect(ossim_uint32 resLevel=0) const
Returns zero-based bounding rectangle of the image.
virtual ~ossimImageHandler()
Destructor: Derived classes should implement.
virtual double getMaxPixelValue(ossim_uint32 band=0) const
Returns the max pixel of the band.
virtual std::shared_ptr< ossim::istream > createIstream(const std::string &connectionString, const ossimKeywordlist &options=ossimKeywordlist(), std::ios_base::openmode mode=std::ios_base::in|std::ios_base::binary) const
Will try to creates an istream interface to the connectionString passed in.
ossimRefPtr< ossimNBandLutDataObject > theLut
#define RTTI_DEF1(cls, name, b1)
static const char * NUMBER_REDUCED_RES_SETS_KW
virtual void setNullPixelValue(ossim_uint32 band, const ossim_float64 &pix)
convenience method to set null pixel value.
bool buildOverview(const ossimFilename &overview_file, bool copy_all=false)
Builds overview file and sets "theOutputFile" to that of the overview_file.
virtual void saveImageGeometry() const
Saves the image geometry to a file that will be made based on the image file name.
virtual ossim_uint32 getNumberOfInputBands() const =0
virtual void setFilename(const ossimFilename &filename)
static const char * IMAGE_FILE_KW
void setResampleType(ossimFilterResampler::ossimFilterResamplerType resampleType)
Supports BOX or NEAREST NEIGHBOR.
ossimFilename & setExtension(const ossimString &e)
Sets the extension of a file name.
ossimString after(const ossimString &str, std::string::size_type pos=0) const
METHOD: after(str, pos) Returns string immediately after the token str.
virtual bool setCurrentEntry(ossim_uint32 entryIdx)
virtual bool setOutputBandList(const std::vector< ossim_uint32 > &band_list)
If the image handler "isBandSeletor()" then the band selection of the output chip can be controlled...
static const char * FILENAME_KW
ossimFilename getFilenameWithThisExtension(const ossimString &ext, bool set_e0_prefix=false) const
Returns the image file with extension set using supplentary directory for dirname if set...
ossim_uint32 getNumberOfDecimations() const
virtual double getNullPixelValue(ossim_uint32 band=0) const
Each band has a null pixel associated with it.
virtual const ossimFilename & getSupplementaryDirectory() const
Returns the supplementary directory.
ossimFilename path() const
bool initVertices(const char *file)
Opens file and attempts to initialize the valid image vertices.
ossimFilename drive() const
static const char * NUMBER_SAMPLES_KW
std::string::size_type find(const std::string &s, std::string::size_type pos=0) const
Searches for s as a substring of *this, beginning at character pos of *this.
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save the state of an object to a keyword list.
void setCacheRefreshBit()
virtual bool writeValidImageVertices(const std::vector< ossimIpt > &vertices, const ossimFilename &file=ossimFilename(""))
Outputs vertices to file and updates the internal vertex array variable "theValidImageVertices".
bool getOpenOverviewFlag() const
const ossimString & getName() const
ossim_uint32 theStartingResLevel
theStartingResLevel If set to something other than zero(default) this is indicative that the reader i...
const std::string & string() const
virtual ossimRefPtr< ossimImageData > getTile(const ossimIpt &origin, ossim_uint32 resLevel=0)
virtual bool buildHistogram(int numberOfRLevels=0, ossimHistogramMode mode=OSSIM_HISTO_MODE_NORMAL)
Build a histogram for image file.
virtual bool hasLut() const