OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimTiffWriter.h
Go to the documentation of this file.
1 //*******************************************************************
2 //
3 // License: See top level LICENSE.txt file.
4 //
5 // Author: Frank Warmerdam (warmerda@home.com)
6 //
7 // Description:
8 //
9 // Contains class declaration for TiffWriter.
10 //
11 //*******************************************************************
12 // $Id: ossimTiffWriter.h 20026 2011-09-01 16:33:18Z dburken $
13 #ifndef ossimTiffWriter_HEADER
14 #define ossimTiffWriter_HEADER
15 
18 #include <ossim/base/ossimRefPtr.h>
22 
24 
26 {
27 public:
28 
30 
31  virtual ~ossimTiffWriter();
32 
33  enum UnitType
34  {
35  UNDEFINED = 0,
36  LINEAR_METER = 9001,
37  LINEAR_FOOT = 9002,
38  LINEAR_FOOT_US_SURVEY = 9003,
39  ANGULAR_DEGREES = 9102
40  };
41 
42  enum
43  {
44  USER_DEFINED = 32767
45  };
46 
60  virtual void getImageTypeList(std::vector<ossimString>& imageTypeList)const;
61 
62  virtual bool isOpen()const;
63  virtual bool open();
64  virtual void close();
65 
74  virtual void setJpegQuality(ossim_int32 quality);
75 
79  virtual ossim_int32 getJpegQuality()const;
80 
84  virtual void setCompressionType(const ossimString& type);
85 
86  virtual ossimString getCompressionType()const;
87 
88  virtual bool getGeotiffFlag()const;
89 
90  virtual void setGeotiffFlag(bool flag);
91 
92  virtual void setTileSize(const ossimIpt& tileSize);
93 
94  virtual ossimIpt getOutputTileSize()const;
95 
96  virtual ossim_int32 setProjectionInfo(const ossimMapProjectionInfo& proj);
97 
98  void setLut(const ossimNBandLutDataObject& lut);
99 
103  virtual bool saveState(ossimKeywordlist& kwl,
104  const char* prefix=0)const;
105 
106 
111  virtual bool loadState(const ossimKeywordlist& kwl,
112  const char* prefix=0);
113 
120  virtual void setProperty(ossimRefPtr<ossimProperty> property);
121 
128  virtual ossimRefPtr<ossimProperty> getProperty(const ossimString& name)const;
129 
135  virtual void getPropertyNames(std::vector<ossimString>& propertyNames)const;
136 
145  virtual ossimString getExtension() const;
146 
147  bool hasImageType(const ossimString& imageType) const;
148 
150  static void dumpTileToFile(ossimRefPtr<ossimImageData> t, const ossimFilename& f);
151 
152 protected:
153  virtual bool writeFile();
154 
158  bool openTiff();
159 
163  bool closeTiff();
164 
169  bool writeToTiles();
170 
175  bool writeToTilesBandSep();
176 
181  bool writeToStrips();
182 
187  bool writeToStripsBandSep();
188 
193  bool writeTiffTags();
194 
199  bool writeGeotiffTags(ossimRefPtr<ossimMapProjectionInfo> projectionInfo);
200 
204  bool isTiled() const;
205 
206  void writeMinMaxTags(const vector<ossim_float64>& minBand,
207  const vector<ossim_float64>& maxBand);
208 
209  bool isLutEnabled()const;
210 
211  UnitType getUnitType(ossim_int32 pcsCode,
212  const ossimString& projName) const;
213  UnitType getPcsUnitType(ossim_int32 pcsCode) const;
214 
215  void checkColorLut();
216 
217  void* theTif;
230 TYPE_DATA
231 };
232 
233 #endif /* End of "#ifndef ossimTiffWriter_HEADER" */
virtual void close()=0
#define OSSIMDLLEXPORT
ossimRefPtr< ossimNBandLutDataObject > theColorLut
Represents serializable keyword/value map.
virtual ossimString getExtension() const
Returns a 3-letter extension from the image type descriptor (theOutputImageType) that can be used for...
ossimRefPtr< ossimNBandToIndexFilter > theNBandToIndexFilter
ossimIpt theOutputTileSize
ossimString theCompressionType
virtual bool writeFile()=0
Write out the file.
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
virtual void setTileSize(const ossimIpt &tileSize)
Sets the output image tiling size if supported by the writer.
ossimString thePhotoMetric
ossimFilename theLutFilename
Pure virtual base class for image file writers.
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
ossim_int32 theJpegQuality
virtual void getImageTypeList(std::vector< ossimString > &imageTypeList) const =0
void getImageTypeList(std::vector<ossimString>& imageTypeList)const
#define TYPE_DATA
Definition: ossimRtti.h:339
ossimRefPtr< ossimMapProjectionInfo > theProjectionInfo
#define USER_DEFINED
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
virtual bool hasImageType(const ossimString &imageType) const
bool hasImageType(const ossimString& imageType) const
virtual bool isOpen() const =0
virtual void setProperty(ossimRefPtr< ossimProperty > property)
virtual bool open()=0
class ossimNBandLutDataObject
int ossim_int32