16 #ifndef ossimNitfTileSource_HEADER 17 #define ossimNitfTileSource_HEADER 1 27 struct jpeg_decompress_struct;
35 READ_MODE_UNKNOWN = 0,
80 bool open( std::shared_ptr<ossim::istream>& str,
81 const std::string& connectionString );
128 const char* prefix=0)
const;
135 const char* prefix=0);
168 virtual bool isOpen()
const;
181 virtual void getEntryList(std::vector<ossim_uint32>& entryList)
const;
199 virtual void getPropertyNames(std::vector<ossimString>& propertyNames)
const;
206 bool getCacheEnabledFlag()
const;
213 void setCacheEnabledFlag(
bool flag);
236 virtual bool getRgbBandList(std::vector<ossim_uint32>& bandList)
const;
246 void setBoundingRectangle(
const ossimIrect& imageRect);
273 virtual bool parseFile();
287 virtual bool allocate();
296 virtual bool allocateBuffers();
307 virtual void initializeScalarType();
312 virtual void initializeSwapBytesFlag();
317 virtual void initializeReadMode();
322 void initializeBandCount();
335 bool initializeBlockSize();
343 virtual bool initializeImageRect();
348 void initializeCacheSize();
353 virtual void initializeCacheTileInterLeaveType();
360 void initializeCacheTile();
365 virtual void initializeCompressedBuf();
370 virtual void initializeOutputTile();
375 void initializeLut();
416 bool getPosition(std::streamoff& position,
431 std::streampos getBandOffset()
const;
436 std::streampos getBlockOffset()
const;
444 bool isVqCompressed(
const ossimString& compressionCode)
const;
473 virtual bool scanForJpegBlockOffsets();
496 bool loadJpegQuantizationTables(jpeg_decompress_struct& cinfo)
const;
503 bool loadJpegHuffmanTables(jpeg_decompress_struct& cinfo)
const;
virtual bool open()=0
Pure virtual open.
std::vector< ossim_uint32 > theEntryList
ossim_uint32 theNumberOfInputBands
Represents serializable keyword/value map.
virtual ossim_uint32 getNumberOfOutputBands() const
Returns the number of bands in a tile returned from this TileSource.
std::shared_ptr< ossim::istream > theFileStr
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.
ossimRefPtr< ossimNitfFile > theNitfFile
std::vector< ossim_uint32 > theNitfBlockSize
const ossimImageSource & operator=(const ossimImageSource &)
virtual ossim_uint32 getTileHeight() const
Returns the default processing tile height.
ossim_uint32 theReadBlockSizeInBytes
virtual void setProperty(ossimRefPtr< ossimProperty > property)
ossimInterleaveType theCacheTileInterLeaveType
std::vector< ossim_uint8 > theCompressedBuf
virtual ossimString getShortName() const
virtual ossim_uint32 getTileWidth() const
Returns the default processing tile width.
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.
ossim_uint32 theBlockSizeInBytes
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
ossim_uint32 theNumberOfImages
virtual ossim_uint32 getImageTileHeight() const =0
Returns the tile width of the image or 0 if the image is not tiled.
unsigned int ossim_uint32
virtual bool getRgbBandList(std::vector< ossim_uint32 > &bandList) const
Convenience method to get the zero based rgb output band list.
ossimRefPtr< ossimImageData > theCacheTile
virtual ossimString getLongName() const
virtual void close()
Deletes the overview and clears the valid image vertices.
virtual ossim_uint32 getCurrentEntry() const
ossimAppFixedTileCache::ossimAppFixedCacheId theCacheId
virtual ossim_uint32 getNumberOfEntries() const
virtual void getEntryList(std::vector< ossim_uint32 > &entryList) const
virtual void establishDecimationFactors()
Virtual method determines the decimation factors at each resolution level.
ossim_int32 ossimAppFixedCacheId
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
ossimScalarType theScalarType
virtual ossim_uint32 getImageTileWidth() const =0
Returns the tile width of the image or 0 if the image is not tiled.
ossimRefPtr< ossimImageData > theTile
ossim_uint32 theCurrentEntry
virtual ossimScalarType getOutputScalarType() const
This will be used to query the output pixel type of the tile source.
This class defines an abstract Handler which all image handlers(loaders) should derive from...
std::vector< ossim_uint32 > theSelectorBandList
virtual ossim_uint32 getNumberOfSamples(ossim_uint32 resLevel=0) const =0
Pure virtual, derived classes must implement.
ossimIrect theBlockImageRect
virtual double getMaxPixelValue(ossim_uint32 band=0) const
Returns the max pixel of the band.
virtual ossim_uint32 getNumberOfInputBands() const =0
virtual bool setCurrentEntry(ossim_uint32 entryIdx)
virtual double getNullPixelValue(ossim_uint32 band=0) const
Each band has a null pixel associated with it.
unsigned char ossim_uint8
std::vector< ossim_uint32 > theOutputBandList
std::vector< ossimRefPtr< ossimNitfImageHeader > > theNitfImageHeader
std::vector< std::streamoff > theNitfBlockOffset
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save the state of an object to a keyword list.
virtual ossimRefPtr< ossimImageData > getTile(const ossimIpt &origin, ossim_uint32 resLevel=0)
ossim_uint32 theNumberOfOutputBands