OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimNitfImageHeaderV2_1.h
Go to the documentation of this file.
1 //*******************************************************************
2 // Copyright (C) 2000 ImageLinks Inc.
3 //
4 // LICENSE: MIT
5 //
6 // Author: Garrett Potts
7 //
8 // Description: Nitf support class
9 //
10 //********************************************************************
11 // $Id$
12 
13 #ifndef ossimNitfImageHeaderV2_1_HEADER
14 #define ossimNitfImageHeaderV2_1_HEADER 1
15 
18 
21 {
22 public:
24  virtual ~ossimNitfImageHeaderV2_1();
25 
26  virtual void parseStream(std::istream &in, const ossimNitfFileHeaderV2_1 *file);
27  virtual void parseStream(std::istream &in);
28  virtual void writeStream(std::ostream &out);
29  virtual bool isValid()const;
30 
35  virtual std::ostream& print(std::ostream& out,
36  const std::string& prefix) const;
37 
38  virtual ossimIrect getImageRect()const;
39  virtual ossimIrect getBlockImageRect()const;
40  virtual bool isCompressed()const;
41  virtual bool isEncrypted()const;
42 
43  virtual ossim_int32 getNumberOfBands()const;
44  virtual ossim_int32 getNumberOfRows()const;
45  virtual ossim_int32 getNumberOfCols()const;
46  virtual ossim_int32 getNumberOfBlocksPerRow()const;
47  virtual ossim_int32 getNumberOfBlocksPerCol()const;
50  virtual ossimString getImageId()const;
51  virtual ossim_int32 getBitsPerPixelPerBand()const;
53  virtual ossimString getIMode()const;
54 
56  virtual ossimString getImageDateAndTime() const;
57 
58  virtual ossimString getAcquisitionDateMonthDayYear(ossim_uint8 separationChar='-')const;
60  virtual ossimString getCategory()const;
61  virtual ossimString getRepresentation()const;
62  virtual ossimString getCoordinateSystem()const;
63  virtual ossimString getGeographicLocation()const;
64  virtual ossimString getPixelValueType()const;
65 
66  virtual bool takeOverflowTags(std::vector<ossimNitfTagInformation> &overflowTags,
67  ossim_uint32 potentialDesIndex, bool userDefinedTags = false);
68 
69  virtual bool hasBlockMaskRecords()const;
70  virtual bool hasPadPixelMaskRecords()const;
71  virtual bool hasTransparentCode()const;
72  virtual ossim_uint32 getTransparentCode()const;
74  ossim_uint32 bandNumber)const;
76  ossim_uint32 bandNumber)const;
77 
78  virtual void setNumberOfBands(ossim_uint32 nbands);
79  virtual void setBandInfo(ossim_uint32 idx,
80  const ossimNitfImageBandV2_1& info);
81 
82  virtual void setNumberOfRows(ossim_uint32 rows);
83  virtual void setNumberOfCols(ossim_uint32 cols);
84 
85  virtual void setGeographicLocationDms(const ossimDpt& ul,
86  const ossimDpt& ur,
87  const ossimDpt& lr,
88  const ossimDpt& ll);
89 
90  virtual void setGeographicLocationDecimalDegrees(const ossimDpt& ul,
91  const ossimDpt& ur,
92  const ossimDpt& lr,
93  const ossimDpt& ll);
94  virtual void setUtmNorth(ossim_uint32 zone,
95  const ossimDpt& ul,
96  const ossimDpt& ur,
97  const ossimDpt& lr,
98  const ossimDpt& ll);
99  virtual void setUtmSouth(ossim_uint32 zone,
100  const ossimDpt& ul,
101  const ossimDpt& ur,
102  const ossimDpt& lr,
103  const ossimDpt& ll);
104 
105  virtual void setSecurityClassificationSystem(const ossimString& value);
106  virtual void setCodewords(const ossimString& value);
107  virtual void setControlAndHandling(const ossimString& value);
108  virtual void setReleasingInstructions(const ossimString& value);
109  virtual void setDeclassificationType(const ossimString& value);
110  virtual void setDeclassificationDate(const ossimString& value);
111  virtual void setDeclassificationExempt(const ossimString& value);
112  virtual void setDowngrade(const ossimString& value);
113  virtual void setDowngradeDate(const ossimString& value);
114  virtual void setClassificationText(const ossimString& value);
115  virtual void setClassificationAuthorityType(const ossimString& value);
116  virtual void setClassificationAuthority(const ossimString& value);
117  virtual void setClassificationReason(const ossimString& value);
118  virtual void setSecuritySourceDate(const ossimString& value);
119  virtual void setSecurityControlNumber(const ossimString& value);
120  virtual void setImageMagnification(const ossimString& value);
121 
122  virtual ossimString getImageSource()const;
123 
126 
127  virtual void setProperty(ossimRefPtr<ossimProperty> property);
128  virtual ossimRefPtr<ossimProperty> getProperty(const ossimString& name)const;
129  virtual void getPropertyNames(std::vector<ossimString>& propertyNames)const;
130 
131  virtual bool saveState(ossimKeywordlist& kwl, const ossimString& prefix="")const;
132 
143  virtual bool loadState(const ossimKeywordlist& kwl,
144  const char* prefix=0);
145 
146  static const ossimString ISCLSY_KW;
147  static const ossimString ISCODE_KW;
148  static const ossimString ISCTLH_KW;
149  static const ossimString ISREL_KW;
150  static const ossimString ISDCTP_KW;
151  static const ossimString ISDCDT_KW;
152  static const ossimString ISDCXM_KW;
153  static const ossimString ISDG_KW;
154  static const ossimString ISDGDT_KW;
155  static const ossimString ISCLTX_KW;
156  static const ossimString ISCATP_KW;
157  static const ossimString ISCAUT_KW;
158  static const ossimString ISCRSN_KW;
159  static const ossimString ISSRDT_KW;
160  static const ossimString ISCTLN_KW;
161  static const ossimString XBANDS_KW;
162 
163 private:
164  void clearFields();
165 
166  ossimString encodeUtm(ossim_uint32 zone,
167  const ossimDpt& ul,
168  const ossimDpt& ur,
169  const ossimDpt& lr,
170  const ossimDpt& ll)const;
171 
187  char theSecurityClassificationSys[3];
188 
206  char theCodewords[12];
207 
223  char theControlAndHandling[3];
224 
239  char theReleasingInstructions[21];
240 
241 
256  char theDeclassificationType[3];
257 
258 
270  char theDeclassificationDate[9];
271 
290  char theDeclassificationExempt[5];
291 
310  char theDowngrade[2];
311 
324  char theDowngradeDate[9];
325 
340  char theClassificationText[44];
341 
352  char theClassificationAuthType[2];
353 
373  char theClassificationAuthority[41];
374 
389  char theClassificationReason[2];
390 
404  char theSecuritySourceDate[9];
405 
411  char theSecurityControlNumber[16];
412 
413 
420  char theNumberOfMultispectralBands[6];
421 
422  std::vector<ossimRefPtr<ossimNitfImageBandV2_1> > theImageBands;
423 
424 TYPE_DATA
425 };
426 
427 #endif
virtual ossim_int32 getNumberOfBands() const =0
virtual ossim_int32 getNumberOfBlocksPerRow() const =0
#define OSSIMDLLEXPORT
virtual ossim_int32 getNumberOfRows() const =0
virtual void setProperty(ossimRefPtr< ossimProperty > property)
static const ossimString ISDGDT_KW
virtual ossimString getPixelValueType() const =0
virtual bool saveState(ossimKeywordlist &kwl, const ossimString &prefix="") const
Represents serializable keyword/value map.
virtual ossimString getIMode() const =0
static const ossimString ISCODE_KW
virtual bool isValid() const
isValid will test if the fields are valid and will return true or false.
virtual const ossimRefPtr< ossimNitfImageBand > getBandInformation(ossim_uint32 idx) const =0
virtual void writeStream(ossim::ostream &out)=0
static const ossimString ISCLSY_KW
virtual void setUtmNorth(ossim_uint32 zone, const ossimDpt &ul, const ossimDpt &ur, const ossimDpt &lr, const ossimDpt &ll)
static const ossimString ISDCTP_KW
virtual void parseStream(ossim::istream &in)=0
virtual ossimString getImageDateAndTime() const =0
std::vector< ossimRefPtr< ossimNitfImageBandV2_1 > > theImageBands
static const ossimString ISSRDT_KW
virtual std::ostream & print(std::ostream &out, const std::string &prefix) const =0
pure virtual print method that outputs a key/value type format adding prefix to keys.
static const ossimString XBANDS_KW
virtual ossim_int32 getActualBitsPerPixelPerBand() const =0
virtual bool hasPadPixelMaskRecords() const =0
virtual bool isEncrypted() const =0
ossimString getSecurityClassification() const
static const ossimString ISDCDT_KW
static const ossimString ISREL_KW
#define TYPE_DATA
Definition: ossimRtti.h:339
unsigned int ossim_uint32
virtual ossim_int32 getNumberOfCols() const =0
virtual const ossimRefPtr< ossimNitfCompressionHeader > getCompressionHeader() const =0
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
static const ossimString ISCTLH_KW
virtual void setGeographicLocationDecimalDegrees(const ossimDpt &ul, const ossimDpt &ur, const ossimDpt &lr, const ossimDpt &ll)
virtual ossim_uint32 getBlockMaskRecordOffset(ossim_uint32 blockNumber, ossim_uint32 bandNumber) const =0
static const ossimString ISCAUT_KW
static const ossimString ISCRSN_KW
ossimString getGeographicLocation() const
virtual ossim_int32 getNumberOfPixelsPerBlockVert() const =0
std::basic_istream< char > istream
Base class for char input streams.
Definition: ossimIosFwd.h:20
virtual void setUtmSouth(ossim_uint32 zone, const ossimDpt &ul, const ossimDpt &ur, const ossimDpt &lr, const ossimDpt &ll)
static const ossimString ISDCXM_KW
virtual bool hasTransparentCode() const =0
static const ossimString ISCTLN_KW
virtual ossimString getAcquisitionDateMonthDayYear(ossim_uint8 separationChar='-') const =0
virtual ossim_int32 getBitsPerPixelPerBand() const =0
virtual ossim_uint32 getTransparentCode() const =0
virtual bool hasBlockMaskRecords() const =0
static const ossimString ISCATP_KW
static const ossimString ISCLTX_KW
static const ossimString ISDG_KW
virtual ossimIrect getImageRect() const
Returns the zero based image rectangle.
virtual ossim_int32 getNumberOfBlocksPerCol() const =0
virtual void setGeographicLocationDms(const ossimDpt &ul, const ossimDpt &ur, const ossimDpt &lr, const ossimDpt &ll)
virtual ossim_int32 getNumberOfPixelsPerBlockHoriz() const =0
virtual bool isCompressed() const =0
virtual ossimIrect getBlockImageRect() const
Returns the zero based image rectangle expanded out to block boundaries.
virtual ossim_uint32 getPadPixelMaskRecordOffset(ossim_uint32 blockNumber, ossim_uint32 bandNumber) const =0
unsigned char ossim_uint8
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to set fields from a keyword list.
int ossim_int32