OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
ossimNitfImageHeaderV2_X Class Reference

#include <ossimNitfImageHeaderV2_X.h>

Inheritance diagram for ossimNitfImageHeaderV2_X:
ossimNitfImageHeader ossimObject ossimPropertyInterface ossimReferenced ossimNitfImageHeaderV2_0 ossimNitfImageHeaderV2_1

Public Member Functions

 ossimNitfImageHeaderV2_X ()
 
virtual ossimIrect getImageRect () const
 Returns the zero based image rectangle. More...
 
virtual ossimIrect getBlockImageRect () const
 Returns the zero based image rectangle expanded out to block boundaries. More...
 
void setImageId (const ossimString &value)
 
void setAquisitionDateTime (const ossimString &value)
 
void setTargetId (const ossimString &value)
 
void setTitle (const ossimString &value)
 
void setSecurityClassification (const ossimString &value)
 
void setEncryption (const ossimString &value)
 
void setImageSource (const ossimString &value)
 
void setJustification (const ossimString &value)
 
void setCoordinateSystem (const ossimString &value)
 
void setGeographicLocation (const ossimString &value)
 
void setNumberOfComments (const ossimString &value)
 
void setCompression (const ossimString &value)
 
void setCompressionRateCode (const ossimString &value)
 
void setDisplayLevel (const ossimString &value)
 
void setAttachmentLevel (const ossimString &value)
 
void setPixelType (const ossimString &pixelType=ossimString("INT"))
 
void setBitsPerPixel (ossim_uint32 bitsPerPixel)
 
void setActualBitsPerPixel (ossim_uint32 bitsPerPixel)
 
void setImageMode (char mode)
 
void setCategory (const ossimString &category)
 
void setRepresentation (const ossimString &rep)
 
void setBlocksPerRow (ossim_uint32 blocks)
 
void setBlocksPerCol (ossim_uint32 blocks)
 
void setNumberOfPixelsPerBlockRow (ossim_uint32 pixels)
 
void setNumberOfPixelsPerBlockCol (ossim_uint32 pixels)
 
ossim_uint64 getDataLocation () const
 
ossimString getImageId () const
 
ossimString getAquisitionDateTime () const
 
ossimString getTargetId () const
 
ossimString getTitle () const
 
ossimString getSecurityClassification () const
 
ossimString getEncryption () const
 
ossimString getImageSource () const
 
ossimString getJustification () const
 
ossimString getCoordinateSystem () const
 
ossimString getGeographicLocation () const
 
ossimString getNumberOfComments () const
 
ossimString getCompressionCode () const
 
ossimString getCompressionRateCode () const
 
ossim_uint32 getDisplayLevel () const
 
ossim_uint32 getAttachmentLevel () const
 
ossimString getPixelType () const
 
ossim_uint32 getBitsPerPixel () const
 
ossim_uint32 getActualBitsPerPixel () const
 
char getImageMode () const
 
ossimString getCategory () const
 
ossimString getRepresentation () const
 
ossim_uint32 getBlocksPerRow () const
 
ossim_uint32 getBlocksPerCol () const
 
ossim_uint32 getNumberOfPixelsPerBlockRow () const
 
ossim_uint32 getNumberOfPixelsPerBlockCol () const
 
virtual bool isValid () const
 isValid will test if the fields are valid and will return true or false. More...
 
virtual void setProperty (ossimRefPtr< ossimProperty > property)
 
virtual ossimRefPtr< ossimPropertygetProperty (const ossimString &name) const
 
virtual void getPropertyNames (std::vector< ossimString > &propertyNames) const
 
virtual ossimString getImageMagnification () const
 Gets the IMAG field as a string. More...
 
virtual void getImageLocation (ossimIpt &loc) const
 Gets the ILOC field as an ossimIpt. More...
 
virtual void setGeographicLocationDms (const ossimDpt &ul, const ossimDpt &ur, const ossimDpt &lr, const ossimDpt &ll)
 
virtual void setGeographicLocationDecimalDegrees (const ossimDpt &ul, const ossimDpt &ur, const ossimDpt &lr, const ossimDpt &ll)
 
virtual void setUtmNorth (ossim_uint32 zone, const ossimDpt &ul, const ossimDpt &ur, const ossimDpt &lr, const ossimDpt &ll)
 
virtual void setUtmSouth (ossim_uint32 zone, const ossimDpt &ul, const ossimDpt &ur, const ossimDpt &lr, const ossimDpt &ll)
 
virtual bool saveState (ossimKeywordlist &kwl, const ossimString &prefix="") const
 
virtual bool loadState (const ossimKeywordlist &kwl, const char *prefix=0)
 Method to set fields from a keyword list. More...
 
- Public Member Functions inherited from ossimNitfImageHeader
 ossimNitfImageHeader ()
 
virtual ~ossimNitfImageHeader ()
 
virtual bool getTagInformation (ossimNitfTagInformation &tagInfo, ossim_uint32 idx) const
 
virtual std::vector< ossimNitfTagInformationgetAllTags ()
 
virtual void setAllTags (std::vector< ossimNitfTagInformation > tagList)
 
virtual bool getTagInformation (ossimNitfTagInformation &tagInfo, const ossimString &tagName) const
 
ossimRefPtr< ossimNitfRegisteredTaggetTagData (const ossimString &tagName)
 
const ossimRefPtr< ossimNitfRegisteredTaggetTagData (const ossimString &tagName) const
 
void getTagData (const ossimString &tagName, std::vector< const ossimNitfRegisteredTag *> &tags) const
 Returns all tags of type tagName. More...
 
virtual ossim_uint32 getNumberOfTags () const
 
virtual void addTag (const ossimNitfTagInformation &tag, bool unique=true)
 
virtual void removeTag (const ossimString &tagName)
 
virtual void parseStream (ossim::istream &in)=0
 
virtual void writeStream (ossim::ostream &out)=0
 
virtual bool isCompressed () const =0
 
virtual bool isEncrypted () const =0
 
virtual ossim_int32 getNumberOfRows () const =0
 
virtual ossim_int32 getNumberOfBands () const =0
 
virtual ossim_int32 getNumberOfCols () const =0
 
virtual ossim_int32 getNumberOfBlocksPerRow () const =0
 
virtual ossim_int32 getNumberOfBlocksPerCol () const =0
 
virtual ossim_int32 getNumberOfPixelsPerBlockHoriz () const =0
 
virtual ossim_int32 getNumberOfPixelsPerBlockVert () const =0
 
virtual ossim_int32 getActualBitsPerPixelPerBand () const =0
 
virtual ossim_int32 getBitsPerPixelPerBand () const =0
 
virtual ossimString getIMode () const =0
 
virtual ossimString getImageDateAndTime () const =0
 
virtual ossimString getAcquisitionDateMonthDayYear (ossim_uint8 separationChar='-') const =0
 
virtual ossimString getPixelValueType () const =0
 
virtual void getDecimationFactor (ossim_float64 &result) const
 Convenience method to get the decimation factor as a double from the string returned be the getImageMagnification() method. More...
 
virtual bool hasBlockMaskRecords () const =0
 
virtual bool hasPadPixelMaskRecords () const =0
 
virtual bool hasTransparentCode () const =0
 
virtual ossim_uint32 getTransparentCode () const =0
 
virtual ossim_uint32 getBlockMaskRecordOffset (ossim_uint32 blockNumber, ossim_uint32 bandNumber) const =0
 
virtual ossim_uint32 getPadPixelMaskRecordOffset (ossim_uint32 blockNumber, ossim_uint32 bandNumber) const =0
 
virtual const ossimRefPtr< ossimNitfCompressionHeadergetCompressionHeader () const =0
 
virtual const ossimRefPtr< ossimNitfImageBandgetBandInformation (ossim_uint32 idx) const =0
 
bool hasLut () const
 
ossimRefPtr< ossimNBandLutDataObjectcreateLut (ossim_uint32 bandIdx) const
 
virtual bool isSameAs (const ossimNitfImageHeader *hdr) const
 
virtual ossim_uint32 getTotalTagLength () const
 
virtual std::ostream & printTags (std::ostream &out, const std::string &prefix=std::string()) const
 print method that outputs a key/value type format adding prefix to keys. More...
 
virtual void getMetadata (ossimKeywordlist &kwl, const char *prefix=0) const
 Populates keyword list with metadata. More...
 
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. More...
 
- Public Member Functions inherited from ossimObject
 ossimObject ()
 
virtual ~ossimObject ()
 
virtual ossimObjectdup () const
 
virtual ossimString getShortName () const
 
virtual ossimString getLongName () const
 
virtual ossimString getDescription () const
 
virtual ossimString getClassName () const
 
virtual RTTItypeid getType () const
 
virtual bool canCastTo (ossimObject *obj) const
 
virtual bool canCastTo (const RTTItypeid &id) const
 
virtual bool canCastTo (const ossimString &parentClassName) const
 
virtual bool saveState (ossimKeywordlist &kwl, const char *prefix=0) const
 
virtual std::ostream & print (std::ostream &out) const
 Generic print method. More...
 
virtual bool isEqualTo (const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const
 
virtual void accept (ossimVisitor &visitor)
 
- Public Member Functions inherited from ossimReferenced
 ossimReferenced ()
 
 ossimReferenced (const ossimReferenced &)
 
ossimReferencedoperator= (const ossimReferenced &)
 
void ref () const
 increment the reference count by one, indicating that this object has another pointer which is referencing it. More...
 
void unref () const
 decrement the reference count by one, indicating that a pointer to this object is referencing it. More...
 
void unref_nodelete () const
 decrement the reference count by one, indicating that a pointer to this object is referencing it. More...
 
int referenceCount () const
 
- Public Member Functions inherited from ossimPropertyInterface
 ossimPropertyInterface ()
 
virtual ~ossimPropertyInterface ()
 
virtual void setProperty (const ossimString &name, const ossimString &value)
 
virtual ossimString getPropertyValueAsString (const ossimString &name) const
 
void getPropertyList (std::vector< ossimRefPtr< ossimProperty > > &propertyList) const
 
void setProperties (std::vector< ossimRefPtr< ossimProperty > > &propertyList)
 

Static Public Attributes

static const ossimString IM_KW = "IM"
 
static const ossimString IID1_KW = "IID1"
 
static const ossimString IDATIM_KW = "IDATIM"
 
static const ossimString TGTID_KW = "TGTID"
 
static const ossimString IID2_KW = "IID2"
 
static const ossimString ITITLE_KW = "ITITLE"
 
static const ossimString ISCLAS_KW = "ISCLAS"
 
static const ossimString ENCRYP_KW = "ENCRYP"
 
static const ossimString ISORCE_KW = "ISORCE"
 
static const ossimString NROWS_KW = "NROWS"
 
static const ossimString NCOLS_KW = "NCOLS"
 
static const ossimString PVTYPE_KW = "PVTYPE"
 
static const ossimString IREP_KW = "IREP"
 
static const ossimString ICAT_KW = "ICAT"
 
static const ossimString ABPP_KW = "ABPP"
 
static const ossimString PJUST_KW = "PJUST"
 
static const ossimString ICORDS_KW = "ICORDS"
 
static const ossimString IGEOLO_KW = "IGEOLO"
 
static const ossimString NICOM_KW = "NICOM"
 
static const ossimString ICOM_KW = "ICOM"
 
static const ossimString IC_KW = "IC"
 
static const ossimString COMRAT_KW = "COMRAT"
 
static const ossimString NBANDS_KW = "NBANDS"
 
static const ossimString ISYNC_KW = "ISYNC"
 
static const ossimString IMODE_KW = "IMODE"
 
static const ossimString NBPR_KW = "NBPR"
 
static const ossimString NBPC_KW = "NBPC"
 
static const ossimString NPPBH_KW = "NPPBH"
 
static const ossimString NPPBV_KW = "NPPBV"
 
static const ossimString NBPP_KW = "NBPP"
 
static const ossimString IDLVL_KW = "IDLVL"
 
static const ossimString IALVL_KW = "IALVL"
 
static const ossimString ILOC_KW = "ILOC"
 
static const ossimString IMAG_KW = "IMAG"
 
static const ossimString UDIDL_KW = "UDIDL"
 
static const ossimString UDOFL_KW = "UDOFL"
 
static const ossimString IXSHDL_KW = "IXSHDL"
 
static const ossimString IXSOFL_KW = "IXSOFL"
 
static const ossimString IMDATOFF_KW = "IMDATOFF"
 
static const ossimString BMRLNTH_KW = "BMRLNTH"
 

Protected Attributes

char theType [3]
 
char theImageId [11]
 FIELD: IID1 Is a required 10 Alphanumeric value. More...
 
char theDateTime [15]
 
char theTargetId [18]
 FIELD: TGTID. More...
 
char theTitle [81]
 FIELD: IID2. More...
 
char theSecurityClassification [2]
 FIELD: ISCLAS. More...
 
char theEncryption [2]
 
char theImageSource [43]
 FIELD: ISORCE. More...
 
char theSignificantRows [9]
 FIELD: NROWS. More...
 
char theSignificantCols [9]
 FIELD: NCOLS. More...
 
char thePixelValueType [4]
 FIELD: PVTYPE. More...
 
char theRepresentation [9]
 FIELD: IREP. More...
 
char theActualBitsPerPixelPerBand [3]
 FIELD: ABPP. More...
 
char theCategory [9]
 FIELD: ICAT. More...
 
char theJustification [2]
 FIELD: PJUST. More...
 
char theCoordinateSystem [2]
 FIELD: ICORDS. More...
 
char theNumberOfComments [2]
 
std::vector< ossimStringtheImageComments
 
char theGeographicLocation [61]
 FIELD: IGEOLO. More...
 
char theCompression [3]
 FIELD: IC. More...
 
char theCompressionRateCode [5]
 FIELD COMRAT. More...
 
char theNumberOfBands [2]
 FIELD: NBANDS. More...
 
char theImageSyncCode [2]
 FIELD: ISYNC. More...
 
char theImageMode [2]
 FIELD: IMODE. More...
 
char theNumberOfBlocksPerRow [5]
 FIELD: NBPR. More...
 
char theNumberOfBlocksPerCol [5]
 FIELD: NBPC. More...
 
char theNumberOfPixelsPerBlockHoriz [5]
 FIELD: NPPBH. More...
 
char theNumberOfPixelsPerBlockVert [5]
 FIELD: NPPBV. More...
 
char theNumberOfBitsPerPixelPerBand [3]
 FIELD: NBPP. More...
 
char theDisplayLevel [4]
 FIELD: IDLVL. More...
 
char theAttachmentLevel [4]
 FIELD: IALVL. More...
 
char theImageLocation [11]
 FIELD: ILOC. More...
 
char theImageMagnification [5]
 FIELD: IMAG. More...
 
char theUserDefinedImageDataLength [6]
 FIELD: UDIDL. More...
 
char theUserDefinedOverflow [4]
 FIELD: UDOFL. More...
 
char theExtendedSubheaderDataLen [6]
 FIELD: IXSHDL. More...
 
char theExtendedSubheaderOverflow [4]
 FIELD: IXSOFL. More...
 
ossim_uint32 theBlockedImageDataOffset
 FIELD NAME: IMDATOFF. More...
 
ossim_uint16 theBlockMaskRecordLength
 FIELD NAME: BMRLNTH. More...
 
ossim_uint16 thePadPixelMaskRecordLength
 FIELD: TMRLNTH. More...
 
ossim_uint16 theTransparentOutputPixelCodeLength
 FIELD: TPXCDLNTH. More...
 
ossim_uint16 thePadOutputPixelCode
 FIELD: TPXCD. More...
 
std::vector< ossim_uint32theBlockMaskRecords
 
std::vector< ossim_uint32thePadPixelMaskRecords
 
ossimRefPtr< ossimNitfCompressionHeadertheCompressionHeader
 
ossim_uint64 theDataLocation
 
- Protected Attributes inherited from ossimNitfImageHeader
std::vector< ossimNitfTagInformationtheTagList
 

Additional Inherited Members

- Protected Member Functions inherited from ossimNitfImageHeader
void checkForGeographicTiePointTruncation (const ossimDpt &tie) const
 Method to check tie point to see if it will be truncated in field IGEOLO which has only arc second resolution. More...
 
- Protected Member Functions inherited from ossimReferenced
virtual ~ossimReferenced ()
 

Detailed Description

Definition at line 7 of file ossimNitfImageHeaderV2_X.h.

Constructor & Destructor Documentation

◆ ossimNitfImageHeaderV2_X()

ossimNitfImageHeaderV2_X::ossimNitfImageHeaderV2_X ( )

Definition at line 67 of file ossimNitfImageHeaderV2_X.cpp.

69 {
70 }
std::vector< ossimString > theImageComments

Member Function Documentation

◆ getActualBitsPerPixel()

ossim_uint32 ossimNitfImageHeaderV2_X::getActualBitsPerPixel ( ) const

Definition at line 373 of file ossimNitfImageHeaderV2_X.cpp.

References theActualBitsPerPixelPerBand, and ossimString::toUInt32().

Referenced by isValid().

374 {
376 }
char theActualBitsPerPixelPerBand[3]
FIELD: ABPP.
ossim_uint32 toUInt32() const

◆ getAquisitionDateTime()

ossimString ossimNitfImageHeaderV2_X::getAquisitionDateTime ( ) const

Definition at line 293 of file ossimNitfImageHeaderV2_X.cpp.

References theDateTime.

294 {
295  return theDateTime;
296 }

◆ getAttachmentLevel()

ossim_uint32 ossimNitfImageHeaderV2_X::getAttachmentLevel ( ) const
virtual

Implements ossimNitfImageHeader.

Definition at line 358 of file ossimNitfImageHeaderV2_X.cpp.

References theAttachmentLevel, and ossimString::toUInt32().

359 {
361 }
ossim_uint32 toUInt32() const
char theAttachmentLevel[4]
FIELD: IALVL.

◆ getBitsPerPixel()

ossim_uint32 ossimNitfImageHeaderV2_X::getBitsPerPixel ( ) const

Definition at line 368 of file ossimNitfImageHeaderV2_X.cpp.

References theNumberOfBitsPerPixelPerBand, and ossimString::toUInt32().

Referenced by isValid().

369 {
371 }
ossim_uint32 toUInt32() const
char theNumberOfBitsPerPixelPerBand[3]
FIELD: NBPP.

◆ getBlockImageRect()

ossimIrect ossimNitfImageHeaderV2_X::getBlockImageRect ( ) const
virtual

Returns the zero based image rectangle expanded out to block boundaries.

Note
This may or may not be the same as the rect from getImageRect.

Implements ossimNitfImageHeader.

Reimplemented in ossimNitfImageHeaderV2_1.

Definition at line 96 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfImageHeader::getNumberOfBlocksPerCol(), ossimNitfImageHeader::getNumberOfBlocksPerRow(), ossimNitfImageHeader::getNumberOfPixelsPerBlockHoriz(), ossimNitfImageHeader::getNumberOfPixelsPerBlockVert(), theImageLocation, ossimDpt::x, and ossimDpt::y.

97 {
98  ossimIpt ul(0, 0);
101 
102  return ossimIrect(ul, lr);
103 
104 #if 0
105  //---
106  // Changed to not include offset 20100619 (drb).
107  // Use void getImageLocation(ossimIpt& loc)const to get offset.
108  //---
109  ossimDpt ul(ossimString((char*)(&theImageLocation[5])).toDouble(),
111  (char*)(&theImageLocation[5])).toDouble());
112 
115 
116  ossimDpt lr(ul.x + cols-1,
117  ul.y + rows-1);
118  return ossimDrect(ul, lr);
119 #endif
120 }
virtual ossim_int32 getNumberOfBlocksPerRow() const =0
char theImageLocation[11]
FIELD: ILOC.
virtual ossim_int32 getNumberOfPixelsPerBlockVert() const =0
virtual ossim_int32 getNumberOfBlocksPerCol() const =0
virtual ossim_int32 getNumberOfPixelsPerBlockHoriz() const =0

