Isis 3.0 Developer's Reference (API) |
Home |
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