/usr/include/ossim/imaging/ossimBandSeparateHandler.h is in libossim-dev 2.2.2-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | //**************************************************************************************************
//
// License: MIT
//
// See LICENSE.txt file in the top level directory for more details.
//
// Author: Oscar Kramer
//
// Description:
//
// Image handler used when the multi-band image has each band represented by a different disk file.
// This is the case for some Ikonos imagery.
//
//**************************************************************************************************
// $Id: ossimBandSeparateHandler.h 2644 2011-05-26 15:20:11Z oscar.kramer $
#ifndef ossimBandSeparateHandler_HEADER
#define ossimBandSeparateHandler_HEADER
#include <ossim/imaging/ossimImageHandler.h>
#include <ossim/base/ossimRefPtr.h>
#include <ossim/imaging/ossimBandMergeSource.h>
/**
* This class defines an abstract Handler which all image handlers(loaders)
* should derive from.
*/
class OSSIMDLLEXPORT ossimBandSeparateHandler : public ossimImageHandler
{
public:
//! Constructor (default):
ossimBandSeparateHandler();
//! Destructor:
virtual ~ossimBandSeparateHandler();
//! Opens multiple band-files based on info in metadata file.
//! @return Returns true on success, false on error.
virtual bool open();
//! Closes all band-files and clears input handler list.
virtual void close();
//! @return true if open, false if not.
virtual bool isOpen()const;
virtual ossim_uint32 getNumberOfInputBands() const;
//! @param resLevel Reduced resolution level to return lines of.
//! Default = 0
//! @return The number of lines for specified reduced resolution level.
virtual ossim_uint32 getNumberOfLines(ossim_uint32 resLevel = 0) const;
//! @param resLevel Reduced resolution level to return samples of.
//! Default = 0
//! @return The number of samples for specified reduced resolution level.
virtual ossim_uint32 getNumberOfSamples(ossim_uint32 resLevel = 0) const;
//! Method to save the state of an object to a keyword list.
//! Return true if ok or false on error.
virtual bool saveState(ossimKeywordlist& kwl, const char* prefix=0)const;
//! Method to the load (recreate) the state of an object from a keyword
//! list. Return true if ok or false on error.
virtual bool loadState(const ossimKeywordlist& kwl, const char* prefix=0);
//! Fills the requested tile by pulling pixels from multiple file tiles as needed.
virtual ossimRefPtr<ossimImageData> getTile(const ossimIrect& rect, ossim_uint32 resLevel);
//! Returns scalar type of first band (should be the same for all bands)
virtual ossimScalarType getOutputScalarType() const;
//! Overrides base connection method to connect output of merge source.
virtual bool canConnectMyOutputTo(ossim_int32 index, const ossimConnectableObject* obj);
//! Returns the geometry of the first band:
virtual ossimRefPtr<ossimImageGeometry> getImageGeometry();
//! These images are not tiled
virtual ossim_uint32 getImageTileWidth() const { return 0; }
virtual ossim_uint32 getImageTileHeight() const { return 0; }
protected:
//! Fetches the list of band file names from the header file. The header file name is contained
//! in ossimImageHandler::theImageFile.
//! NOTE TO PROGRAMMER: This class is presently tailored to the Ikonos metadata file specifying
//! the individual band files. If other "metadata" formats are to be supported, then this class
//! should be derived from. This method would therefore be pure virtual in this base-class and
//! only this method would need to be implemented in the derived classes.
virtual void getBandFileNames(vector<ossimFilename>& file_names);
vector<ossimRefPtr<ossimImageHandler> > m_bandFiles;
ossimRefPtr<ossimBandMergeSource> m_mergeSource;
TYPE_DATA
};
#endif /* #ifndef ossimBandSeparateHandler_HEADER */
|