◆ getBlocksPerCol()

ossim_uint32 ossimNitfImageHeaderV2_X::getBlocksPerCol ( ) const

Definition at line 398 of file ossimNitfImageHeaderV2_X.cpp.

References theNumberOfBlocksPerCol, and ossimString::toUInt32().

399 {
401 }
ossim_uint32 toUInt32() const
char theNumberOfBlocksPerCol[5]
FIELD: NBPC.

◆ getBlocksPerRow()

ossim_uint32 ossimNitfImageHeaderV2_X::getBlocksPerRow ( ) const

Definition at line 393 of file ossimNitfImageHeaderV2_X.cpp.

References theNumberOfBlocksPerRow, and ossimString::toUInt32().

394 {
396 }
ossim_uint32 toUInt32() const
char theNumberOfBlocksPerRow[5]
FIELD: NBPR.

◆ getCategory()

ossimString ossimNitfImageHeaderV2_X::getCategory ( ) const
virtual

Implements ossimNitfImageHeader.

Definition at line 383 of file ossimNitfImageHeaderV2_X.cpp.

References theCategory.

384 {
385  return theCategory;
386 }

◆ getCompressionCode()

ossimString ossimNitfImageHeaderV2_X::getCompressionCode ( ) const
virtual

Implements ossimNitfImageHeader.

Definition at line 343 of file ossimNitfImageHeaderV2_X.cpp.

References theCompression, and ossimString::trim().

Referenced by ossimNitfImageHeaderV2_0::parseStream(), and ossimNitfWriter::writeBlockBandSeparate().

