USGS

Isis 3.0 Developer's Reference (API)

Home

TiffImporter.h

Go to the documentation of this file.
00001 #ifndef TiffImporter_h
00002 #define TiffImporter_h
00003 
00027 #include "ImageImporter.h"
00028 
00029 #include "geotiff.h"
00030 #include "xtiffio.h"
00031 #include "tiffio.h"
00032 
00033 #include "PvlGroup.h"
00034 
00035 namespace Isis {
00036 
00037   class Pvl;
00038 
00061   class TiffImporter : public ImageImporter {
00062     public:
00063       TiffImporter(FileName inputName);
00064       virtual ~TiffImporter();
00065 
00066       virtual PvlGroup convertProjection() const;
00067 
00068       virtual bool isGrayscale() const;
00069       virtual bool isRgb() const;
00070       virtual bool isArgb() const;
00071 
00072     protected:
00073       int samplesPerPixel() const;
00074 
00075       virtual void updateRawBuffer(int line, int band) const;
00076       virtual int getPixel(int s, int l) const;
00077 
00078       virtual int getGray(int pixel) const;
00079       virtual int getRed(int pixel) const;
00080       virtual int getGreen(int pixel) const;
00081       virtual int getBlue(int pixel) const;
00082       virtual int getAlpha(int pixel) const;
00083 
00084     private:
00086       TIFF *m_image;
00087 
00089       uint32 *m_raster;
00090 
00092       uint16 m_photo;
00093 
00095       uint16 m_samplesPerPixel;
00096 
00098       GTIF *m_geotiff;
00099 
00101       PvlGroup m_map;
00102 
00103       Pvl gdalItems(const Pvl &outPvl) const;
00104       Pvl upperLeftXY(const Pvl &inLab) const;
00105       Pvl resolution(const Pvl &inLab) const;
00106 
00107   };
00108 };
00109 
00110 
00111 #endif