50 static const ossimTrace traceDebug(
"ossimImageHandlerFactory:debug");
68 TIFFSetErrorHandler(0);
69 TIFFSetWarningHandler(0);
76 std::shared_ptr<ossim::istream>& str,
77 const std::string& connectionString,
78 bool openOverview )
const 85 if ( ih->
open( str, connectionString ) )
93 str->seekg(0, std::ios_base::beg);
99 if ( ihTiff->
open( str, connectionString ) )
101 result = ihTiff.
get();
107 str->seekg(0, std::ios_base::beg);
116 str->seekg(0, std::ios_base::beg);
126 bool openOverview)
const 128 static const char* M =
"ossimImageHandlerFactory::open(filename) -- ";
135 <<
"Attempting to open file: " << fileName.
c_str()
136 <<
"\nopen overview flag: " << (
openOverview?
"true":
"false") <<
"\n";
144 if (copyFilename.
empty())
break;
149 if (!copyFilename.
exists())
break;
173 if (result->
open(copyFilename))
break;
178 if (result->
open(copyFilename))
break;
183 if (result->
open(copyFilename))
break;
188 if (result->
open(copyFilename))
break;
193 if (result->
open(copyFilename))
break;
199 if (result->
open(copyFilename))
break;
204 if (result->
open(copyFilename))
break;
209 if (result->
open(copyFilename))
break;
214 if (result->
open(copyFilename))
break;
219 if (result->
open(copyFilename))
break;
224 if (result->
open(copyFilename))
break;
229 if (result->
open(copyFilename))
break;
234 if (result->
open(copyFilename))
break;
239 if (result->
open(copyFilename))
break;
246 if (copyFilename.
ext() !=
"ovr")
252 if (result->
open(copyFilename))
break;
258 if (result->
open(copyFilename))
break;
263 if (result->
open(copyFilename))
break;
269 if (result->
open(copyFilename))
break;
274 if (result->
open(copyFilename))
break;
279 if (result->
open(copyFilename))
break;
284 if (result->
open(copyFilename))
break;
289 if (result->
open(copyFilename))
break;
294 if (result->
open(copyFilename))
break;
299 if (result->
open(copyFilename))
break;
304 if (result->
open(copyFilename))
break;
310 if (result->
open(copyFilename))
break;
329 const char* prefix)
const 331 static const char* M =
"ossimImageHandlerFactory::open(kwl,prefix) -- ";
339 if (result->
loadState(kwl, prefix))
break;
343 if (result->
loadState(kwl, prefix))
break;
347 if (result->
loadState(kwl, prefix))
break;
351 if (result->
loadState(kwl, prefix))
break;
355 if (result->
loadState(kwl, prefix))
break;
359 if (result->
loadState(kwl, prefix))
break;
363 if (result->
loadState(kwl, prefix))
break;
367 if (result->
loadState(kwl, prefix))
break;
371 if (result->
loadState(kwl, prefix))
break;
375 if (result->
loadState(kwl, prefix))
break;
380 if (result->
loadState(kwl, prefix))
break;
384 if (result->
loadState(kwl, prefix))
break;
388 if (result->
loadState(kwl, prefix))
break;
392 if (result->
loadState(kwl, prefix))
break;
396 if (result->
loadState(kwl, prefix))
break;
400 if (result->
loadState(kwl, prefix))
break;
405 if (result->
loadState(kwl, prefix))
break;
410 if (result->
loadState(kwl, prefix))
break;
414 if (result->
loadState(kwl, prefix))
break;
418 if (result->
loadState(kwl, prefix))
break;
422 if (result->
loadState(kwl, prefix))
break;
426 if (result->
loadState(kwl, prefix))
break;
431 if (result->
loadState(kwl, prefix))
break;
434 #ifdef ENABLE_POINT_CLOUD_HANDLER 437 if (result->
loadState(kwl, prefix))
break;
465 if(!result->
open(state))
488 if ( result->
open( file ) == false )
500 static const char* M =
"ossimImageHandlerFactory::openFromExtension() -- ";
515 if(result->
open(fileName))
break;
519 if ( (ext ==
"tif") || (ext ==
"tiff") )
523 if(result->
open(fileName))
break;
525 if(result->
open(fileName))
break;
529 if ( (ext ==
"ntf") || (ext ==
"nitf") )
533 if(result->
open(fileName))
break;
535 if(result->
open(fileName))
break;
539 if ( (fileName ==
"rpf"))
542 if(result->
open(fileName))
break;
544 result =
new ossimImagefCacheTileSource;
545 if(result->
open(fileName))
break;
549 if ( (fileName ==
"a.toc") || (ext ==
"toc"))
552 if(result->
open(fileName))
break;
556 if ( (ext ==
"jpg") || (ext ==
"jpeg") )
559 if(result->
open(fileName))
break;
563 if ( (ext ==
"doq") || (ext ==
"doqq") )
566 if(result->
open(fileName))
break;
570 if ( (ext ==
"dt2") || (ext ==
"dt1") || (ext ==
"dt3") ||
571 (ext ==
"dt4") || (ext ==
"dt5") || (ext ==
"dt0") )
574 if(result->
open(fileName))
break;
581 if(result->
open(fileName))
break;
585 if ( (ext ==
"hri") || (ext ==
"hsi") )
588 if(result->
open(fileName))
break;
595 if(result->
open(fileName))
break;
602 if(result->
open(fileName))
break;
606 if ( (ext ==
"ras") || (ext ==
"raw") )
609 if(result->
open(fileName))
break;
616 if(result->
open(fileName))
break;
623 if(result->
open(fileName))
break;
732 #ifdef ENABLE_POINT_CLOUD_HANDLER 780 static const char* M =
"ossimImageHandlerFactory::getImageHandlersBySuffix() -- ";
784 if (testExt ==
"ovr")
791 if ( (testExt ==
"tif") || (testExt ==
"tiff") )
800 if ( (testExt ==
"ntf") || (testExt ==
"nitf") )
809 if ( (testExt ==
"rpf"))
817 if ( testExt ==
"toc")
824 if ( (testExt ==
"jpg") || (testExt ==
"jpeg") )
831 if ( (testExt ==
"doq") || (testExt ==
"doqq") )
840 if(regExp.
find(testExt))
847 if (testExt ==
"hgt")
854 if ( (testExt ==
"hri") || (testExt ==
"hsi") )
861 if (testExt ==
"dem")
868 if (testExt ==
"fst")
875 if ( (testExt ==
"ras") || (testExt ==
"raw") || (testExt ==
"bil"))
882 if (testExt ==
"img")
889 if (testExt ==
"ccf")
896 if (testExt ==
"til")
903 if (testExt ==
"mask")
910 if (testExt ==
"txt")
917 if (testExt ==
"csv")
941 if(mimeTypeTest ==
"dted")
949 const char* prefix)
const 954 <<
"ossimImageHandlerFactory::createObject(kwl, prefix) DEBUG:" 955 <<
" entering ..." << std::endl;
973 result = this->
open(kwl, prefix);
1021 #ifdef ENABLE_POINT_CLOUD_HANDLER 1029 std::shared_ptr<ossim::istream>& str,
1030 const std::string& connectionString,
1031 bool openOverview )
const 1034 if(!str)
return result;
1036 std::size_t found = connectionString.find( std::string(
".src") );
1037 if ( found != std::string::npos && ( found == (connectionString.size() - 4) ) )
1043 std::string prefix =
"image0.";
1045 if ( src.
loadState(kwl, prefix.c_str() ) )
1055 if ( result.
valid() )
1058 if ( supportDir.
empty() )
1104 getFilenameWithThisExtension(
ossimString(
".ovr"));
1118 str->seekg(0, std::ios_base::beg);
virtual bool open()=0
Pure virtual open.
Class used for parsing the command line *.src files.
ossimImageHandlerFactory()
Open method that looks at extension e.g.
ossim_int32 getEntryIndex() const
void setOpenOverviewFlag(bool flag)
Sets theOpenOverviewFlag.
bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Initializes record from an in-memory KWL and prefix.
Intended mainly to provide a mechanism for mutex-locking access to a shared resource during a getTile...
Represents serializable keyword/value map.
const char * find(const char *key) const
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of an object from a keyword list.
RTTI_DEF1(ossimImageHandlerFactory, "ossimImageHandlerFactory", ossimImageHandlerFactoryBase)
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Class used for rendering point cloud data into a raster tile.
virtual const ossimImageHandler * getOverview() const
virtual ossimRefPtr< ossimImageHandler > openOverview(const ossimFilename &file) const
Open overview that takes a file name.
const ossimFilename & getSupportDir() const
static const char * TYPE_KW
std::string::iterator end()
virtual bool openOverview()
Searches for an overview.
#define STATIC_TYPE_NAME(T)
const ossimFilename & getOverviewPath() const
See note below on these data members.
const ossimFilename & getFilename() const
void push_back(char c)
Equivalent to insert(end(), c).
This class defines an abstract Handler which all image handlers(loaders) should derive from...
virtual void getImageHandlersByMimeType(ossimImageHandlerFactoryBase::ImageHandlerList &result, const ossimString &mimeType) const
ossimRefPtr< ossimImageHandler > openSrcRecord(std::shared_ptr< ossim::istream > &str, const std::string &connectionString, bool openOverview) const
Open dot.src (ossimSrcRecord).
virtual void getTypeNameList(std::vector< ossimString > &typeList) const
virtual ossimImageHandler * open(const ossimFilename &fileName, bool openOverview=true) const
std::string::size_type size() const
std::string::iterator begin()
ossimString trim(const ossimString &valueToTrim=ossimString(" \\)) const
this will strip lead and trailing character passed in.
This is the image handler for providing mask pixels to an ossimMaskFilter object. ...
virtual void getImageHandlersBySuffix(ossimImageHandlerFactoryBase::ImageHandlerList &result, const ossimString &ext) const
static ossimString downcase(const ossimString &aString)
void push_back(const T &value)
virtual ossimObject * createObject(const ossimString &typeName) const
const ossimFilename & getHistogramPath() const
CIB/CADRG formats are encoded the same except that the CIB is a grey scale image and the CADRG is a c...
static ossimImageHandlerFactory * instance()
This class defines an abstract Handler which all image handlers(loaders) should derive from...
virtual bool open()
Returns true if the image_file can be opened and is a valid nitf file.
virtual bool open(const ossimFilename &image_file)
Returns true if the image_file can be opened and is a valid tiff file.
virtual bool parseStream(ossim::istream &is, bool ignoreBinaryChars)
deprecated method
Image handler used for tiled Quickbird imagery.
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string's contents...
virtual void setSupplementaryDirectory(const ossimFilename &dir)
Sets the supplementary directory.
static ossimImageHandlerFactory * theInstance
static ossimImageHandlerRegistry * instance()
virtual void getSupportedExtensions(ossimImageHandlerFactoryBase::UniqueStringList &extensionList) const
std::vector< ossimRefPtr< ossimImageHandler > > ImageHandlerList
Class used for rendering range domes (a.k.a.
ossimFilename & setExtension(const ossimString &e)
Sets the extension of a file name.
virtual bool setCurrentEntry(ossim_uint32 entryIdx)
static const char * FILENAME_KW
ossimFilename path() const
virtual ~ossimImageHandlerFactory()
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
Concrete class for reading VIIRS data from HDF5 file.
const std::string & string() const