344 {
345  return ossimString(theCompression).trim();
346 }
ossimString trim(const ossimString &valueToTrim=ossimString(" \\)) const
this will strip lead and trailing character passed in.

◆ getCompressionRateCode()

ossimString ossimNitfImageHeaderV2_X::getCompressionRateCode ( ) const
virtual

Implements ossimNitfImageHeader.

Definition at line 348 of file ossimNitfImageHeaderV2_X.cpp.

References theCompressionRateCode.

349 {
350  return theCompressionRateCode;
351 }
char theCompressionRateCode[5]
FIELD COMRAT.

◆ getCoordinateSystem()

ossimString ossimNitfImageHeaderV2_X::getCoordinateSystem ( ) const
virtual

Implements ossimNitfImageHeader.

Definition at line 328 of file ossimNitfImageHeaderV2_X.cpp.

References theCoordinateSystem, and ossimString::trim().

329 {
331 }
ossimString trim(const ossimString &valueToTrim=ossimString(" \\)) const
this will strip lead and trailing character passed in.
char theCoordinateSystem[2]
FIELD: ICORDS.

◆ getDataLocation()

ossim_uint64 ossimNitfImageHeaderV2_X::getDataLocation ( ) const
virtual

Implements ossimNitfImageHeader.

Definition at line 283 of file ossimNitfImageHeaderV2_X.cpp.

References theDataLocation.

284 {
285  return theDataLocation;
286 }

◆ getDisplayLevel()

ossim_uint32 ossimNitfImageHeaderV2_X::getDisplayLevel ( ) const
virtual

Implements ossimNitfImageHeader.

Definition at line 353 of file ossimNitfImageHeaderV2_X.cpp.

References theDisplayLevel, and ossimString::toUInt32().

354 {
356 }
ossim_uint32 toUInt32() const
char theDisplayLevel[4]
FIELD: IDLVL.

◆ getEncryption()

ossimString ossimNitfImageHeaderV2_X::getEncryption ( ) const

Definition at line 313 of file ossimNitfImageHeaderV2_X.cpp.

References theEncryption, and ossimString::trim().

314 {
315  return ossimString(theEncryption).trim();
316 }
ossimString trim(const ossimString &valueToTrim=ossimString(" \\)) const
this will strip lead and trailing character passed in.

◆ getGeographicLocation()

ossimString ossimNitfImageHeaderV2_X::getGeographicLocation ( ) const
virtual

Implements ossimNitfImageHeader.

Definition at line 333 of file ossimNitfImageHeaderV2_X.cpp.

References theGeographicLocation, and ossimString::trim().

334 {
336 }
char theGeographicLocation[61]
FIELD: IGEOLO.
ossimString trim(const ossimString &valueToTrim=ossimString(" \\)) const
this will strip lead and trailing character passed in.

◆ getImageId()

ossimString ossimNitfImageHeaderV2_X::getImageId ( ) const
virtual

Implements ossimNitfImageHeader.

Definition at line 288 of file ossimNitfImageHeaderV2_X.cpp.

References theImageId.

289 {
290  return theImageId;
291 }
char theImageId[11]
FIELD: IID1 Is a required 10 Alphanumeric value.

◆ getImageLocation()

void ossimNitfImageHeaderV2_X::getImageLocation ( ossimIpt loc) const
virtual

Gets the ILOC field as an ossimIpt.

Satisfies pure virtual.

Parameters
locInitialized with the field.
Note
: Do not confuse with "data location".

Implements ossimNitfImageHeader.

Definition at line 917 of file ossimNitfImageHeaderV2_X.cpp.

References theImageLocation, ossimString::toInt32(), ossimIpt::x, and ossimIpt::y.

918 {
919  loc.x = ossimString((char*)(&theImageLocation[5])).toInt32();
920  loc.y = ossimString((char*)theImageLocation,
921  (char*)(&theImageLocation[5])).toInt32();
922 }
ossim_int32 toInt32() const
char theImageLocation[11]
FIELD: ILOC.
ossim_int32 y
Definition: ossimIpt.h:142
ossim_int32 x
Definition: ossimIpt.h:141

◆ getImageMagnification()

ossimString ossimNitfImageHeaderV2_X::getImageMagnification ( ) const
virtual

Gets the IMAG field as a string.

Satisfies pure virtual.

Returns
IMAG field

Implements ossimNitfImageHeader.

Definition at line 912 of file ossimNitfImageHeaderV2_X.cpp.

References theImageMagnification, and ossimString::trim().

913 {
915 }
ossimString trim(const ossimString &valueToTrim=ossimString(" \\)) const
this will strip lead and trailing character passed in.
char theImageMagnification[5]
FIELD: IMAG.

◆ getImageMode()

char ossimNitfImageHeaderV2_X::getImageMode ( ) const

Definition at line 378 of file ossimNitfImageHeaderV2_X.cpp.

References theImageMode.

379 {
380  return theImageMode[0];
381 }
char theImageMode[2]
FIELD: IMODE.

◆ getImageRect()

ossimIrect ossimNitfImageHeaderV2_X::getImageRect ( ) const
virtual

Returns the zero based image rectangle.

Implements ossimNitfImageHeader.

Reimplemented in ossimNitfImageHeaderV2_1.

Definition at line 72 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfImageHeader::getNumberOfCols(), ossimNitfImageHeader::getNumberOfRows(), theImageLocation, theSignificantCols, theSignificantRows, ossimString::toDouble(), ossimDpt::x, and ossimDpt::y.

73 {
74  ossimIpt ul(0, 0);
76  return ossimIrect(ul, lr);
77 
78 #if 0
79  //---
80  // Changed to not include offset 20100619 (drb).
81  // Use void getImageLocation(ossimIpt& loc)const to get offset.
82  //---
83  ossimDpt ul(ossimString((char*)(&theImageLocation[5])).toDouble(),
85  (char*)(&theImageLocation[5])).toDouble());
86 
87  double rows = ossimString(theSignificantRows).toDouble();
88  double cols = ossimString(theSignificantCols).toDouble();
89 
90  ossimDpt lr(ul.x + cols-1,
91  ul.y + rows-1);
92  return ossimDrect(ul, lr);
93 #endif
94 }
char theSignificantRows[9]
FIELD: NROWS.
virtual ossim_int32 getNumberOfRows() const =0
char theImageLocation[11]
FIELD: ILOC.
virtual ossim_int32 getNumberOfCols() const =0
double toDouble() const
char theSignificantCols[9]
FIELD: NCOLS.

◆ getImageSource()

ossimString ossimNitfImageHeaderV2_X::getImageSource ( ) const
virtual

Implements ossimNitfImageHeader.

Definition at line 318 of file ossimNitfImageHeaderV2_X.cpp.

References theImageSource, and ossimString::trim().

Referenced by getProperty().

319 {
320  return ossimString(theImageSource).trim();
321 }
ossimString trim(const ossimString &valueToTrim=ossimString(" \\)) const
this will strip lead and trailing character passed in.
char theImageSource[43]
FIELD: ISORCE.

◆ getJustification()

ossimString ossimNitfImageHeaderV2_X::getJustification ( ) const

Definition at line 323 of file ossimNitfImageHeaderV2_X.cpp.

References theJustification, and ossimString::trim().

324 {
326 }
char theJustification[2]
FIELD: PJUST.
ossimString trim(const ossimString &valueToTrim=ossimString(" \\)) const
this will strip lead and trailing character passed in.

◆ getNumberOfComments()

ossimString ossimNitfImageHeaderV2_X::getNumberOfComments ( ) const

Definition at line 338 of file ossimNitfImageHeaderV2_X.cpp.

References theNumberOfComments, and ossimString::trim().

339 {
341 }
ossimString trim(const ossimString &valueToTrim=ossimString(" \\)) const
this will strip lead and trailing character passed in.

◆ getNumberOfPixelsPerBlockCol()

ossim_uint32 ossimNitfImageHeaderV2_X::getNumberOfPixelsPerBlockCol ( ) const

Definition at line 408 of file ossimNitfImageHeaderV2_X.cpp.

References theNumberOfPixelsPerBlockHoriz, and ossimString::toUInt32().

409 {
411 }
char theNumberOfPixelsPerBlockHoriz[5]
FIELD: NPPBH.
ossim_uint32 toUInt32() const

◆ getNumberOfPixelsPerBlockRow()

ossim_uint32 ossimNitfImageHeaderV2_X::getNumberOfPixelsPerBlockRow ( ) const

Definition at line 403 of file ossimNitfImageHeaderV2_X.cpp.

References theNumberOfPixelsPerBlockVert, and ossimString::toUInt32().

404 {
406 }
char theNumberOfPixelsPerBlockVert[5]
FIELD: NPPBV.
ossim_uint32 toUInt32() const

◆ getPixelType()

ossimString ossimNitfImageHeaderV2_X::getPixelType ( ) const

Definition at line 363 of file ossimNitfImageHeaderV2_X.cpp.

References thePixelValueType.

364 {
365  return thePixelValueType;
366 }
char thePixelValueType[4]
FIELD: PVTYPE.

◆ getProperty()

ossimRefPtr< ossimProperty > ossimNitfImageHeaderV2_X::getProperty ( const ossimString name) const
virtual

Reimplemented from ossimNitfImageHeader.

Reimplemented in ossimNitfImageHeaderV2_1, and ossimNitfImageHeaderV2_0.

Definition at line 706 of file ossimNitfImageHeaderV2_X.cpp.

References ABPP_KW, COMRAT_KW, ENCRYP_KW, ossimNitfImageHeader::getAcquisitionDateMonthDayYear(), getImageSource(), ossimNitfImageHeader::getProperty(), getTitle(), IALVL_KW, IC_KW, ICAT_KW, ICORDS_KW, IDATIM_KW, IDLVL_KW, IGEOLO_KW, IID1_KW, IID2_KW, ILOC_KW, IMAG_KW, IMODE_KW, IREP_KW, ISCLAS_KW, ISORCE_KW, ISYNC_KW, ITITLE_KW, NBPC_KW, NBPP_KW, NBPR_KW, NICOM_KW, NPPBH_KW, NPPBV_KW, PJUST_KW, PVTYPE_KW, TGTID_KW, theActualBitsPerPixelPerBand, theAttachmentLevel, theCategory, theCompression, theCompressionRateCode, theCoordinateSystem, theDateTime, theDisplayLevel, theEncryption, theGeographicLocation, theImageId, theImageLocation, theImageMagnification, theImageMode, theImageSource, theImageSyncCode, theJustification, theNumberOfBitsPerPixelPerBand, theNumberOfBlocksPerCol, theNumberOfBlocksPerRow, theNumberOfComments, theNumberOfPixelsPerBlockHoriz, theNumberOfPixelsPerBlockVert, thePixelValueType, theRepresentation, theSecurityClassification, theTargetId, and theTitle.

Referenced by ossimNitfImageHeaderV2_0::getProperty(), and ossimNitfImageHeaderV2_1::getProperty().

707 {
708  ossimProperty* property = 0;
709 
710  if(name == IID1_KW)
711  {
712  property = new ossimStringProperty(name,
713  ossimString(theImageId).trim());
714  }
715  else if(name == IDATIM_KW)
716  {
717  property = new ossimStringProperty(name,
718  ossimString(theDateTime).trim());
719  }
720  else if(name == TGTID_KW)
721  {
722  property = new ossimStringProperty(name,
723  ossimString(theTargetId).trim());
724  }
725  else if((name == IID2_KW)||
726  (name == ITITLE_KW))
727  {
728  property = new ossimStringProperty(name,
729  ossimString(theTitle).trim());
730  }
731  else if(name == ISCLAS_KW)
732  {
733  property = new ossimStringProperty(name,
735  }
736  else if(name == ENCRYP_KW)
737  {
738  property = new ossimStringProperty(name,
739  ossimString(theEncryption).trim());
740  }
741  else if(name == ISORCE_KW)
742  {
743  property = new ossimStringProperty(name,
744  ossimString(theImageSource).trim());
745  }
746  else if(name == PVTYPE_KW)
747  {
748  property = new ossimStringProperty(name,
750  }
751  else if(name == IREP_KW)
752  {
753  property = new ossimStringProperty(name,
755  }
756  else if(name == ICAT_KW)
757  {
758  property = new ossimStringProperty(name,
759  ossimString(theCategory).trim());
760  }
761  else if(name == ABPP_KW)
762  {
763  property = new ossimStringProperty(name,
765  }
766  else if(name == PJUST_KW)
767  {
768  property = new ossimStringProperty(name,
769  ossimString(theJustification).trim());
770  }
771  else if(name == ICORDS_KW)
772  {
773  property = new ossimStringProperty(name,
775  }
776  else if(name == IGEOLO_KW)
777  {
778  property = new ossimStringProperty(name,
780  }
781  else if(name == NICOM_KW)
782  {
783  property = new ossimStringProperty(name,
785  }
786  else if(name == IC_KW)
787  {
788  property = new ossimStringProperty(name,
789  ossimString(theCompression).trim());
790  }
791  else if(name == COMRAT_KW)
792  {
793  property = new ossimStringProperty(name,
795  }
796  else if(name == ISYNC_KW)
797  {
798  property = new ossimStringProperty(name,
799  ossimString(theImageSyncCode).trim());
800  }
801  else if(name == IMODE_KW)
802  {
803  property = new ossimStringProperty(name,
804  ossimString(theImageMode).trim());
805  }
806  else if(name == NBPR_KW)
807  {
808  property = new ossimStringProperty(name,
810  }
811  else if(name == NBPC_KW)
812  {
813  property = new ossimStringProperty(name,
815  }
816  else if(name == NPPBH_KW)
817  {
818  property = new ossimStringProperty(name,
820  }
821  else if(name == NPPBV_KW)
822  {
823  property = new ossimStringProperty(name,
825  }
826  else if(name == NBPP_KW)
827  {
828  property = new ossimStringProperty(name,
830  }
831  else if(name == IDLVL_KW)
832  {
833  property = new ossimStringProperty(name,
834  ossimString(theDisplayLevel).trim());
835  }
836  else if(name == IALVL_KW)
837  {
838  property = new ossimStringProperty(name,
840  }
841  else if(name == ILOC_KW)
842  {
843  property = new ossimStringProperty(name,
844  ossimString(theImageLocation).trim());
845  }
846  else if(name == IMAG_KW)
847  {
848  property = new ossimStringProperty(name,
850  }
851  else if(name == "source")
852  {
853  property = new ossimStringProperty(name,
854  getImageSource());
855  }
856  else if(name == "image_date")
857  {
858  property = new ossimStringProperty(name,
860  }
861  else if(name == "image_title")
862  {
863  property = new ossimStringProperty(name,
864  getTitle());
865  }
866  else
867  {
869 
870  }
871  return property;
872 }
static const ossimString NBPC_KW
char theNumberOfPixelsPerBlockVert[5]
FIELD: NPPBV.
static const ossimString ISYNC_KW
char theNumberOfPixelsPerBlockHoriz[5]
FIELD: NPPBH.
static const ossimString TGTID_KW
char theCompressionRateCode[5]
FIELD COMRAT.
char theRepresentation[9]
FIELD: IREP.
static const ossimString PJUST_KW
static const ossimString COMRAT_KW
static const ossimString ICAT_KW
char theActualBitsPerPixelPerBand[3]
FIELD: ABPP.
char theNumberOfBitsPerPixelPerBand[3]
FIELD: NBPP.
char theNumberOfBlocksPerRow[5]
FIELD: NBPR.
static const ossimString NPPBV_KW
char theGeographicLocation[61]
FIELD: IGEOLO.
static const ossimString NBPR_KW
static const ossimString IID1_KW
static const ossimString ITITLE_KW
char theImageId[11]
FIELD: IID1 Is a required 10 Alphanumeric value.
char theImageMode[2]
FIELD: IMODE.
char theTargetId[18]
FIELD: TGTID.
char theImageLocation[11]
FIELD: ILOC.
char theImageSyncCode[2]
FIELD: ISYNC.
static const ossimString IMODE_KW
static const ossimString ISCLAS_KW
static const ossimString IGEOLO_KW
char theAttachmentLevel[4]
FIELD: IALVL.
char theJustification[2]
FIELD: PJUST.
static const ossimString NBPP_KW
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
static const ossimString IDATIM_KW
static const ossimString ABPP_KW
char theNumberOfBlocksPerCol[5]
FIELD: NBPC.
static const ossimString IALVL_KW
char theDisplayLevel[4]
FIELD: IDLVL.
static const ossimString NPPBH_KW
static const ossimString ILOC_KW
char theImageSource[43]
FIELD: ISORCE.
static const ossimString ICORDS_KW
static const ossimString NICOM_KW
char theSecurityClassification[2]
FIELD: ISCLAS.
static const ossimString IMAG_KW
virtual ossimString getAcquisitionDateMonthDayYear(ossim_uint8 separationChar='-') const =0
static const ossimString IID2_KW
char theCoordinateSystem[2]
FIELD: ICORDS.
static const ossimString ISORCE_KW
static const ossimString ENCRYP_KW
static const ossimString IDLVL_KW
static const ossimString IC_KW
char thePixelValueType[4]
FIELD: PVTYPE.
static const ossimString PVTYPE_KW
static const ossimString IREP_KW
char theImageMagnification[5]
FIELD: IMAG.

◆ getPropertyNames()

void ossimNitfImageHeaderV2_X::getPropertyNames ( std::vector< ossimString > &  propertyNames) const
virtual

Reimplemented from ossimNitfImageHeader.

Reimplemented in ossimNitfImageHeaderV2_1, and ossimNitfImageHeaderV2_0.

Definition at line 874 of file ossimNitfImageHeaderV2_X.cpp.

References ABPP_KW, COMRAT_KW, ENCRYP_KW, ossimNitfImageHeader::getPropertyNames(), IALVL_KW, IC_KW, ICAT_KW, ICORDS_KW, IDATIM_KW, IDLVL_KW, IGEOLO_KW, IID1_KW, IID2_KW, ILOC_KW, IMAG_KW, IMODE_KW, IREP_KW, ISCLAS_KW, ISORCE_KW, ISYNC_KW, NBPC_KW, NBPP_KW, NBPR_KW, NICOM_KW, NPPBH_KW, NPPBV_KW, PJUST_KW, PVTYPE_KW, and TGTID_KW.

Referenced by ossimNitfImageHeaderV2_0::getPropertyNames(), and ossimNitfImageHeaderV2_1::getPropertyNames().

875 {
877  propertyNames.push_back(IID1_KW);
878  propertyNames.push_back(IDATIM_KW);
879  propertyNames.push_back(TGTID_KW);
880  propertyNames.push_back(IID2_KW);
881  propertyNames.push_back(ISCLAS_KW);
882  propertyNames.push_back(ENCRYP_KW);
883  propertyNames.push_back(ISORCE_KW);
884  propertyNames.push_back(PVTYPE_KW);
885  propertyNames.push_back(IREP_KW);
886  propertyNames.push_back(ICAT_KW);
887  propertyNames.push_back(ABPP_KW);
888  propertyNames.push_back(PJUST_KW);
889  propertyNames.push_back(ICORDS_KW);
890  propertyNames.push_back(IGEOLO_KW);
891  propertyNames.push_back(NICOM_KW);
892  propertyNames.push_back(IC_KW);
893  propertyNames.push_back(COMRAT_KW);
894  propertyNames.push_back(ISYNC_KW);
895  propertyNames.push_back(IMODE_KW);
896  propertyNames.push_back(NBPR_KW);
897  propertyNames.push_back(NBPC_KW);
898  propertyNames.push_back(NPPBH_KW);
899  propertyNames.push_back(NPPBV_KW);
900  propertyNames.push_back(NBPP_KW);
901  propertyNames.push_back(IDLVL_KW);
902  propertyNames.push_back(IALVL_KW);
903  propertyNames.push_back(ILOC_KW);
904  propertyNames.push_back(IMAG_KW);
905 
906  // Temp addition (drb)
907  propertyNames.push_back(ossimString("source"));
908  propertyNames.push_back(ossimString("image_date"));
909  propertyNames.push_back(ossimString("image_title"));
910 }
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
static const ossimString NBPC_KW
static const ossimString ISYNC_KW
static const ossimString TGTID_KW
static const ossimString PJUST_KW
static const ossimString COMRAT_KW
static const ossimString ICAT_KW
static const ossimString NPPBV_KW
static const ossimString NBPR_KW
static const ossimString IID1_KW
static const ossimString IMODE_KW
static const ossimString ISCLAS_KW
static const ossimString IGEOLO_KW
static const ossimString NBPP_KW
static const ossimString IDATIM_KW
static const ossimString ABPP_KW
static const ossimString IALVL_KW
static const ossimString NPPBH_KW
static const ossimString ILOC_KW
static const ossimString ICORDS_KW
static const ossimString NICOM_KW
static const ossimString IMAG_KW
static const ossimString IID2_KW
static const ossimString ISORCE_KW
static const ossimString ENCRYP_KW
static const ossimString IDLVL_KW
static const ossimString IC_KW
static const ossimString PVTYPE_KW
static const ossimString IREP_KW

◆ getRepresentation()

ossimString ossimNitfImageHeaderV2_X::getRepresentation ( ) const
virtual

Implements ossimNitfImageHeader.

Definition at line 388 of file ossimNitfImageHeaderV2_X.cpp.

References theRepresentation.

389 {
390  return theRepresentation;
391 }
char theRepresentation[9]
FIELD: IREP.

◆ getSecurityClassification()

ossimString ossimNitfImageHeaderV2_X::getSecurityClassification ( ) const
virtual

Implements ossimNitfImageHeader.

Definition at line 308 of file ossimNitfImageHeaderV2_X.cpp.

References theSecurityClassification, and ossimString::trim().

309 {
311 }
ossimString trim(const ossimString &valueToTrim=ossimString(" \\)) const
this will strip lead and trailing character passed in.
char theSecurityClassification[2]
FIELD: ISCLAS.

◆ getTargetId()

ossimString ossimNitfImageHeaderV2_X::getTargetId ( ) const

Definition at line 298 of file ossimNitfImageHeaderV2_X.cpp.

References theTargetId, and ossimString::trim().

299 {
300  return ossimString(theTargetId).trim();
301 }
char theTargetId[18]
FIELD: TGTID.
ossimString trim(const ossimString &valueToTrim=ossimString(" \\)) const
this will strip lead and trailing character passed in.

◆ getTitle()

ossimString ossimNitfImageHeaderV2_X::getTitle ( ) const
virtual

Implements ossimNitfImageHeader.

Definition at line 303 of file ossimNitfImageHeaderV2_X.cpp.

References theTitle, and ossimString::trim().

Referenced by getProperty().

304 {
305  return ossimString(theTitle).trim();
306 }
ossimString trim(const ossimString &valueToTrim=ossimString(" \\)) const
this will strip lead and trailing character passed in.

◆ isValid()

bool ossimNitfImageHeaderV2_X::isValid ( ) const
virtual

isValid will test if the fields are valid and will return true or false.

Implements ossimNitfImageHeader.

Reimplemented in ossimNitfImageHeaderV2_0, and ossimNitfImageHeaderV2_1.

Definition at line 413 of file ossimNitfImageHeaderV2_X.cpp.

References getActualBitsPerPixel(), getBitsPerPixel(), and theType.

Referenced by ossimNitfImageHeaderV2_1::isValid(), and ossimNitfImageHeaderV2_0::isValid().

414 {
415  if((theType[0] != 'I') || theType[1] != 'M')
416  {
417  return false;
418  }
419  ossim_uint32 actualBitsPerPixel = getActualBitsPerPixel();
420  ossim_uint32 bitsPerPixel = getBitsPerPixel();
421 
422  if(actualBitsPerPixel>bitsPerPixel)
423  {
424  return false;
425  }
426 
427  return true;
428 }
unsigned int ossim_uint32
ossim_uint32 getActualBitsPerPixel() const

◆ loadState()

bool ossimNitfImageHeaderV2_X::loadState ( const ossimKeywordlist kwl,
const char *  prefix = 0 
)
virtual

Method to set fields from a keyword list.

This is not a true loadState as it does not lookup/initialize all class members. This was added to allow defaults, e.g ISCLAS, to be set via a site configuration file. Code does not return false if a field(key) is not found..

Returns
true if ok or false on error.

Reimplemented from ossimObject.

Reimplemented in ossimNitfImageHeaderV2_1.

Definition at line 430 of file ossimNitfImageHeaderV2_X.cpp.

References ABPP_KW, COMRAT_KW, ENCRYP_KW, ossimKeywordlist::find(), IALVL_KW, IC_KW, ICAT_KW, ICOM_KW, ICORDS_KW, IDATIM_KW, IDLVL_KW, IGEOLO_KW, IID1_KW, IID2_KW, IMODE_KW, IREP_KW, ISCLAS_KW, ISORCE_KW, ISYNC_KW, ITITLE_KW, NBPP_KW, NCOLS_KW, NICOM_KW, NROWS_KW, PJUST_KW, PVTYPE_KW, setAquisitionDateTime(), setAttachmentLevel(), setBitsPerPixel(), setCategory(), setCompression(), setCompressionRateCode(), setCoordinateSystem(), setDisplayLevel(), setEncryption(), ossimNitfCommon::setField(), setGeographicLocation(), setImageId(), setImageMode(), setImageSource(), setJustification(), setNumberOfComments(), setSecurityClassification(), setTargetId(), setTitle(), TGTID_KW, theActualBitsPerPixelPerBand, theImageComments, theImageSyncCode, theNumberOfComments, thePixelValueType, theRepresentation, theSignificantCols, theSignificantRows, ossimString::toString(), and ossimString::toUInt32().

Referenced by ossimNitfWriterBase::initializeDefaultsFromConfigFile(), and ossimNitfImageHeaderV2_1::loadState().

431 {
432  // Note: Currently not looking up all fieds only ones that make sense.
433 
434  const char* lookup;
435 
436  lookup = kwl.find( prefix, IID1_KW);
437  if ( lookup )
438  {
439  setImageId( ossimString(lookup) );
440  }
441  lookup = kwl.find( prefix, IDATIM_KW);
442  if ( lookup )
443  {
445  }
446  lookup = kwl.find( prefix, TGTID_KW);
447  if ( lookup )
448  {
449  setTargetId( ossimString(lookup) );
450  }
451  lookup = kwl.find( prefix, IID2_KW);
452  if ( lookup )
453  {
454  setTitle( ossimString(lookup) );
455  }
456  lookup = kwl.find( prefix, ITITLE_KW); // duplicate of above
457  if ( lookup )
458  {
459  setTitle( ossimString(lookup) );
460  }
461  lookup = kwl.find( prefix, ISCLAS_KW);
462  if ( lookup )
463  {
465  }
466  lookup = kwl.find( prefix, ENCRYP_KW);
467  if ( lookup )
468  {
469  setEncryption( ossimString(lookup) );
470  }
471  lookup = kwl.find( prefix, ISORCE_KW);
472  if ( lookup )
473  {
474  setImageSource( ossimString(lookup) );
475  }
476  lookup = kwl.find( prefix, NROWS_KW);
477  if ( lookup )
478  {
480  }
481 
482  lookup = kwl.find( prefix, NCOLS_KW);
483  if ( lookup )
484  {
486  }
487 
488  lookup = kwl.find( prefix, PVTYPE_KW);
489  if ( lookup )
490  {
492  }
493 
494  lookup = kwl.find( prefix, IREP_KW);
495  if ( lookup )
496  {
498  }
499  lookup = kwl.find( prefix, ICAT_KW);
500  if ( lookup )
501  {
502  setCategory( ossimString(lookup) );
503  }
504  lookup = kwl.find( prefix, ABPP_KW);
505  if ( lookup )
506  {
508  }
509  lookup = kwl.find( prefix, NBPP_KW);
510  if ( lookup )
511  {
512  setBitsPerPixel(ossimString(lookup).toUInt32());
513  }
514  lookup = kwl.find( prefix, PJUST_KW);
515  if ( lookup )
516  {
517  setJustification(ossimString(lookup));
518  }
519  lookup = kwl.find( prefix, ICORDS_KW);
520  if ( lookup )
521  {
523  }
524  lookup = kwl.find( prefix, IGEOLO_KW);
525  if ( lookup )
526  {
528  }
529  lookup = kwl.find( prefix, NICOM_KW);
530  if ( lookup )
531  {
533  }
535  if (numberOfComments > 0)
536  {
537  theImageComments.resize(numberOfComments);
538  for(ossim_uint32 i=0; i < numberOfComments; ++i)
539  {
541  lookup = kwl.find( prefix, icpre );
542  theImageComments[i] = ossimString(lookup);
543  }
544  }
545  lookup = kwl.find( prefix, IC_KW);
546  if ( lookup )
547  {
548  setCompression(ossimString(lookup));
549  }
550  lookup = kwl.find( prefix, COMRAT_KW);
551  if ( lookup )
552  {
554  }
555  lookup = kwl.find( prefix, IMODE_KW);
556  if ( lookup )
557  {
558  setImageMode(lookup[0]);
559  }
560  lookup = kwl.find( prefix, ISYNC_KW);
561  if ( lookup )
562  {
564  }
565  lookup = kwl.find( prefix, IALVL_KW);
566  if ( lookup )
567  {
569  }
570  lookup = kwl.find( prefix, IDLVL_KW);
571  if ( lookup )
572  {
573  setDisplayLevel(ossimString(lookup));
574  }
575 
576  return true;
577 }
char theSignificantRows[9]
FIELD: NROWS.
static const ossimString NCOLS_KW
void setImageId(const ossimString &value)
static const ossimString ISYNC_KW
void setSecurityClassification(const ossimString &value)
static const ossimString TGTID_KW
char theRepresentation[9]
FIELD: IREP.
static const ossimString PJUST_KW
static const ossimString COMRAT_KW
static const ossimString ICAT_KW
const char * find(const char *key) const
static ossimString toString(bool aValue)
Numeric to string methods.
char theActualBitsPerPixelPerBand[3]
FIELD: ABPP.
void setEncryption(const ossimString &value)
ossim_uint32 toUInt32() const
static const ossimString ICOM_KW
static const ossimString IID1_KW
static const ossimString ITITLE_KW
void setGeographicLocation(const ossimString &value)
void setBitsPerPixel(ossim_uint32 bitsPerPixel)
void setTargetId(const ossimString &value)
char theImageSyncCode[2]
FIELD: ISYNC.
static const ossimString IMODE_KW
static const ossimString ISCLAS_KW
static const ossimString IGEOLO_KW
static const ossimString NROWS_KW
void setDisplayLevel(const ossimString &value)
void setCategory(const ossimString &category)
unsigned int ossim_uint32
void setNumberOfComments(const ossimString &value)
static const ossimString NBPP_KW
static const ossimString IDATIM_KW
void setCompressionRateCode(const ossimString &value)
static const ossimString ABPP_KW
static const ossimString IALVL_KW
void setAttachmentLevel(const ossimString &value)
void setImageSource(const ossimString &value)
void setAquisitionDateTime(const ossimString &value)
static const ossimString ICORDS_KW
static const ossimString NICOM_KW
static void setField(void *fieldDestination, const ossimString &src, std::streamsize width, std::ios_base::fmtflags ioflags=std::ios::left, char fill=' ')
Sets a field with a given string, width, and IOS flags.
static const ossimString IID2_KW
char theSignificantCols[9]
FIELD: NCOLS.
static const ossimString ISORCE_KW
void setCoordinateSystem(const ossimString &value)
void setCompression(const ossimString &value)
static const ossimString ENCRYP_KW
static const ossimString IDLVL_KW
void setTitle(const ossimString &value)
static const ossimString IC_KW
std::vector< ossimString > theImageComments
char thePixelValueType[4]
FIELD: PVTYPE.
static const ossimString PVTYPE_KW
static const ossimString IREP_KW
void setJustification(const ossimString &value)

◆ saveState()

bool ossimNitfImageHeaderV2_X::saveState ( ossimKeywordlist kwl,
const ossimString prefix = "" 
) const
virtual

Reimplemented from ossimNitfImageHeader.

Reimplemented in ossimNitfImageHeaderV2_1, and ossimNitfImageHeaderV2_0.

Definition at line 991 of file ossimNitfImageHeaderV2_X.cpp.

References ABPP_KW, ossimKeywordlist::add(), BMRLNTH_KW, ossimString::c_str(), COMRAT_KW, ENCRYP_KW, IALVL_KW, IC_KW, ICAT_KW, ICOM_KW, ICORDS_KW, IDATIM_KW, IDLVL_KW, IGEOLO_KW, IID1_KW, IID2_KW, ILOC_KW, IM_KW, IMAG_KW, IMDATOFF_KW, IMODE_KW, IREP_KW, ISCLAS_KW, ISORCE_KW, ISYNC_KW, IXSHDL_KW, IXSOFL_KW, NBANDS_KW, NBPC_KW, NBPP_KW, NBPR_KW, NCOLS_KW, NICOM_KW, NPPBH_KW, NPPBV_KW, NROWS_KW, PJUST_KW, PVTYPE_KW, ossimNitfImageHeader::saveState(), TGTID_KW, theActualBitsPerPixelPerBand, theAttachmentLevel, theBlockedImageDataOffset, theBlockMaskRecordLength, theCategory, theCompression, theCompressionRateCode, theCoordinateSystem, theDateTime, theDisplayLevel, theEncryption, theExtendedSubheaderDataLen, theExtendedSubheaderOverflow, theGeographicLocation, theImageComments, theImageId, theImageLocation, theImageMagnification, theImageMode, theImageSource, theImageSyncCode, theJustification, theNumberOfBands, theNumberOfBitsPerPixelPerBand, theNumberOfBlocksPerCol, theNumberOfBlocksPerRow, theNumberOfComments, theNumberOfPixelsPerBlockHoriz, theNumberOfPixelsPerBlockVert, thePixelValueType, theRepresentation, theSecurityClassification, theSignificantCols, theSignificantRows, theTargetId, theTitle, theType, theUserDefinedImageDataLength, theUserDefinedOverflow, ossimString::toString(), ossimString::toUInt32(), UDIDL_KW, and UDOFL_KW.

Referenced by ossimNitfImageHeaderV2_0::saveState(), and ossimNitfImageHeaderV2_1::saveState().

992 {
993  bool result = ossimNitfImageHeader::saveState(kwl, prefix);
994 
995  kwl.add(prefix, IM_KW.c_str(), theType);
996  kwl.add(prefix, IID1_KW.c_str(), theImageId);
997  kwl.add(prefix, IDATIM_KW.c_str(), theDateTime);
998  kwl.add(prefix, TGTID_KW.c_str(), theTargetId);
999  kwl.add(prefix, IID2_KW.c_str(), theTitle);
1000  kwl.add(prefix, ISCLAS_KW.c_str(), theSecurityClassification);
1001  kwl.add(prefix, ENCRYP_KW.c_str(), theEncryption);
1002  kwl.add(prefix, ISORCE_KW.c_str(), theImageSource);
1003  kwl.add(prefix, NROWS_KW.c_str(), theSignificantRows);
1004  kwl.add(prefix, NCOLS_KW.c_str(), theSignificantCols);
1005  kwl.add(prefix, PVTYPE_KW.c_str(), thePixelValueType);
1006  kwl.add(prefix, IREP_KW.c_str(), theRepresentation);
1008  kwl.add(prefix, ICAT_KW.c_str(), theCategory);
1009  kwl.add(prefix, PJUST_KW.c_str(), theJustification);
1010  kwl.add(prefix, ICORDS_KW.c_str(), theCoordinateSystem);
1011  kwl.add(prefix, NICOM_KW.c_str(), theNumberOfComments);
1012  for (ossim_uint32 i=0; i < ossimString(theNumberOfComments).toUInt32(); ++i)
1013  {
1015  kwl.add(prefix, icpre.c_str(), theImageComments[i]);
1016  }
1017  kwl.add(prefix, IGEOLO_KW.c_str(), theGeographicLocation);
1018  kwl.add(prefix, IC_KW.c_str(), theCompression);
1019  kwl.add(prefix, COMRAT_KW.c_str(), theCompressionRateCode);
1020  kwl.add(prefix, NBANDS_KW.c_str(), theNumberOfBands);
1021  kwl.add(prefix, ISYNC_KW.c_str(), theImageSyncCode);
1022  kwl.add(prefix, IMODE_KW.c_str(), theImageMode);
1023  kwl.add(prefix, NBPR_KW.c_str(), theNumberOfBlocksPerRow);
1024  kwl.add(prefix, NBPC_KW.c_str(), theNumberOfBlocksPerCol);
1028  kwl.add(prefix, IDLVL_KW.c_str(), theDisplayLevel);
1029  kwl.add(prefix, IALVL_KW.c_str(), theAttachmentLevel);
1030  kwl.add(prefix, ILOC_KW.c_str(), theImageLocation);
1031  kwl.add(prefix, IMAG_KW.c_str(), theImageMagnification);
1033  kwl.add(prefix, UDOFL_KW.c_str(), theUserDefinedOverflow);
1037  kwl.add(prefix, BMRLNTH_KW.c_str(), theBlockMaskRecordLength);
1038 
1039  return result;
1040 }
char theSignificantRows[9]
FIELD: NROWS.
static const ossimString NCOLS_KW
ossim_uint16 theBlockMaskRecordLength
FIELD NAME: BMRLNTH.
static const ossimString NBPC_KW
char theNumberOfPixelsPerBlockVert[5]
FIELD: NPPBV.
static const ossimString ISYNC_KW
char theNumberOfPixelsPerBlockHoriz[5]
FIELD: NPPBH.
static const ossimString TGTID_KW
char theCompressionRateCode[5]
FIELD COMRAT.
ossim_uint32 theBlockedImageDataOffset
FIELD NAME: IMDATOFF.
char theRepresentation[9]
FIELD: IREP.
static const ossimString IM_KW
static const ossimString PJUST_KW
static const ossimString COMRAT_KW
static const ossimString ICAT_KW
char theNumberOfBands[2]
FIELD: NBANDS.
char theUserDefinedImageDataLength[6]
FIELD: UDIDL.
static ossimString toString(bool aValue)
Numeric to string methods.
char theActualBitsPerPixelPerBand[3]
FIELD: ABPP.
ossim_uint32 toUInt32() const
char theNumberOfBitsPerPixelPerBand[3]
FIELD: NBPP.
char theNumberOfBlocksPerRow[5]
FIELD: NBPR.
static const ossimString NPPBV_KW
char theGeographicLocation[61]
FIELD: IGEOLO.
static const ossimString ICOM_KW
static const ossimString NBPR_KW
static const ossimString IID1_KW
virtual bool saveState(ossimKeywordlist &kwl, const ossimString &prefix="") const
char theImageId[11]
FIELD: IID1 Is a required 10 Alphanumeric value.
char theExtendedSubheaderDataLen[6]
FIELD: IXSHDL.
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
char theImageMode[2]
FIELD: IMODE.
char theTargetId[18]
FIELD: TGTID.
char theImageLocation[11]
FIELD: ILOC.
char theImageSyncCode[2]
FIELD: ISYNC.
static const ossimString IMODE_KW
static const ossimString ISCLAS_KW
static const ossimString IGEOLO_KW
static const ossimString NROWS_KW
char theAttachmentLevel[4]
FIELD: IALVL.
char theJustification[2]
FIELD: PJUST.
unsigned int ossim_uint32
char theUserDefinedOverflow[4]
FIELD: UDOFL.
static const ossimString NBPP_KW
static const ossimString IDATIM_KW
static const ossimString ABPP_KW
char theNumberOfBlocksPerCol[5]
FIELD: NBPC.
static const ossimString BMRLNTH_KW
static const ossimString IALVL_KW
static const ossimString UDIDL_KW
char theDisplayLevel[4]
FIELD: IDLVL.
static const ossimString NPPBH_KW
static const ossimString ILOC_KW
static const ossimString IMDATOFF_KW
static const ossimString IXSOFL_KW
char theImageSource[43]
FIELD: ISORCE.
static const ossimString ICORDS_KW
static const ossimString NICOM_KW
static const ossimString NBANDS_KW
char theSecurityClassification[2]
FIELD: ISCLAS.
static const ossimString IMAG_KW
static const ossimString UDOFL_KW
static const ossimString IID2_KW
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string&#39;s contents...
Definition: ossimString.h:396
char theCoordinateSystem[2]
FIELD: ICORDS.
static const ossimString IXSHDL_KW
char theSignificantCols[9]
FIELD: NCOLS.
static const ossimString ISORCE_KW
static const ossimString ENCRYP_KW
static const ossimString IDLVL_KW
static const ossimString IC_KW
char theExtendedSubheaderOverflow[4]
FIELD: IXSOFL.
std::vector< ossimString > theImageComments
char thePixelValueType[4]
FIELD: PVTYPE.
static const ossimString PVTYPE_KW
static const ossimString IREP_KW
char theImageMagnification[5]
FIELD: IMAG.

◆ setActualBitsPerPixel()

void ossimNitfImageHeaderV2_X::setActualBitsPerPixel ( ossim_uint32  bitsPerPixel)

Definition at line 213 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::setField(), and theActualBitsPerPixelPerBand.

Referenced by setProperty(), ossimNitf20Writer::writeBlockBandSeparate(), ossimNitfWriter::writeBlockBandSeparate(), ossimNitf20Writer::writeBlockBandSequential(), and ossimNitfWriter::writeBlockBandSequential().

214 {
215  std::stringstream strm;
216  strm << bitsPerPixel;
218  strm.str(),
219  2,
220  std::ios::right,
221  '0');
222 }
std::basic_stringstream< char > stringstream
Class for char mixed input and output memory streams.
Definition: ossimIosFwd.h:38
char theActualBitsPerPixelPerBand[3]
FIELD: ABPP.
static void setField(void *fieldDestination, const ossimString &src, std::streamsize width, std::ios_base::fmtflags ioflags=std::ios::left, char fill=' ')
Sets a field with a given string, width, and IOS flags.

◆ setAquisitionDateTime()

void ossimNitfImageHeaderV2_X::setAquisitionDateTime ( const ossimString value)

Definition at line 127 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::setField(), and theDateTime.

Referenced by loadState(), and setProperty().

128 {
130 }
static void setField(void *fieldDestination, const ossimString &src, std::streamsize width, std::ios_base::fmtflags ioflags=std::ios::left, char fill=' ')
Sets a field with a given string, width, and IOS flags.

◆ setAttachmentLevel()

void ossimNitfImageHeaderV2_X::setAttachmentLevel ( const ossimString value)

Definition at line 192 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::setField(), and theAttachmentLevel.

Referenced by loadState(), and setProperty().

193 {
195 }
char theAttachmentLevel[4]
FIELD: IALVL.
static void setField(void *fieldDestination, const ossimString &src, std::streamsize width, std::ios_base::fmtflags ioflags=std::ios::left, char fill=' ')
Sets a field with a given string, width, and IOS flags.

◆ setBitsPerPixel()

void ossimNitfImageHeaderV2_X::setBitsPerPixel ( ossim_uint32  bitsPerPixel)

Definition at line 202 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::setField(), and theNumberOfBitsPerPixelPerBand.

Referenced by loadState(), setProperty(), ossimNitf20Writer::writeBlockBandSeparate(), ossimNitfWriter::writeBlockBandSeparate(), ossimNitf20Writer::writeBlockBandSequential(), and ossimNitfWriter::writeBlockBandSequential().

203 {
204  std::stringstream strm;
205  strm << bitsPerPixel;
207  strm.str(),
208  2,
209  std::ios::right,
210  '0');
211 }
std::basic_stringstream< char > stringstream
Class for char mixed input and output memory streams.
Definition: ossimIosFwd.h:38
char theNumberOfBitsPerPixelPerBand[3]
FIELD: NBPP.
static void setField(void *fieldDestination, const ossimString &src, std::streamsize width, std::ios_base::fmtflags ioflags=std::ios::left, char fill=' ')
Sets a field with a given string, width, and IOS flags.

◆ setBlocksPerCol()

void ossimNitfImageHeaderV2_X::setBlocksPerCol ( ossim_uint32  blocks)

Definition at line 250 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::setField(), and theNumberOfBlocksPerCol.

Referenced by setProperty(), ossimNitf20Writer::writeBlockBandSeparate(), ossimNitfWriter::writeBlockBandSeparate(), ossimNitf20Writer::writeBlockBandSequential(), and ossimNitfWriter::writeBlockBandSequential().

251 {
252  std::stringstream strm;
253  strm << blocks;
255  strm.str(),
256  4,
257  std::ios::right,
258  '0');
259 }
std::basic_stringstream< char > stringstream
Class for char mixed input and output memory streams.
Definition: ossimIosFwd.h:38
char theNumberOfBlocksPerCol[5]
FIELD: NBPC.
static void setField(void *fieldDestination, const ossimString &src, std::streamsize width, std::ios_base::fmtflags ioflags=std::ios::left, char fill=' ')
Sets a field with a given string, width, and IOS flags.

◆ setBlocksPerRow()

void ossimNitfImageHeaderV2_X::setBlocksPerRow ( ossim_uint32  blocks)

Definition at line 239 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::setField(), and theNumberOfBlocksPerRow.

Referenced by setProperty(), ossimNitf20Writer::writeBlockBandSeparate(), ossimNitfWriter::writeBlockBandSeparate(), ossimNitf20Writer::writeBlockBandSequential(), and ossimNitfWriter::writeBlockBandSequential().

240 {
241  std::stringstream strm;
242  strm << blocks;
244  strm.str(),
245  4,
246  std::ios::right,
247  '0');
248 }
std::basic_stringstream< char > stringstream
Class for char mixed input and output memory streams.
Definition: ossimIosFwd.h:38
char theNumberOfBlocksPerRow[5]
FIELD: NBPR.
static void setField(void *fieldDestination, const ossimString &src, std::streamsize width, std::ios_base::fmtflags ioflags=std::ios::left, char fill=' ')
Sets a field with a given string, width, and IOS flags.

◆ setCategory()

void ossimNitfImageHeaderV2_X::setCategory ( const ossimString category)

Definition at line 229 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::setField(), and theCategory.

Referenced by loadState(), setProperty(), ossimNitf20Writer::writeBlockBandSeparate(), ossimNitfWriter::writeBlockBandSeparate(), ossimNitf20Writer::writeBlockBandSequential(), and ossimNitfWriter::writeBlockBandSequential().

230 {
232 }
static void setField(void *fieldDestination, const ossimString &src, std::streamsize width, std::ios_base::fmtflags ioflags=std::ios::left, char fill=' ')
Sets a field with a given string, width, and IOS flags.

◆ setCompression()

void ossimNitfImageHeaderV2_X::setCompression ( const ossimString value)

Definition at line 177 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::setField(), and theCompression.

Referenced by loadState(), and setProperty().

178 {
180 }
static void setField(void *fieldDestination, const ossimString &src, std::streamsize width, std::ios_base::fmtflags ioflags=std::ios::left, char fill=' ')
Sets a field with a given string, width, and IOS flags.

◆ setCompressionRateCode()

void ossimNitfImageHeaderV2_X::setCompressionRateCode ( const ossimString value)

Definition at line 182 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::setField(), and theCompressionRateCode.

Referenced by loadState(), and setProperty().

183 {
185 }
char theCompressionRateCode[5]
FIELD COMRAT.
static void setField(void *fieldDestination, const ossimString &src, std::streamsize width, std::ios_base::fmtflags ioflags=std::ios::left, char fill=' ')
Sets a field with a given string, width, and IOS flags.

◆ setCoordinateSystem()

void ossimNitfImageHeaderV2_X::setCoordinateSystem ( const ossimString value)

Definition at line 162 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::setField(), and theCoordinateSystem.

Referenced by loadState(), and setProperty().

163 {
165 }
static void setField(void *fieldDestination, const ossimString &src, std::streamsize width, std::ios_base::fmtflags ioflags=std::ios::left, char fill=' ')
Sets a field with a given string, width, and IOS flags.
char theCoordinateSystem[2]
FIELD: ICORDS.

◆ setDisplayLevel()

void ossimNitfImageHeaderV2_X::setDisplayLevel ( const ossimString value)

Definition at line 187 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::setField(), and theDisplayLevel.

Referenced by loadState(), and setProperty().

188 {
189  ossimNitfCommon::setField(theDisplayLevel, value, 3, std::ios::right, '0');
190 }
char theDisplayLevel[4]
FIELD: IDLVL.
static void setField(void *fieldDestination, const ossimString &src, std::streamsize width, std::ios_base::fmtflags ioflags=std::ios::left, char fill=' ')
Sets a field with a given string, width, and IOS flags.

◆ setEncryption()

void ossimNitfImageHeaderV2_X::setEncryption ( const ossimString value)

Definition at line 147 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::setField(), and theEncryption.

Referenced by loadState(), and setProperty().

148 {
150 }
static void setField(void *fieldDestination, const ossimString &src, std::streamsize width, std::ios_base::fmtflags ioflags=std::ios::left, char fill=' ')
Sets a field with a given string, width, and IOS flags.

◆ setGeographicLocation()

void ossimNitfImageHeaderV2_X::setGeographicLocation ( const ossimString value)

Definition at line 167 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::setField(), and theGeographicLocation.

Referenced by loadState(), and setProperty().

168 {
170 }
char theGeographicLocation[61]
FIELD: IGEOLO.
static void setField(void *fieldDestination, const ossimString &src, std::streamsize width, std::ios_base::fmtflags ioflags=std::ios::left, char fill=' ')
Sets a field with a given string, width, and IOS flags.

◆ setGeographicLocationDecimalDegrees()

void ossimNitfImageHeaderV2_X::setGeographicLocationDecimalDegrees ( const ossimDpt ul,
const ossimDpt ur,
const ossimDpt lr,
const ossimDpt ll 
)
virtual

Reimplemented in ossimNitfImageHeaderV2_1.

Definition at line 954 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::encodeGeographicDecimalDegrees(), theCoordinateSystem, and theGeographicLocation.

959 {
960  theCoordinateSystem[0] = 'D';
961  memcpy(theGeographicLocation,
963  ul, ur, lr, ll).c_str(), 60);
964 }
char theGeographicLocation[61]
FIELD: IGEOLO.
char theCoordinateSystem[2]
FIELD: ICORDS.
static ossimString encodeGeographicDecimalDegrees(const ossimDpt &ul, const ossimDpt &ur, const ossimDpt &lr, const ossimDpt &ll)

◆ setGeographicLocationDms()

void ossimNitfImageHeaderV2_X::setGeographicLocationDms ( const ossimDpt ul,
const ossimDpt ur,
const ossimDpt lr,
const ossimDpt ll 
)
virtual

Reimplemented in ossimNitfImageHeaderV2_1.

Definition at line 924 of file ossimNitfImageHeaderV2_X.cpp.

Referenced by ossimNitfWriterBase::writeGeometry().

928 {
929  if (traceDebug())
930  {
932  << ossimDms(ul.y, true).toString("ddmmss.ssssC").c_str()
933  << ossimDms(ul.x, false).toString("dddmmss.ssssC").c_str()
934  << ossimDms(ur.y, true).toString("ddmmss.ssssC").c_str()
935  << ossimDms(ur.x, false).toString("dddmmss.ssssC").c_str()
936  << ossimDms(lr.y, true).toString("ddmmss.ssssC").c_str()
937  << ossimDms(lr.x, false).toString("dddmmss.ssssC").c_str()
938  << ossimDms(ll.y, true).toString("ddmmss.ssssC").c_str()
939  << ossimDms(ll.x, false).toString("dddmmss.ssssC").c_str()
940  << std::endl;
941 
946  }
947 
948  theCoordinateSystem[0] = 'G';
949 
950  memcpy(theGeographicLocation,
951  ossimNitfCommon::encodeGeographicDms(ul,ur,lr,ll).c_str(), 60);
952 }
double y
Definition: ossimDpt.h:165
char theGeographicLocation[61]
FIELD: IGEOLO.
void checkForGeographicTiePointTruncation(const ossimDpt &tie) const
Method to check tie point to see if it will be truncated in field IGEOLO which has only arc second re...
double x
Definition: ossimDpt.h:164
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string&#39;s contents...
Definition: ossimString.h:396
static ossimString encodeGeographicDms(const ossimDpt &ul, const ossimDpt &ur, const ossimDpt &lr, const ossimDpt &ll)
char theCoordinateSystem[2]
FIELD: ICORDS.
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
ossimString toString(const ossimString &formatString=ossimString("")) const
You can specify a number of different formats.
Definition: ossimDms.cpp:294

◆ setImageId()

void ossimNitfImageHeaderV2_X::setImageId ( const ossimString value)

Definition at line 122 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::setField(), and theImageId.

Referenced by loadState(), and setProperty().

123 {
125 }
char theImageId[11]
FIELD: IID1 Is a required 10 Alphanumeric value.
static void setField(void *fieldDestination, const ossimString &src, std::streamsize width, std::ios_base::fmtflags ioflags=std::ios::left, char fill=' ')
Sets a field with a given string, width, and IOS flags.

◆ setImageMode()

void ossimNitfImageHeaderV2_X::setImageMode ( char  mode)

◆ setImageSource()

void ossimNitfImageHeaderV2_X::setImageSource ( const ossimString value)

Definition at line 152 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::setField(), and theImageSource.

Referenced by loadState(), and setProperty().

153 {
155 }
char theImageSource[43]
FIELD: ISORCE.
static void setField(void *fieldDestination, const ossimString &src, std::streamsize width, std::ios_base::fmtflags ioflags=std::ios::left, char fill=' ')
Sets a field with a given string, width, and IOS flags.

◆ setJustification()

void ossimNitfImageHeaderV2_X::setJustification ( const ossimString value)

Definition at line 157 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::setField(), and theJustification.

Referenced by loadState(), ossimNitf20Writer::ossimNitf20Writer(), ossimNitfWriter::ossimNitfWriter(), and setProperty().

158 {
160 }
char theJustification[2]
FIELD: PJUST.
static void setField(void *fieldDestination, const ossimString &src, std::streamsize width, std::ios_base::fmtflags ioflags=std::ios::left, char fill=' ')
Sets a field with a given string, width, and IOS flags.

◆ setNumberOfComments()

void ossimNitfImageHeaderV2_X::setNumberOfComments ( const ossimString value)

Definition at line 172 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::setField(), and theNumberOfComments.

Referenced by loadState(), and setProperty().

173 {
175 }
static void setField(void *fieldDestination, const ossimString &src, std::streamsize width, std::ios_base::fmtflags ioflags=std::ios::left, char fill=' ')
Sets a field with a given string, width, and IOS flags.

◆ setNumberOfPixelsPerBlockCol()

void ossimNitfImageHeaderV2_X::setNumberOfPixelsPerBlockCol ( ossim_uint32  pixels)

Definition at line 272 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::setField(), and theNumberOfPixelsPerBlockVert.

Referenced by setProperty(), ossimNitf20Writer::writeBlockBandSeparate(), ossimNitfWriter::writeBlockBandSeparate(), ossimNitf20Writer::writeBlockBandSequential(), and ossimNitfWriter::writeBlockBandSequential().

273 {
274  std::stringstream strm;
275  strm << pixels;
277  strm.str(),
278  4,
279  std::ios::right,
280  '0');
281 }
char theNumberOfPixelsPerBlockVert[5]
FIELD: NPPBV.
std::basic_stringstream< char > stringstream
Class for char mixed input and output memory streams.
Definition: ossimIosFwd.h:38
static void setField(void *fieldDestination, const ossimString &src, std::streamsize width, std::ios_base::fmtflags ioflags=std::ios::left, char fill=' ')
Sets a field with a given string, width, and IOS flags.

◆ setNumberOfPixelsPerBlockRow()

void ossimNitfImageHeaderV2_X::setNumberOfPixelsPerBlockRow ( ossim_uint32  pixels)

Definition at line 261 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::setField(), and theNumberOfPixelsPerBlockHoriz.

Referenced by setProperty(), ossimNitf20Writer::writeBlockBandSeparate(), ossimNitfWriter::writeBlockBandSeparate(), ossimNitf20Writer::writeBlockBandSequential(), and ossimNitfWriter::writeBlockBandSequential().

262 {
263  std::stringstream strm;
264  strm << pixels;
266  strm.str(),
267  4,
268  std::ios::right,
269  '0');
270 }
char theNumberOfPixelsPerBlockHoriz[5]
FIELD: NPPBH.
std::basic_stringstream< char > stringstream
Class for char mixed input and output memory streams.
Definition: ossimIosFwd.h:38
static void setField(void *fieldDestination, const ossimString &src, std::streamsize width, std::ios_base::fmtflags ioflags=std::ios::left, char fill=' ')
Sets a field with a given string, width, and IOS flags.

◆ setPixelType()

void ossimNitfImageHeaderV2_X::setPixelType ( const ossimString pixelType = ossimString("INT"))

Definition at line 197 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::setField(), and thePixelValueType.

Referenced by setProperty(), ossimNitf20Writer::writeBlockBandSeparate(), ossimNitfWriter::writeBlockBandSeparate(), ossimNitf20Writer::writeBlockBandSequential(), and ossimNitfWriter::writeBlockBandSequential().

198 {
200 }
static void setField(void *fieldDestination, const ossimString &src, std::streamsize width, std::ios_base::fmtflags ioflags=std::ios::left, char fill=' ')
Sets a field with a given string, width, and IOS flags.
char thePixelValueType[4]
FIELD: PVTYPE.

◆ setProperty()

void ossimNitfImageHeaderV2_X::setProperty ( ossimRefPtr< ossimProperty property)
virtual

Reimplemented from ossimNitfImageHeader.

Reimplemented in ossimNitfImageHeaderV2_1, and ossimNitfImageHeaderV2_0.

Definition at line 579 of file ossimNitfImageHeaderV2_X.cpp.

References ABPP_KW, COMRAT_KW, ossimString::contains(), ENCRYP_KW, IALVL_KW, IC_KW, ICAT_KW, ICORDS_KW, IDATIM_KW, IDLVL_KW, IGEOLO_KW, IID1_KW, IID2_KW, ILOC_KW, IMAG_KW, IMODE_KW, IREP_KW, ISCLAS_KW, ISORCE_KW, ISYNC_KW, ITITLE_KW, NBPC_KW, NBPP_KW, NBPR_KW, NICOM_KW, NPPBH_KW, NPPBV_KW, PJUST_KW, PVTYPE_KW, setActualBitsPerPixel(), setAquisitionDateTime(), setAttachmentLevel(), setBitsPerPixel(), setBlocksPerCol(), setBlocksPerRow(), setCategory(), setCompression(), setCompressionRateCode(), setCoordinateSystem(), setDisplayLevel(), setEncryption(), setGeographicLocation(), setImageId(), setImageMode(), setImageSource(), setJustification(), setNumberOfComments(), setNumberOfPixelsPerBlockCol(), setNumberOfPixelsPerBlockRow(), setPixelType(), ossimNitfImageHeader::setProperty(), setRepresentation(), setSecurityClassification(), setTargetId(), setTitle(), TGTID_KW, ossimString::upcase(), and ossimProperty::valueToString().

Referenced by ossimNitfImageHeaderV2_0::setProperty(), and ossimNitfImageHeaderV2_1::setProperty().

580 {
581  ossimString name = property->getName();
582 
583  // Make case insensitive:
584  name.upcase();
585 
586  std::ostringstream out;
587 
588  if(!property) return;
589 
590  if(name.contains(IID1_KW))
591  {
592  setImageId(property->valueToString());
593  }
594  else if(name.contains(IDATIM_KW))
595  {
597  }
598  else if(name.contains(TGTID_KW))
599  {
600  setTargetId(property->valueToString());
601  }
602  else if(name.contains(IID2_KW)||
603  name.contains(ITITLE_KW))
604  {
605  setTitle(property->valueToString());
606  }
607  else if(name.contains(ISCLAS_KW))
608  {
610  }
611  else if(name.contains(ENCRYP_KW))
612  {
613  setEncryption(property->valueToString());
614  }
615  else if(name.contains(ISORCE_KW))
616  {
617  setImageSource(property->valueToString());
618  }
619  else if(name.contains(PVTYPE_KW))
620  {
621  setPixelType(property->valueToString());
622  }
623  else if(name.contains(IREP_KW))
624  {
625  setRepresentation(property->valueToString());
626  }
627  else if(name.contains(ICAT_KW))
628  {
629  setCategory(property->valueToString());
630  }
631  else if(name.contains(ABPP_KW))
632  {
633  setActualBitsPerPixel(property->valueToString().toUInt32());
634  }
635  else if(name.contains(PJUST_KW))
636  {
637  setJustification(property->valueToString());
638  }
639  else if(name.contains(ICORDS_KW))
640  {
641  setCoordinateSystem(property->valueToString());
642  }
643  else if(name.contains(IGEOLO_KW))
644  {
646  }
647  else if(name.contains(NICOM_KW))
648  {
649  setNumberOfComments(property->valueToString());
650  }
651  else if(name.contains(IC_KW))
652  {
653  setCompression(property->valueToString());
654  }
655  else if(name.contains(COMRAT_KW))
656  {
658  }
659  else if(name.contains(ISYNC_KW))
660  {
661  }
662  else if(name.contains(IMODE_KW))
663  {
664  setImageMode(*(property->valueToString().trim().begin()));
665  }
666  else if(name.contains(NBPR_KW))
667  {
668  setBlocksPerRow(property->valueToString().toUInt32());
669  }
670  else if(name.contains(NBPC_KW))
671  {
672  setBlocksPerCol(property->valueToString().toUInt32());
673  }
674  else if(name.contains(NPPBH_KW))
675  {
676  setNumberOfPixelsPerBlockRow(property->valueToString().toUInt32());
677  }
678  else if(name.contains(NPPBV_KW))
679  {
680  setNumberOfPixelsPerBlockCol(property->valueToString().toUInt32());
681  }
682  else if(name.contains(NBPP_KW))
683  {
684  setBitsPerPixel(property->valueToString().toUInt32());
685  }
686  else if(name.contains(IDLVL_KW))
687  {
688  setDisplayLevel(property->valueToString());
689  }
690  else if(name.contains(IALVL_KW))
691  {
692  setAttachmentLevel(property->valueToString());
693  }
694  else if(name.contains(ILOC_KW))
695  {
696  }
697  else if(name.contains(IMAG_KW))
698  {
699  }
700  else
701  {
703  }
704 }
virtual void valueToString(ossimString &valueResult) const =0
void setImageId(const ossimString &value)
static const ossimString NBPC_KW
static const ossimString ISYNC_KW
void setSecurityClassification(const ossimString &value)
void setPixelType(const ossimString &pixelType=ossimString("INT"))
static ossimString upcase(const ossimString &aString)
Definition: ossimString.cpp:34
std::basic_ostringstream< char > ostringstream
Class for char output memory streams.
Definition: ossimIosFwd.h:35
static const ossimString TGTID_KW
void setNumberOfPixelsPerBlockRow(ossim_uint32 pixels)
void setActualBitsPerPixel(ossim_uint32 bitsPerPixel)
static const ossimString PJUST_KW
static const ossimString COMRAT_KW
static const ossimString ICAT_KW
bool contains(char aChar) const
Definition: ossimString.h:58
void setEncryption(const ossimString &value)
static const ossimString NPPBV_KW
static const ossimString NBPR_KW
static const ossimString IID1_KW
static const ossimString ITITLE_KW
void setGeographicLocation(const ossimString &value)
void setBitsPerPixel(ossim_uint32 bitsPerPixel)
void setTargetId(const ossimString &value)
void setBlocksPerRow(ossim_uint32 blocks)
static const ossimString IMODE_KW
static const ossimString ISCLAS_KW
static const ossimString IGEOLO_KW
virtual void setProperty(ossimRefPtr< ossimProperty > property)
void setDisplayLevel(const ossimString &value)
void setCategory(const ossimString &category)
void setNumberOfComments(const ossimString &value)
static const ossimString NBPP_KW
static const ossimString IDATIM_KW
void setCompressionRateCode(const ossimString &value)
static const ossimString ABPP_KW
void setNumberOfPixelsPerBlockCol(ossim_uint32 pixels)
static const ossimString IALVL_KW
void setAttachmentLevel(const ossimString &value)
static const ossimString NPPBH_KW
static const ossimString ILOC_KW
void setBlocksPerCol(ossim_uint32 blocks)
void setRepresentation(const ossimString &rep)
void setImageSource(const ossimString &value)
void setAquisitionDateTime(const ossimString &value)
static const ossimString ICORDS_KW
static const ossimString NICOM_KW
static const ossimString IMAG_KW
static const ossimString IID2_KW
static const ossimString ISORCE_KW
void setCoordinateSystem(const ossimString &value)
void setCompression(const ossimString &value)
static const ossimString ENCRYP_KW
static const ossimString IDLVL_KW
void setTitle(const ossimString &value)
static const ossimString IC_KW
static const ossimString PVTYPE_KW
static const ossimString IREP_KW
void setJustification(const ossimString &value)

◆ setRepresentation()

void ossimNitfImageHeaderV2_X::setRepresentation ( const ossimString rep)

Definition at line 234 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::setField(), and theRepresentation.

Referenced by setProperty(), ossimNitf20Writer::writeBlockBandSeparate(), ossimNitfWriter::writeBlockBandSeparate(), ossimNitf20Writer::writeBlockBandSequential(), and ossimNitfWriter::writeBlockBandSequential().

235 {
237 }
char theRepresentation[9]
FIELD: IREP.
static void setField(void *fieldDestination, const ossimString &src, std::streamsize width, std::ios_base::fmtflags ioflags=std::ios::left, char fill=' ')
Sets a field with a given string, width, and IOS flags.

◆ setSecurityClassification()

void ossimNitfImageHeaderV2_X::setSecurityClassification ( const ossimString value)

Definition at line 142 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::setField(), and theSecurityClassification.

Referenced by loadState(), and setProperty().

143 {
145 }
char theSecurityClassification[2]
FIELD: ISCLAS.
static void setField(void *fieldDestination, const ossimString &src, std::streamsize width, std::ios_base::fmtflags ioflags=std::ios::left, char fill=' ')
Sets a field with a given string, width, and IOS flags.

◆ setTargetId()

void ossimNitfImageHeaderV2_X::setTargetId ( const ossimString value)

Definition at line 132 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::setField(), and theTargetId.

Referenced by loadState(), and setProperty().

133 {
135 }
char theTargetId[18]
FIELD: TGTID.
static void setField(void *fieldDestination, const ossimString &src, std::streamsize width, std::ios_base::fmtflags ioflags=std::ios::left, char fill=' ')
Sets a field with a given string, width, and IOS flags.

◆ setTitle()

void ossimNitfImageHeaderV2_X::setTitle ( const ossimString value)

Definition at line 137 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::setField(), and theTitle.

Referenced by loadState(), and setProperty().

138 {
140 }
static void setField(void *fieldDestination, const ossimString &src, std::streamsize width, std::ios_base::fmtflags ioflags=std::ios::left, char fill=' ')
Sets a field with a given string, width, and IOS flags.

◆ setUtmNorth()

void ossimNitfImageHeaderV2_X::setUtmNorth ( ossim_uint32  zone,
const ossimDpt ul,
const ossimDpt ur,
const ossimDpt lr,
const ossimDpt ll 
)
virtual

Reimplemented in ossimNitfImageHeaderV2_1.

Definition at line 966 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::encodeUtm(), theCoordinateSystem, and theGeographicLocation.

Referenced by ossimNitfWriterBase::writeGeometry().

971 {
972  theCoordinateSystem[0] = 'N';
973 
974  memcpy(theGeographicLocation,
975  ossimNitfCommon::encodeUtm(zone, ul, ur, lr, ll).c_str(), 60);
976 }
static ossimString encodeUtm(ossim_uint32 zone, const ossimDpt &ul, const ossimDpt &ur, const ossimDpt &lr, const ossimDpt &ll)
This will encode a 60 character IGEOLO field.
char theGeographicLocation[61]
FIELD: IGEOLO.
char theCoordinateSystem[2]
FIELD: ICORDS.

◆ setUtmSouth()

void ossimNitfImageHeaderV2_X::setUtmSouth ( ossim_uint32  zone,
const ossimDpt ul,
const ossimDpt ur,
const ossimDpt lr,
const ossimDpt ll 
)
virtual

Reimplemented in ossimNitfImageHeaderV2_1.

Definition at line 978 of file ossimNitfImageHeaderV2_X.cpp.

References ossimNitfCommon::encodeUtm(), theCoordinateSystem, and theGeographicLocation.

Referenced by ossimNitfWriterBase::writeGeometry().

983 {
984  theCoordinateSystem[0] = 'S';
985 
986  memcpy(theGeographicLocation,
987  ossimNitfCommon::encodeUtm(zone, ul, ur, lr, ll).c_str(), 60);
988 }
static ossimString encodeUtm(ossim_uint32 zone, const ossimDpt &ul, const ossimDpt &ur, const ossimDpt &lr, const ossimDpt &ll)
This will encode a 60 character IGEOLO field.
char theGeographicLocation[61]
FIELD: IGEOLO.
char theCoordinateSystem[2]
FIELD: ICORDS.

Member Data Documentation

◆ ABPP_KW

const ossimString ossimNitfImageHeaderV2_X::ABPP_KW = "ABPP"
static

◆ BMRLNTH_KW

const ossimString ossimNitfImageHeaderV2_X::BMRLNTH_KW = "BMRLNTH"
static

Definition at line 169 of file ossimNitfImageHeaderV2_X.h.

Referenced by saveState().

◆ COMRAT_KW

const ossimString ossimNitfImageHeaderV2_X::COMRAT_KW = "COMRAT"
static

◆ ENCRYP_KW

const ossimString ossimNitfImageHeaderV2_X::ENCRYP_KW = "ENCRYP"
static

◆ IALVL_KW

const ossimString ossimNitfImageHeaderV2_X::IALVL_KW = "IALVL"
static

◆ IC_KW

const ossimString ossimNitfImageHeaderV2_X::IC_KW = "IC"
static

◆ ICAT_KW

const ossimString ossimNitfImageHeaderV2_X::ICAT_KW = "ICAT"
static

◆ ICOM_KW

const ossimString ossimNitfImageHeaderV2_X::ICOM_KW = "ICOM"
static

Definition at line 149 of file ossimNitfImageHeaderV2_X.h.

Referenced by loadState(), and saveState().

◆ ICORDS_KW

const ossimString ossimNitfImageHeaderV2_X::ICORDS_KW = "ICORDS"
static

◆ IDATIM_KW

const ossimString ossimNitfImageHeaderV2_X::IDATIM_KW = "IDATIM"
static

◆ IDLVL_KW

const ossimString ossimNitfImageHeaderV2_X::IDLVL_KW = "IDLVL"
static

◆ IGEOLO_KW

const ossimString ossimNitfImageHeaderV2_X::IGEOLO_KW = "IGEOLO"
static

◆ IID1_KW

const ossimString ossimNitfImageHeaderV2_X::IID1_KW = "IID1"
static

◆ IID2_KW

const ossimString ossimNitfImageHeaderV2_X::IID2_KW = "IID2"
static

◆ ILOC_KW

const ossimString ossimNitfImageHeaderV2_X::ILOC_KW = "ILOC"
static

Definition at line 162 of file ossimNitfImageHeaderV2_X.h.

Referenced by getProperty(), getPropertyNames(), saveState(), and setProperty().

◆ IM_KW

const ossimString ossimNitfImageHeaderV2_X::IM_KW = "IM"
static

Definition at line 130 of file ossimNitfImageHeaderV2_X.h.

Referenced by saveState().

◆ IMAG_KW

const ossimString ossimNitfImageHeaderV2_X::IMAG_KW = "IMAG"
static

Definition at line 163 of file ossimNitfImageHeaderV2_X.h.

Referenced by getProperty(), getPropertyNames(), saveState(), and setProperty().

◆ IMDATOFF_KW

const ossimString ossimNitfImageHeaderV2_X::IMDATOFF_KW = "IMDATOFF"
static

Definition at line 168 of file ossimNitfImageHeaderV2_X.h.

Referenced by saveState().

◆ IMODE_KW

const ossimString ossimNitfImageHeaderV2_X::IMODE_KW = "IMODE"
static

◆ IREP_KW

const ossimString ossimNitfImageHeaderV2_X::IREP_KW = "IREP"
static

◆ ISCLAS_KW

const ossimString ossimNitfImageHeaderV2_X::ISCLAS_KW = "ISCLAS"
static

◆ ISORCE_KW

const ossimString ossimNitfImageHeaderV2_X::ISORCE_KW = "ISORCE"
static

◆ ISYNC_KW

const ossimString ossimNitfImageHeaderV2_X::ISYNC_KW = "ISYNC"
static

◆ ITITLE_KW

const ossimString ossimNitfImageHeaderV2_X::ITITLE_KW = "ITITLE"
static

Definition at line 135 of file ossimNitfImageHeaderV2_X.h.

Referenced by getProperty(), loadState(), and setProperty().

◆ IXSHDL_KW

const ossimString ossimNitfImageHeaderV2_X::IXSHDL_KW = "IXSHDL"
static

Definition at line 166 of file ossimNitfImageHeaderV2_X.h.

Referenced by saveState().

◆ IXSOFL_KW

const ossimString ossimNitfImageHeaderV2_X::IXSOFL_KW = "IXSOFL"
static

Definition at line 167 of file ossimNitfImageHeaderV2_X.h.

Referenced by saveState().

◆ NBANDS_KW

const ossimString ossimNitfImageHeaderV2_X::NBANDS_KW = "NBANDS"
static

Definition at line 152 of file ossimNitfImageHeaderV2_X.h.

Referenced by ossimNitfImageHeaderV2_1::loadState(), and saveState().

◆ NBPC_KW

const ossimString ossimNitfImageHeaderV2_X::NBPC_KW = "NBPC"
static

Definition at line 156 of file ossimNitfImageHeaderV2_X.h.

Referenced by getProperty(), getPropertyNames(), saveState(), and setProperty().

◆ NBPP_KW

const ossimString ossimNitfImageHeaderV2_X::NBPP_KW = "NBPP"
static

◆ NBPR_KW

const ossimString ossimNitfImageHeaderV2_X::NBPR_KW = "NBPR"
static

Definition at line 155 of file ossimNitfImageHeaderV2_X.h.

Referenced by getProperty(), getPropertyNames(), saveState(), and setProperty().

◆ NCOLS_KW

const ossimString ossimNitfImageHeaderV2_X::NCOLS_KW = "NCOLS"
static

Definition at line 140 of file ossimNitfImageHeaderV2_X.h.

Referenced by loadState(), and saveState().

◆ NICOM_KW

const ossimString ossimNitfImageHeaderV2_X::NICOM_KW = "NICOM"
static

◆ NPPBH_KW

const ossimString ossimNitfImageHeaderV2_X::NPPBH_KW = "NPPBH"
static

Definition at line 157 of file ossimNitfImageHeaderV2_X.h.

Referenced by getProperty(), getPropertyNames(), saveState(), and setProperty().

◆ NPPBV_KW

const ossimString ossimNitfImageHeaderV2_X::NPPBV_KW = "NPPBV"
static

Definition at line 158 of file ossimNitfImageHeaderV2_X.h.

Referenced by getProperty(), getPropertyNames(), saveState(), and setProperty().

◆ NROWS_KW

const ossimString ossimNitfImageHeaderV2_X::NROWS_KW = "NROWS"
static

Definition at line 139 of file ossimNitfImageHeaderV2_X.h.

Referenced by loadState(), and saveState().

◆ PJUST_KW

const ossimString ossimNitfImageHeaderV2_X::PJUST_KW = "PJUST"
static

◆ PVTYPE_KW

const ossimString ossimNitfImageHeaderV2_X::PVTYPE_KW = "PVTYPE"
static

◆ TGTID_KW

const ossimString ossimNitfImageHeaderV2_X::TGTID_KW = "TGTID"
static

◆ theActualBitsPerPixelPerBand

char ossimNitfImageHeaderV2_X::theActualBitsPerPixelPerBand[3]
protected

◆ theAttachmentLevel

char ossimNitfImageHeaderV2_X::theAttachmentLevel[4]
protected

FIELD: IALVL.

Attachment Level

Required 3 byte field. Ranges from 000-998

This field shall contain a valid value that indicates the attachment level of the image. Valid values for this field are 0, and the display level value of any other image or graphic in the file. The meaning of attachment level is fully discussed in paragraph 5.3.4. The image, graphic, or text component in the file having the minimum display level shall have attachment level 0.

Definition at line 689 of file ossimNitfImageHeaderV2_X.h.

Referenced by ossimNitfImageHeaderV2_0::clearFields(), ossimNitfImageHeaderV2_1::clearFields(), getAttachmentLevel(), getProperty(), ossimNitfImageHeaderV2_0::parseStream(), ossimNitfImageHeaderV2_0::print(), ossimNitfImageHeaderV2_1::print(), saveState(), setAttachmentLevel(), ossimNitfImageHeaderV2_1::writeStream(), and ossimNitfImageHeaderV2_0::writeStream().

◆ theBlockedImageDataOffset

ossim_uint32 ossimNitfImageHeaderV2_X::theBlockedImageDataOffset
protected

FIELD NAME: IMDATOFF.

Blocked Image Data Offset.

4 byte Binary integer: 0x00000000 to 0xFFFFFFFF

This field is included if the IC value equals NM, M1, M3, M4, or M5. It identifies the offset from the beginning of the Image Data Mask to the first byte of the blocked image data. This offset, when used in combination with the offsets provided in the BMR fields, can provide random access to any recorded image block in any image band.

Definition at line 847 of file ossimNitfImageHeaderV2_X.h.

Referenced by ossimNitfImageHeaderV2_0::clearFields(), ossimNitfImageHeaderV2_1::clearFields(), ossimNitfImageHeaderV2_0::parseStream(), ossimNitfImageHeaderV2_1::print(), and saveState().

◆ theBlockMaskRecordLength

ossim_uint16 ossimNitfImageHeaderV2_X::theBlockMaskRecordLength
protected

FIELD NAME: BMRLNTH.

Block Mask Record Length.

2 byte Unsigned binary integer 0x0000=No Block mask record; 0x0004=Block mask records (4 bytes each) are present
This field is included if the IC value equals NM, M1, M3, M4, or M5. It identifies the length of each Block Mask Record in bytes. When present, the length of each Block Mask Record is 4 bytes. The total length of all the block Mask Records is equal to

For S mode BMRLNTH x NBPR x NBPC x NBANDS (one 4 byte record for each block of each band in the image). and for all other modes BMRLNTH x NBPR x NBPC

If all of the image blocks are recorded, this value may be set to 0, and the conditional BMR fields are not recorded/transmitted. Otherwise, the value may be set to 4, and the conditional BMR fields are recorded/transmitted and can be used as an off-set index for each image block in each band of the image. If this field is present, but coded as 0, then only a pad pixel mask is included.

Definition at line 877 of file ossimNitfImageHeaderV2_X.h.

Referenced by ossimNitfImageHeaderV2_0::clearFields(), ossimNitfImageHeaderV2_1::clearFields(), ossimNitfImageHeaderV2_0::parseStream(), ossimNitfImageHeaderV2_1::print(), and saveState().

◆ theBlockMaskRecords

std::vector<ossim_uint32> ossimNitfImageHeaderV2_X::theBlockMaskRecords
protected

◆ theCategory

char ossimNitfImageHeaderV2_X::theCategory[9]
protected

FIELD: ICAT.

This is a required 8 byte field. Contains info about the specific category of the image.

VIS visible imagery SL side looking infrared TI thermal infrared FL forward looking infrared RD radar EO elctro-optical OP optical HR high resolution radar HS hyperspectral CP color frame photography BP black/white frame photography SAR Synthetic Aperture Radar SARIQ SAR radio hologram IR infrared. MS multispectral FP fingerprints MRI Magnetic Resonance imagery XRAY x-rays CAT cat scans MAP maps PAT patch LEG legends DTEM elevation models MATR matrix data LOCG location grids VD video

default value is VIS

Definition at line 345 of file ossimNitfImageHeaderV2_X.h.

Referenced by ossimNitfImageHeaderV2_0::clearFields(), ossimNitfImageHeaderV2_1::clearFields(), ossimNitfImageHeaderV2_1::getCategory(), ossimNitfImageHeaderV2_0::getCategory(), getCategory(), getProperty(), ossimNitfImageHeaderV2_0::parseStream(), ossimNitfImageHeaderV2_1::print(), ossimNitfImageHeaderV2_0::print(), saveState(), setCategory(), ossimNitfImageHeaderV2_1::writeStream(), and ossimNitfImageHeaderV2_0::writeStream().

◆ theCompression

char ossimNitfImageHeaderV2_X::theCompression[3]
protected

FIELD: IC.

This is a required 2 byte field and indicates the compression type of the image.

NC indicates not compressed C1 indicates bi-level C2 indicates ARIDPCM C3 inidates JPEG C4 inidcates Vector Quantization C5 indicates lossless jpeg I1 indicates a downsampled jpeg M0 indicates compressed images M3 indicates compressed images M4 indicates compressed images M5 indicates compression NM indicates uncompressed

The M's and NM are blocked images that contain block mask and/or transparent pixel mask. There will be an Image Data Mask Subheader ath the beginning of the image data area.

Definition at line 446 of file ossimNitfImageHeaderV2_X.h.

Referenced by ossimNitfImageHeaderV2_0::clearFields(), ossimNitfImageHeaderV2_1::clearFields(), getCompressionCode(), getProperty(), ossimNitfImageHeaderV2_1::isCompressed(), ossimNitfImageHeaderV2_0::isCompressed(), ossimNitfImageHeaderV2_0::parseStream(), ossimNitfImageHeaderV2_1::print(), ossimNitfImageHeaderV2_0::print(), saveState(), setCompression(), ossimNitfImageHeaderV2_1::writeStream(), and ossimNitfImageHeaderV2_0::writeStream().

◆ theCompressionHeader

ossimRefPtr<ossimNitfCompressionHeader> ossimNitfImageHeaderV2_X::theCompressionHeader
protected

◆ theCompressionRateCode

char ossimNitfImageHeaderV2_X::theCompressionRateCode[5]
protected

FIELD COMRAT.

This is a conditional 4 byte field. if theCompression is not equal to NC then this field exists.

Compression Rate Code.

If the Image Compression (IC) field contains, C1, C4, M1, or M4, this field shall be present and contain a code indicating the compression rate for the image. If the value in IC is C1 or M1, the valid codes are 1D, 2DS, and 2DH, where: 1D represents One-dimensional Coding 2DS represents Two-dimensional Coding Standard Vertical Resolution (K=2) 2DH represents Two-dimensional Coding High Vertical Resolution (K=4)

A BCS zero (0x30) will be used for the Y value when custom Q-Tables are used. Explanation of these codes can be found in ITU-T T-4, AMD2 08/95.

If the value in IC is C3, C5, I1, or M5, the value of this field shall be 00.0. The value 00.0 represents embedded tables and is required by JPEG. Explanation of embedded tables can be found in MIL-STD-188-198A and NIMA N0105-97. If the value in IC is C4 or M4, this field shall contain a value given in the form nn.n representing the number of bits-per-pixel for the compressed image. Explanation of the compression rate for vector quantization can be found in MIL-STD-188-199. This field is omitted if the value in IC is NC or NM. If IC = I1, value = 00.0. 4 BCS-A See description for constraints C

Definition at line 485 of file ossimNitfImageHeaderV2_X.h.

Referenced by ossimNitfImageHeaderV2_0::clearFields(), ossimNitfImageHeaderV2_1::clearFields(), getCompressionRateCode(), getProperty(), ossimNitfImageHeaderV2_0::parseStream(), ossimNitfImageHeaderV2_0::print(), ossimNitfImageHeaderV2_1::print(), saveState(), setCompressionRateCode(), ossimNitfImageHeaderV2_1::writeStream(), and ossimNitfImageHeaderV2_0::writeStream().

◆ theCoordinateSystem

char ossimNitfImageHeaderV2_X::theCoordinateSystem[2]
protected

◆ theDataLocation

ossim_uint64 ossimNitfImageHeaderV2_X::theDataLocation
protected

◆ theDateTime

char ossimNitfImageHeaderV2_X::theDateTime[15]
protected

◆ theDisplayLevel

char ossimNitfImageHeaderV2_X::theDisplayLevel[4]
protected

FIELD: IDLVL.

Display Level.

Required 3 byte field. Ranges from 001-999

This field shall contain a valid value that indicates the graphic display level of the image relative to other displayed file components in a composite display. The display level of each displayable file component (image or graphic) within a file shall be unique; that is, each number from 001 to 999 is the display level of, at most, one item. The meaning of display level is fully discussed in paragraph 5.3.3. The image or graphic component in the file having the minimum display level shall have attachment level 0.

Definition at line 669 of file ossimNitfImageHeaderV2_X.h.

Referenced by ossimNitfImageHeaderV2_0::clearFields(), ossimNitfImageHeaderV2_1::clearFields(), getDisplayLevel(), getProperty(), ossimNitfImageHeaderV2_0::parseStream(), ossimNitfImageHeaderV2_0::print(), ossimNitfImageHeaderV2_1::print(), saveState(), setDisplayLevel(), ossimNitfImageHeaderV2_1::writeStream(), and ossimNitfImageHeaderV2_0::writeStream().

◆ theEncryption

char ossimNitfImageHeaderV2_X::theEncryption[2]
protected

◆ theExtendedSubheaderDataLen

char ossimNitfImageHeaderV2_X::theExtendedSubheaderDataLen[6]
protected

FIELD: IXSHDL.

Is a required 5 byte field. 00000 or 00003-99999

Extended Subheader Data Length. This field shall contain the length in bytes in IXSHD plus 3 (length of IXSOFL). The length is 3 plus sum of the lengths of all the tagged record extensions (see paragraph 5.7.1.2) appearing in the IXSHD field. A value of BCS zeros (0x30) shall represent that no tagged record extensions are included in the IXSHD field. If a tagged record extension exists, the field shall contain the sum of the length of all the tagged record extensions (see paragraph 5.7.1.2) appearing in the IXSHD field plus 3 bytes (length of IXSOFL field). If a tagged record extension is too long to fit in the IXSHD field, it shall may be put in a data extension segment (see paragraph 5.7.1.4).

Definition at line 800 of file ossimNitfImageHeaderV2_X.h.

Referenced by ossimNitfImageHeaderV2_0::clearFields(), ossimNitfImageHeaderV2_1::clearFields(), ossimNitfImageHeaderV2_0::parseStream(), ossimNitfImageHeaderV2_0::print(), ossimNitfImageHeaderV2_1::print(), saveState(), ossimNitfImageHeaderV2_1::takeOverflowTags(), ossimNitfImageHeaderV2_1::writeStream(), and ossimNitfImageHeaderV2_0::writeStream().

◆ theExtendedSubheaderOverflow

char ossimNitfImageHeaderV2_X::theExtendedSubheaderOverflow[4]
protected

FIELD: IXSOFL.

Is a conditional 3 byte field. This depends on theExtendedSubheaderDataLen not being 0.

Extended Subheader Data. If present, this field shall contain tagged record extensions (see paragraph 5.8.1.2) approved and under configuration management by the ISMC. The length of this field shall be the length specified by the field IXSHDL minus 3. Tagged record extensions in this field for an image shall contain information pertaining specifically to the image. Tagged record extensions shall appear one after the other in this field with no intervening bytes. The first byte of this field shall be the first byte of the first tagged record extension appearing in the field. The last byte of this field shall be the last byte of the last tagged record extension to appear in the field. This field shall be omitted if the field IXSHDL contains 0.

Definition at line 826 of file ossimNitfImageHeaderV2_X.h.

Referenced by ossimNitfImageHeaderV2_0::clearFields(), ossimNitfImageHeaderV2_1::clearFields(), ossimNitfImageHeaderV2_0::parseStream(), ossimNitfImageHeaderV2_0::print(), ossimNitfImageHeaderV2_1::print(), saveState(), ossimNitfImageHeaderV2_1::takeOverflowTags(), ossimNitfImageHeaderV2_1::writeStream(), and ossimNitfImageHeaderV2_0::writeStream().

◆ theGeographicLocation

char ossimNitfImageHeaderV2_X::theGeographicLocation[61]
protected

FIELD: IGEOLO.

This is a conditional field. If theCoordinateSystem is blank then it does not exist. If it's any other value then it's given in image coordinate order

(0, 0) (0, MaxCol) (MaxRow, MaxCol) (MaxRow, 0)

if its geodetic or geocentric it will have a lat lon coordinate with each coordinate as: Lat = ddmmssX where d is degrees and m is minutes and s is seconds and X is either N (North) or S (South). Lon = dddmmssX where d is degrees and m is minutes and s is seconds and X is either N (North) or S (South).

if its UTM then zzeeeeeennnnnnn where

z is the zone number e is the easting n is the northing

if its decimal degrees then +-dd.ddd +-dd.ddd four times where

  • is northern hemispher and - is souther hemisphere for lat and longitude + is easting and - is westing.

Definition at line 419 of file ossimNitfImageHeaderV2_X.h.

Referenced by ossimNitfImageHeaderV2_0::clearFields(), ossimNitfImageHeaderV2_1::clearFields(), getGeographicLocation(), ossimNitfImageHeaderV2_1::getGeographicLocation(), getProperty(), ossimNitfImageHeaderV2_0::parseStream(), ossimNitfImageHeaderV2_1::print(), ossimNitfImageHeaderV2_0::print(), saveState(), setGeographicLocation(), ossimNitfImageHeaderV2_1::setGeographicLocationDecimalDegrees(), setGeographicLocationDecimalDegrees(), ossimNitfImageHeaderV2_1::setUtmNorth(), setUtmNorth(), ossimNitfImageHeaderV2_1::setUtmSouth(), setUtmSouth(), ossimNitfImageHeaderV2_1::writeStream(), and ossimNitfImageHeaderV2_0::writeStream().

◆ theImageComments

std::vector<ossimString> ossimNitfImageHeaderV2_X::theImageComments
protected

◆ theImageId

char ossimNitfImageHeaderV2_X::theImageId[11]
protected

◆ theImageLocation

char ossimNitfImageHeaderV2_X::theImageLocation[11]
protected

FIELD: ILOC.

Required 10 byte field.

Image Location. The image location is the location of the first pixel of the first line of the image. This field shall contain the image location represented as rrrrrccccc, where rrrrr and ccccc are the row and column offset from the ILOC or SLOC value of the item to which the image is attached. A row or column value of 00000 indicates no offset. Positive row and column values indicate offsets down and to the right and range from 00001 to 99999, while negative row and column values indicate offsets up and to the left and must be within the range -0001 to -9999. The location in the common coordinate system of all displayable graphic components can be computed from the offsets given in the ILOC and SLOC fields. 10 BCS-N -9999

Definition at line 713 of file ossimNitfImageHeaderV2_X.h.

Referenced by ossimNitfImageHeaderV2_0::clearFields(), ossimNitfImageHeaderV2_1::clearFields(), getBlockImageRect(), getImageLocation(), getImageRect(), getProperty(), ossimNitfImageHeaderV2_0::parseStream(), ossimNitfImageHeaderV2_0::print(), ossimNitfImageHeaderV2_1::print(), saveState(), ossimNitfImageHeaderV2_1::writeStream(), and ossimNitfImageHeaderV2_0::writeStream().

◆ theImageMagnification

char ossimNitfImageHeaderV2_X::theImageMagnification[5]
protected

FIELD: IMAG.

Required 4 byte field

Image Magnification.

This field shall contain the magnification (or reduction) factor of the image relative to the original source image. Decimal values are used to indicate magnification, and decimal fraction values indicate reduction. For example, 2.30 indicates the original image has been magnified by a factor of Ò2.30,Ó while Ò0.5Ó indicates the original image has been reduced by a factor of 2. The default value is 1.0, indicating no magnification or reduction. In addition, the following values shall be used for reductions that are reciprocals of nonnegative powers of 2: /2 (for 1/2), /4 (for 1/4), /8 (for 1/8), /16 (for 1/16), /32 (for 1/32), /64 (for 1/64), /128 (for 1/128). 4 BCS-A /2, /4, /8, /16, /32, /64, /128 or decimal value (Default is 1.0 followed by BCS space (0x20)) R

Definition at line 741 of file ossimNitfImageHeaderV2_X.h.

Referenced by ossimNitfImageHeaderV2_0::clearFields(), ossimNitfImageHeaderV2_1::clearFields(), getImageMagnification(), getProperty(), ossimNitfImageHeaderV2_0::parseStream(), ossimNitfImageHeaderV2_0::print(), ossimNitfImageHeaderV2_1::print(), saveState(), ossimNitfImageHeaderV2_1::setImageMagnification(), ossimNitfImageHeaderV2_1::writeStream(), and ossimNitfImageHeaderV2_0::writeStream().

◆ theImageMode

char ossimNitfImageHeaderV2_X::theImageMode[2]
protected

FIELD: IMODE.

Required 1 byte field.

Image Mode. This field shall contain an indicator of whether the image bands are stored in the file sequentially or band interleaved by block or band interleaved by pixel format or band interleaved by row.

Valid values are B, P, R, and S. The significance of the IMODE value must be interpreted with the knowledge of whether the image is: JPEG compressed (IC=C3, C5, M3, or M5), VQ compressed (IC=C4, or M4), or uncompressed (IC=NC or NM). When IC=C1 or M1, the use of IMODE defaults to B. When IC=I1, IMODE is B.

For the uncompressed case: The value R represents band interleaved by row, where the ordering mechanism stores the pixel values of each band in row sequential order. Within each block, all pixel values of the first row of the first band are followed by pixel values of the first row of the second band continuing until all values of the first row are stored. The remaining rows are stored in a similar fashion until the last row of values has been stored. Each block shall be zero filled to the next octet boundary when necessary. The value S represents band sequential, where all blocks for the first band are followed by all blocks for the second band, and so on: [(block1, band1), (block2, band1), ... (blockM, band1)], [(block1, band2), (block2, band 2), ... (blockM, band2)] ... [(block1, bandN), (block2, bandN), ... (blockM, bandN)].

The values B and P indicate variations on block sequential where all data from all bands for the first block is followed by all data from all bands for the second block, and so on. The variations are based on the way the bands are organized within each block. B represents band interleaved by block.

This means that within each block, the bands follow one 1 BCS-A B, P, R, S R

another: [(block1, band1), (block1, band2), ... (block1, bandN)], [(block2, band1), (block2, band2), ... (block2, bandN)], ... [(blockM, band1), (blockM, band2), ... (blockM, bandN)].

P represents band interleaved by pixel within each block: such as, for each block, one after the other, the full pixel vector (all band values) appears for every pixel in the block, one pixel after another, the block column index varying faster than the block row index. If the NBANDS field is 1, the cases B and S coincide. In this case, this field shall contain B. If the Number of Blocks is 1(NBPR = NBPC = 1), this field shall contain B for non-interleaved by pixel, and P for interleaved by pixel. The value S is only valid for images with multiple blocks and multiple bands. For the JPEG-compressed case: The presence of B, P, or S implies specific ordering of data within the JPEG image data representation. The interpretation of the values of IMODE for this case is specified in MIL-STD188-198A.

For the Vector Quantization compressed case: VQ compressed images are normally either RGB with a color look-up table or monochromatic. In either case, the image is single band, and the IMODE field defaults to B. However, it is possible to have a multiband VQ compressed image in band sequential, band interleaved by block, or band interleaved by pixel format.

Definition at line 599 of file ossimNitfImageHeaderV2_X.h.

Referenced by ossimNitfImageHeaderV2_0::clearFields(), ossimNitfImageHeaderV2_1::clearFields(), ossimNitfImageHeaderV2_0::getBlockMaskRecordOffset(), ossimNitfImageHeaderV2_1::getBlockMaskRecordOffset(), getImageMode(), ossimNitfImageHeaderV2_1::getIMode(), ossimNitfImageHeaderV2_0::getIMode(), ossimNitfImageHeaderV2_0::getPadPixelMaskRecordOffset(), ossimNitfImageHeaderV2_1::getPadPixelMaskRecordOffset(), getProperty(), ossimNitfImageHeaderV2_0::parseStream(), ossimNitfImageHeaderV2_1::print(), ossimNitfImageHeaderV2_0::print(), saveState(), setImageMode(), ossimNitfImageHeaderV2_1::writeStream(), and ossimNitfImageHeaderV2_0::writeStream().

◆ theImageSource

char ossimNitfImageHeaderV2_X::theImageSource[43]
protected

◆ theImageSyncCode

char ossimNitfImageHeaderV2_X::theImageSyncCode[2]
protected

◆ theJustification

char ossimNitfImageHeaderV2_X::theJustification[2]
protected

FIELD: PJUST.

Is 1 byte optional field. Can have values L (left) or R (right). Any other value is to interpreted as right justified.

This indicates how the significant bits are justified in the field

Definition at line 357 of file ossimNitfImageHeaderV2_X.h.

Referenced by ossimNitfImageHeaderV2_0::clearFields(), ossimNitfImageHeaderV2_1::clearFields(), getJustification(), getProperty(), ossimNitfImageHeaderV2_0::parseStream(), ossimNitfImageHeaderV2_0::print(), ossimNitfImageHeaderV2_1::print(), saveState(), setJustification(), ossimNitfImageHeaderV2_1::writeStream(), and ossimNitfImageHeaderV2_0::writeStream().

◆ theNumberOfBands

char ossimNitfImageHeaderV2_X::theNumberOfBands[2]
protected

FIELD: NBANDS.

Is required 1 byte field and will have value 1-9

If theRepresentation is MONO this should be 1 if theRepresentation is RGB this should be 3 if theRepresentation is RGB/LUT this should be 1 if theRepresentation YCbCr601 this should be 3 if theRepresentation is MULTI this should be 2-9

if this field is 0 then it's multi spectral data larger than 9

Definition at line 501 of file ossimNitfImageHeaderV2_X.h.

Referenced by ossimNitfImageHeaderV2_0::clearFields(), ossimNitfImageHeaderV2_1::clearFields(), ossimNitfImageHeaderV2_1::getNumberOfBands(), ossimNitfImageHeaderV2_0::getNumberOfBands(), ossimNitfImageHeaderV2_0::parseStream(), ossimNitfImageHeaderV2_1::print(), ossimNitfImageHeaderV2_0::print(), saveState(), ossimNitfImageHeaderV2_1::setNumberOfBands(), ossimNitfImageHeaderV2_1::writeStream(), and ossimNitfImageHeaderV2_0::writeStream().

◆ theNumberOfBitsPerPixelPerBand

char ossimNitfImageHeaderV2_X::theNumberOfBitsPerPixelPerBand[3]
protected

FIELD: NBPP.

Required 2 byte field.

Number of Bits Per Pixel Per Band. If IC contains NC, NM, C4, or M4, this field shall contain the number of storage bits used for the value from each component of a pixel vector. The value in this field always shall be greater than or equal to Actual Bits Per Pixel (ABPP). For example, if 11-bit pixels are stored in 16 bits, this field shall contain 16 and Actual Bits Per Pixel shall contain 11. If IC = C3, M3, C5, M5, or I1 this field shall contain the value 8 or the value 12. If IC = C1, this field shall contain the value 1. 2 BCS-N 01-96 R

Definition at line 646 of file ossimNitfImageHeaderV2_X.h.

Referenced by ossimNitfImageHeaderV2_0::clearFields(), ossimNitfImageHeaderV2_1::clearFields(), getBitsPerPixel(), ossimNitfImageHeaderV2_1::getBitsPerPixelPerBand(), ossimNitfImageHeaderV2_0::getBitsPerPixelPerBand(), getProperty(), ossimNitfImageHeaderV2_0::parseStream(), ossimNitfImageHeaderV2_1::print(), ossimNitfImageHeaderV2_0::print(), saveState(), setBitsPerPixel(), ossimNitfImageHeaderV2_1::writeStream(), and ossimNitfImageHeaderV2_0::writeStream().

◆ theNumberOfBlocksPerCol

char ossimNitfImageHeaderV2_X::theNumberOfBlocksPerCol[5]
protected

◆ theNumberOfBlocksPerRow

char ossimNitfImageHeaderV2_X::theNumberOfBlocksPerRow[5]
protected

◆ theNumberOfComments

char ossimNitfImageHeaderV2_X::theNumberOfComments[2]
protected

◆ theNumberOfPixelsPerBlockHoriz

char ossimNitfImageHeaderV2_X::theNumberOfPixelsPerBlockHoriz[5]
protected

◆ theNumberOfPixelsPerBlockVert

char ossimNitfImageHeaderV2_X::theNumberOfPixelsPerBlockVert[5]
protected

◆ thePadOutputPixelCode

ossim_uint16 ossimNitfImageHeaderV2_X::thePadOutputPixelCode
protected

FIELD: TPXCD.

Pad Output Pixel Code.

This field is included if the IC value equals NM, M1, M3, M4, M5, M0 and TPXCDLNTH is not 0. It contains the output pixel code that represents a pad pixel in the image. This value is unique within the image, and allows the user to identify pad pixels. The pad output pixel code length is determined by TPXCDLNTH, but the value is stored in a maximum of 2 bytes. If the number of bits used by TPXCD is less than the number of bits available for storage, the value shall be justified in accordance with the PJUST field in the image subheader.   3A Binary integer; 0 to 2^n -1 where n=TPXCDLNTH

Definition at line 937 of file ossimNitfImageHeaderV2_X.h.

Referenced by ossimNitfImageHeaderV2_0::clearFields(), ossimNitfImageHeaderV2_1::clearFields(), ossimNitfImageHeaderV2_0::getTransparentCode(), ossimNitfImageHeaderV2_1::getTransparentCode(), ossimNitfImageHeaderV2_0::parseStream(), and ossimNitfImageHeaderV2_1::print().

◆ thePadPixelMaskRecordLength

ossim_uint16 ossimNitfImageHeaderV2_X::thePadPixelMaskRecordLength
protected

FIELD: TMRLNTH.

Pad Pixel Mask Record Length.

2 byte Unsigned binary integer a value of 0x0000=No Pad pixel mask records and 0x0004=Pad pixel mask records (4 bytes each) are present

This field is included if the IC value equals NM, M1, M3, M4, or M5 It identifies the length of each Pad Pixel Mask Record in bytes. When present, the length of each Pad Pixel Mask Record is 4 bytes. The total length of the Pad Pixel Mask Records is equal to

For image mode S then TMRLNTH x NBPR x NBPC x NBANDS (one 4 byte record for each block for each band in the image). else for all other modes TMRLNTH x NBPR x NBPC

If none of the image blocks contain pad pixels, this value is set to 0, and the conditional TMR fields are not recorded/transmitted. For IC value of M3, the value shall be set to 0. If this field is present, but coded as 0, then a Block Mask is included.

Definition at line 902 of file ossimNitfImageHeaderV2_X.h.

Referenced by ossimNitfImageHeaderV2_0::clearFields(), ossimNitfImageHeaderV2_1::clearFields(), ossimNitfImageHeaderV2_0::parseStream(), and ossimNitfImageHeaderV2_1::print().

◆ thePadPixelMaskRecords

std::vector<ossim_uint32> ossimNitfImageHeaderV2_X::thePadPixelMaskRecords
protected

◆ thePixelValueType

char ossimNitfImageHeaderV2_X::thePixelValueType[4]
protected

FIELD: PVTYPE.

Required 3 byte value. Values:

INT integer 16 bits B for bi-level represented as single bits 1 or 0 SI signend 16 bit integer R 32 bit float C for complex (32 bit float real part, 32 bit float imag part) Adjacent 4 byte blocks U for user defined.

Definition at line 280 of file ossimNitfImageHeaderV2_X.h.

Referenced by ossimNitfImageHeaderV2_0::clearFields(), ossimNitfImageHeaderV2_1::clearFields(), getPixelType(), ossimNitfImageHeaderV2_1::getPixelValueType(), ossimNitfImageHeaderV2_0::getPixelValueType(), getProperty(), loadState(), ossimNitfImageHeaderV2_0::parseStream(), ossimNitfImageHeaderV2_0::print(), ossimNitfImageHeaderV2_1::print(), saveState(), setPixelType(), ossimNitfImageHeaderV2_1::writeStream(), and ossimNitfImageHeaderV2_0::writeStream().

◆ theRepresentation

char ossimNitfImageHeaderV2_X::theRepresentation[9]
protected

FIELD: IREP.

This is required 8 byte field.

Values:

MONO indicates monnochrome RGB indicates true color red green blue RGB/LUT indicates RGB lookup table. 1D indicates monoband data. 2D indicates for 2 dimensional data NM indicates multidimensional data MULTI indicates multiband imgery YCbCr601 indicates compressed in CCIR 601 color space using JPEG (field IC=C3)

Definition at line 299 of file ossimNitfImageHeaderV2_X.h.

Referenced by ossimNitfImageHeaderV2_0::clearFields(), ossimNitfImageHeaderV2_1::clearFields(), getProperty(), ossimNitfImageHeaderV2_1::getRepresentation(), ossimNitfImageHeaderV2_0::getRepresentation(), getRepresentation(), loadState(), ossimNitfImageHeaderV2_0::parseStream(), ossimNitfImageHeaderV2_1::print(), ossimNitfImageHeaderV2_0::print(), saveState(), setRepresentation(), ossimNitfImageHeaderV2_1::writeStream(), and ossimNitfImageHeaderV2_0::writeStream().

◆ theSecurityClassification

char ossimNitfImageHeaderV2_X::theSecurityClassification[2]
protected

◆ theSignificantCols

char ossimNitfImageHeaderV2_X::theSignificantCols[9]
protected

◆ theSignificantRows

char ossimNitfImageHeaderV2_X::theSignificantRows[9]
protected

◆ theTargetId

char ossimNitfImageHeaderV2_X::theTargetId[18]
protected

◆ theTitle

char ossimNitfImageHeaderV2_X::theTitle[81]
protected

◆ theTransparentOutputPixelCodeLength

ossim_uint16 ossimNitfImageHeaderV2_X::theTransparentOutputPixelCodeLength
protected

FIELD: TPXCDLNTH.

Transparent Output Pixel Code Length.

2 byte Unsigned binary integer; 0x0000=No pad pixels; 0x0001 to 0x0010=pad pixel code length in bits

This field is included if the IC value equals NM, M1, M3, M4, M5. It identifies the length in bits of the Transparent Output Pixel Code. If coded as 0, then no transparent pixels are present, and the TPXCD field is not recorded. For IC value of M3, the value shall be set to 0..

Definition at line 919 of file ossimNitfImageHeaderV2_X.h.

Referenced by ossimNitfImageHeaderV2_0::clearFields(), ossimNitfImageHeaderV2_1::clearFields(), ossimNitfImageHeaderV2_0::hasTransparentCode(), ossimNitfImageHeaderV2_1::hasTransparentCode(), ossimNitfImageHeaderV2_0::parseStream(), and ossimNitfImageHeaderV2_1::print().

◆ theType

char ossimNitfImageHeaderV2_X::theType[3]
protected

◆ theUserDefinedImageDataLength

char ossimNitfImageHeaderV2_X::theUserDefinedImageDataLength[6]
protected

FIELD: UDIDL.

Required 5 byte field. 00000 or 00003-99999

User Defined Image Data Length. A value of 0 shall represent that no tagged record extensions are included in the UDID field. If a tagged record extension exists, the field shall contain the sum of the length of all the tagged record extensions (see paragraph 5.7.l.l) appearing in the UDID field plus 3 bytes (length of UDOFL field). If a tagged record extension is too long to fit in the UDID field, it may be put in a data extension segment (see paragraph 5.8.1.3.1.)

Definition at line 760 of file ossimNitfImageHeaderV2_X.h.

Referenced by ossimNitfImageHeaderV2_0::clearFields(), ossimNitfImageHeaderV2_1::clearFields(), ossimNitfImageHeaderV2_0::parseStream(), ossimNitfImageHeaderV2_0::print(), ossimNitfImageHeaderV2_1::print(), saveState(), ossimNitfImageHeaderV2_1::takeOverflowTags(), ossimNitfImageHeaderV2_1::writeStream(), and ossimNitfImageHeaderV2_0::writeStream().

◆ theUserDefinedOverflow

char ossimNitfImageHeaderV2_X::theUserDefinedOverflow[4]
protected

FIELD: UDOFL.

conditional 3 byte field. if theUserDefinedImageDataLength is not 0

User Defined Overflow. If present, this field shall contain 000 if the tagged record extensions in UDID do not overflow into a DES, or shall contain the sequence number of the DES into which they do overflow. This field shall be omitted if the field UDIDL contains BCS zeros (0x30).

Definition at line 777 of file ossimNitfImageHeaderV2_X.h.

Referenced by ossimNitfImageHeaderV2_0::clearFields(), ossimNitfImageHeaderV2_1::clearFields(), ossimNitfImageHeaderV2_0::parseStream(), ossimNitfImageHeaderV2_0::print(), ossimNitfImageHeaderV2_1::print(), saveState(), ossimNitfImageHeaderV2_1::takeOverflowTags(), ossimNitfImageHeaderV2_1::writeStream(), and ossimNitfImageHeaderV2_0::writeStream().

◆ UDIDL_KW

const ossimString ossimNitfImageHeaderV2_X::UDIDL_KW = "UDIDL"
static

Definition at line 164 of file ossimNitfImageHeaderV2_X.h.

Referenced by saveState().

◆ UDOFL_KW

const ossimString ossimNitfImageHeaderV2_X::UDOFL_KW = "UDOFL"
static

Definition at line 165 of file ossimNitfImageHeaderV2_X.h.

Referenced by saveState().


The documentation for this class was generated from the following files: