OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimNitfImageHeaderV2_X.h
Go to the documentation of this file.
1 #ifndef ossimNitfImageHeaderV2_X_HEADER
2 #define ossimNitfImageHeaderV2_X_HEADER 1
5 #include <string>
6 
8 {
9 public:
11 
13  virtual ossimIrect getImageRect()const;
14 
19  virtual ossimIrect getBlockImageRect()const;
20 
21  void setImageId(const ossimString& value);
22  void setAquisitionDateTime(const ossimString& value);
23  void setTargetId(const ossimString& value);
24  void setTitle(const ossimString& value);
25  void setSecurityClassification(const ossimString& value);
26  void setEncryption(const ossimString& value);
27  void setImageSource(const ossimString& value);
28  void setJustification(const ossimString& value);
29  void setCoordinateSystem(const ossimString& value);
30  void setGeographicLocation(const ossimString& value);
31  void setNumberOfComments(const ossimString& value);
32  void setCompression(const ossimString& value);
33  void setCompressionRateCode(const ossimString& value);
34  void setDisplayLevel(const ossimString& value);
35  void setAttachmentLevel(const ossimString& value);
36  void setPixelType(const ossimString& pixelType = ossimString("INT"));
37  void setBitsPerPixel(ossim_uint32 bitsPerPixel);
38  void setActualBitsPerPixel(ossim_uint32 bitsPerPixel);
39  void setImageMode(char mode);
40  void setCategory(const ossimString& category);
41  void setRepresentation(const ossimString& rep);
42  void setBlocksPerRow(ossim_uint32 blocks);
43  void setBlocksPerCol(ossim_uint32 blocks);
44  void setNumberOfPixelsPerBlockRow(ossim_uint32 pixels);
45  void setNumberOfPixelsPerBlockCol(ossim_uint32 pixels);
46 
48  ossimString getImageId()const;
49  ossimString getAquisitionDateTime()const;
50  ossimString getTargetId()const;
51  ossimString getTitle()const;
53  ossimString getEncryption()const;
55  ossimString getJustification()const;
58 
59 
60  ossimString getNumberOfComments()const;
65  ossimString getPixelType()const;
68  char getImageMode()const;
69  ossimString getCategory()const;
71  ossim_uint32 getBlocksPerRow()const;
72  ossim_uint32 getBlocksPerCol()const;
73  ossim_uint32 getNumberOfPixelsPerBlockRow()const;
74  ossim_uint32 getNumberOfPixelsPerBlockCol()const;
75  virtual bool isValid()const;
76 
77  virtual void setProperty(ossimRefPtr<ossimProperty> property);
78  virtual ossimRefPtr<ossimProperty> getProperty(const ossimString& name)const;
79  virtual void getPropertyNames(std::vector<ossimString>& propertyNames)const;
80 
85  virtual ossimString getImageMagnification()const;
86 
92  virtual void getImageLocation(ossimIpt& loc)const;
93 
94  virtual void setGeographicLocationDms(const ossimDpt& ul,
95  const ossimDpt& ur,
96  const ossimDpt& lr,
97  const ossimDpt& ll);
98 
99  virtual void setGeographicLocationDecimalDegrees(const ossimDpt& ul,
100  const ossimDpt& ur,
101  const ossimDpt& lr,
102  const ossimDpt& ll);
103  virtual void setUtmNorth(ossim_uint32 zone,
104  const ossimDpt& ul,
105  const ossimDpt& ur,
106  const ossimDpt& lr,
107  const ossimDpt& ll);
108 
109  virtual void setUtmSouth(ossim_uint32 zone,
110  const ossimDpt& ul,
111  const ossimDpt& ur,
112  const ossimDpt& lr,
113  const ossimDpt& ll);
114 
115  virtual bool saveState(ossimKeywordlist& kwl, const ossimString& prefix="")const;
116 
127  virtual bool loadState(const ossimKeywordlist& kwl,
128  const char* prefix=0);
129 
130  static const ossimString IM_KW;
131  static const ossimString IID1_KW;
132  static const ossimString IDATIM_KW;
133  static const ossimString TGTID_KW;
134  static const ossimString IID2_KW;
135  static const ossimString ITITLE_KW; // also IID2 in 2.1 spec and ITITLE in 2.0 spec
136  static const ossimString ISCLAS_KW;
137  static const ossimString ENCRYP_KW;
138  static const ossimString ISORCE_KW;
139  static const ossimString NROWS_KW;
140  static const ossimString NCOLS_KW;
141  static const ossimString PVTYPE_KW;
142  static const ossimString IREP_KW;
143  static const ossimString ICAT_KW;
144  static const ossimString ABPP_KW;
145  static const ossimString PJUST_KW;
146  static const ossimString ICORDS_KW;
147  static const ossimString IGEOLO_KW;
148  static const ossimString NICOM_KW;
149  static const ossimString ICOM_KW;
150  static const ossimString IC_KW;
151  static const ossimString COMRAT_KW;
152  static const ossimString NBANDS_KW;
153  static const ossimString ISYNC_KW;
154  static const ossimString IMODE_KW;
155  static const ossimString NBPR_KW;
156  static const ossimString NBPC_KW;
157  static const ossimString NPPBH_KW;
158  static const ossimString NPPBV_KW;
159  static const ossimString NBPP_KW;
160  static const ossimString IDLVL_KW;
161  static const ossimString IALVL_KW;
162  static const ossimString ILOC_KW;
163  static const ossimString IMAG_KW;
164  static const ossimString UDIDL_KW;
165  static const ossimString UDOFL_KW;
166  static const ossimString IXSHDL_KW;
167  static const ossimString IXSOFL_KW;
168  static const ossimString IMDATOFF_KW;
169  static const ossimString BMRLNTH_KW;
170 
171 protected:
176  char theType[3];
177 
182  char theImageId[11];
183 
199  char theDateTime[15];
200 
214  char theTargetId[18];
215 
221  char theTitle[81];
222 
234  char theSecurityClassification[2];
235 
243  char theEncryption[2];
244 
250  char theImageSource[43];
251 
257  char theSignificantRows[9];
258 
264  char theSignificantCols[9];
265 
280  char thePixelValueType[4];
281 
299  char theRepresentation[9];
300 
307  char theActualBitsPerPixelPerBand[3];
308 
345  char theCategory[9];
346 
357  char theJustification[2];
358 
375  char theCoordinateSystem[2];
376 
381  char theNumberOfComments[2];
382 
387  std::vector<ossimString> theImageComments;
388 
419  char theGeographicLocation[61];
420 
446  char theCompression[3];
447 
485  char theCompressionRateCode[5];
486 
501  char theNumberOfBands[2];
502 
508  char theImageSyncCode[2];
509 
599  char theImageMode[2];
600 
607  char theNumberOfBlocksPerRow[5];
608 
615  char theNumberOfBlocksPerCol[5];
616 
622  char theNumberOfPixelsPerBlockHoriz[5];
623 
629  char theNumberOfPixelsPerBlockVert[5];
630 
646  char theNumberOfBitsPerPixelPerBand[3];
647 
669  char theDisplayLevel[4];
670 
689  char theAttachmentLevel[4];
690 
713  char theImageLocation[11];
714 
741  char theImageMagnification[5];
742 
760  char theUserDefinedImageDataLength[6];
761 
777  char theUserDefinedOverflow[4];
778 
800  char theExtendedSubheaderDataLen[6];
801 
826  char theExtendedSubheaderOverflow[4];
827 
828  /**************************************************************************
829  * THIS IS THE MASK TABLE IF PRESENT
830  */
831 
848 
878 
903 
920 
938 
939  std::vector<ossim_uint32> theBlockMaskRecords;
940  std::vector<ossim_uint32> thePadPixelMaskRecords;
943 
944 TYPE_DATA
945 
946 };
947 
948 #endif
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
static const ossimString NCOLS_KW
ossim_uint16 theBlockMaskRecordLength
FIELD NAME: BMRLNTH.
static const ossimString NBPC_KW
virtual ossimIrect getBlockImageRect() const =0
Blocks might not be the same size as the significant rows and cols used by the getImageRect.
static const ossimString ISYNC_KW
virtual ossimString getRepresentation() const =0
static const ossimString TGTID_KW
ossim_uint32 theBlockedImageDataOffset
FIELD NAME: IMDATOFF.
virtual ossimString getCoordinateSystem() const =0
static const ossimString IM_KW
static const ossimString PJUST_KW
Represents serializable keyword/value map.
virtual ossimString getTitle() const =0
static const ossimString COMRAT_KW
ossim_uint16 thePadPixelMaskRecordLength
FIELD: TMRLNTH.
static const ossimString ICAT_KW
virtual ossimString getCompressionRateCode() const =0
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
ossim_uint16 thePadOutputPixelCode
FIELD: TPXCD.
virtual ossimString getImageSource() const =0
virtual ossimString getImageMagnification() const =0
ossimRefPtr< ossimNitfCompressionHeader > theCompressionHeader
OSSIM_DLL ossim_uint32 getActualBitsPerPixel(ossimScalarType scalarType)
Get actual bits per pixel for a given scalar type.
virtual ossim_uint32 getDisplayLevel() const =0
static const ossimString NPPBV_KW
unsigned short ossim_uint16
static const ossimString ICOM_KW
static const ossimString NBPR_KW
static const ossimString IID1_KW
static const ossimString ITITLE_KW
virtual bool saveState(ossimKeywordlist &kwl, const ossimString &prefix="") const
std::vector< ossim_uint32 > thePadPixelMaskRecords
static const ossimString IMODE_KW
static const ossimString ISCLAS_KW
static const ossimString IGEOLO_KW
static const ossimString NROWS_KW
virtual ossimString getCategory() const =0
virtual void setProperty(ossimRefPtr< ossimProperty > property)
virtual ossimIrect getImageRect() const =0
#define TYPE_DATA
Definition: ossimRtti.h:339
unsigned long long ossim_uint64
unsigned int ossim_uint32
virtual ossimString getImageId() const =0
static const ossimString NBPP_KW
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
static const ossimString IDATIM_KW
static const ossimString ABPP_KW
virtual ossim_uint64 getDataLocation() const =0
static const ossimString BMRLNTH_KW
virtual ossimString getGeographicLocation() const =0
static const ossimString IALVL_KW
static const ossimString UDIDL_KW
static const ossimString NPPBH_KW
static const ossimString ILOC_KW
static const ossimString IMDATOFF_KW
static const ossimString IXSOFL_KW
OSSIM_DLL ossim_uint32 getBitsPerPixel(ossimScalarType scalarType)
Get bits per pixel for a given scalar type.
virtual void getImageLocation(ossimIpt &loc) const =0
Gets the ILOC field as an ossimIpt.
virtual ossimString getCompressionCode() const =0
std::vector< ossim_uint32 > theBlockMaskRecords
static const ossimString ICORDS_KW
virtual ossimString getSecurityClassification() const =0
static const ossimString NICOM_KW
#define OSSIM_DLL
static const ossimString NBANDS_KW
static const ossimString IMAG_KW
ossim_uint16 theTransparentOutputPixelCodeLength
FIELD: TPXCDLNTH.
static const ossimString UDOFL_KW
virtual ossim_uint32 getAttachmentLevel() const =0
static const ossimString IID2_KW
static const ossimString IXSHDL_KW
static const ossimString ISORCE_KW
static const ossimString ENCRYP_KW
static const ossimString IDLVL_KW
static const ossimString IC_KW
std::vector< ossimString > theImageComments
static const ossimString PVTYPE_KW
virtual bool isValid() const =0
isValid will test if the fields are valid and will return true or false.
static const ossimString IREP_KW