Welcome to the Harris Geospatial product documentation center. Here you will find reference guides, help documents, and product libraries.

Harris Geospatial / Docs Center / Using ENVI / ENVI NITF / NITF/NSIF Background

NITF/NSIF Background

NITF/NSIF Background

NITF/NSIF Background

The National Imagery Transmission Format (NITF) standard is a raster format defined by the NITF Standards Technical Board. The Joint Interoperability Test Command (JITC) certifies systems implementing the NITF format for compliance with the standard. The NITF/NSIF Module provides JITC-compliant support for the NITF file format and it is required for compliant NITF support in ENVI. The ENVI 5.0 NITF/NSIF Module was tested by the JITC and has been certified to complexity level 7 for NITF 2.1 and complexity level 6 for NITF 2.0 (the highest for each format). ENVI 5.1 is in compliance with these standards.

Contact the JITC for detailed information about the NITF certification program, including functional read/write breakdown and testing anomalies.

The NITF/NSIF Module requires a separate license. Please contact your sales representative.

A valid NITF dataset provides a main header identifying the file as a NITF dataset and describing the contents of the file. The header is usually followed by one or more data segments. Each data segment consists of a segment subheader identifying the type and properties of the data, followed by the data itself.

See the following sections:

Also see Background on NITF Tagged Record Extensions and Background on PIA TREs.

Main Header

A NITF dataset may contain any or all types of segments available for that version, but every NITF dataset must contain a main header. The main NITF header describes the entire file, including origination information, security information, file version and size, and the number and type of all data segments contained in the NITF dataset.

Security Segments

The NITF format was designed to contain information deemed sensitive, so it includes header data describing the status of any information that is not available to the general public. The main file header contains security information describing the security level of the entire NITF dataset, and each segment also contains security information in its subheader, as the confidentiality of data within a file may vary. The security level of the entire file (T = Top Secret, S = Secret, C = Confidential, R = Restricted, U = Unclassified) is the same as or higher than that of the most restricted segment in the file. NITF 2.0 uses the same fields as NITF 1.1 to contain security information, while NITF 2.1 deprecated some security information fields and added new fields.

These changes are described in the following table. For a detailed description of these security fields, consult the NITF specifications to determine which metadata are relevant to the version of your NITF file.

NITF 1.1/2.0 Security Fields

NITF 2.1 Security Fields


Classification System



Control and Handling

Control and Handling

Releasing Instructions


Releasing Instructions
Declassification Type
Declassification Date
Declassification Exemption
Downgrade Date
Classification Text
Classification Authority Type

Classification Authority


Classification Authority
Classification Reason
Security Source Date

Control Number

Security Control Number



Downgrading Event


When converting between NITF formats, the security fields will be mapped in accordance to Appendix G of the Implementation Practices Of The National Imagery Transmission Format Standard (IPON), Coordination Draft Version 0.3A, 14 Jan 2005.

Image Segments

Image segments contain raster data, typically image data, intended for display or analysis. Each image segment contains a single image consisting of one or more bands of data (NITF 2.0 allows one, three, or four bands of data in an image, and NITF 2.1 allows up to 999 bands).

All bands within an image segment must have the same data type, dimensions, storage order, and map information, although these characteristics can vary across different image segments. Each image segment may contain specific display instructions, including color lookup tables for single-band images and default display bands for multi-band images.

Images can be stored in integer data types in NITF 2.0 and in integer and real data types in NITF 2.1. Images can also be compressed using a variety of algorithms including JPEG DCT, Vector Quantization, Bi-level, JPEG 2000 NPJE (NITF 2.1 only), and JPEG 2000 EPJE (NITF 2.1 only). Images can be broken into blocks, providing an orderly set of subimages (or subarrays). Additional information describing the collection, intended use, wavelengths, and comments can also be stored with the image.


Mask information stored in image segments identifies pixels that are invalid or not intended to be displayed, and should therefore not be displayed.

Images that are rotated or have gaps can also contain a mask indicating which portions of the image should not be used for display or analysis. Two types of image masks are used in NITF files:

  • Blocked image masks are used to mask entire blocks of image data.
  • Transparent pixel masks are used for masking individual pixels or groups of pixels within an image block.

When an image segment containing masked blocks or pixels is displayed, pixels from images or graphics underneath the image segment show through and are displayed even though they would ordinarily be obscured. If a transparent pixel occurs with nothing displayed under it, or if for any other reason there is no display information for a pixel, the background color specified in the main file header is displayed.

Graphic/Symbol Segments

Symbol segments can contain Computer Graphics Metafile (CGM), bitmap, or object elements, while label segments contain graphical text elements. The CGM format allows direct control of all display elements contained in the graphic including color, size, and orientation of objects. CGM graphics can contain complex lines and polygons, as well as displayable text. Multiple annotations can be combined in a single CGM, so symbol segments with CGM graphics may actually contain multiple sets of graphical primitives.

NITF 2.1 files can contain graphic segments with CGM graphic and graphical text elements, while NITF 2.0 files contain two segment types for the same purpose: symbol segments and label segments. Both the NITF 2.0 symbol segment and the NITF 2.1 graphic segment can contain CGM graphics.

The NITF 2.1 graphic segment can only contain CGM graphics, but NITF 2.0 symbol segments can contain other graphical display elements as well. Symbol segments can contain bitmaps (color-mapped bitmaps to be displayed on the composite) or objects (graphics from a limited set of graphical primitives, including lines, arrows, circles, and rectangles).

For NITF 2.1, the bitmap and object symbol types as well as the label segment have been deprecated. Bitmaps are stored in image segments instead of symbols, and object symbols and labels have been removed in favor of the more general and powerful CGM.

Label Segments

Label segments, available only in NITF 2.0, contain displayable text intended to be drawn with the NITF display. In addition to this text, a label segment includes display instructions such as font, color, size, and a background color to display behind the text.

There are many required CGM elements to draw the data contained in a NITF 2.0 label segment. Element details are described in the MIL-STD-2301A specification.

Annotation Segments

NITF 2.0 symbol and label segments, as well as NITF 2.1/NSIF 1.0 graphics segments, are collectively referred to as annotation segments, as illustrated in the following diagram.

Image, text, and extension segments are available in every version of NITF, while label and symbol segments can occur only in NITF 2.0 datasets. Graphic segments occur only in NITF 2.1 datasets.


Because of the similarity between the symbol segments and label segments in NITF 2.0 files, and the graphic segments in NITF 2.1 files, ENVI combines these segments into a single conceptual type (annotation segments). Annotation segments can contain symbol, label, or graphic segments, and they might include text, ellipses, polylines, bitmaps, and other objects. Annotation segments do not exist in any NITF file, and they are not mentioned in the NITF specification documents. They are a simplification used to reduce the overall number of segment types.

Annotation segments and image segments both carry information intended to be displayed graphically, and both are referred to as displayable segments.

Annotation Objects

Because CGM graphics can display multiple graphical elements, each annotation segment must store multiple displayable features, referred to as annotation objects. NITF 2.0 and 2.1 annotation segments can contain multiple CGM annotation objects. Each NITF 2.0 annotation segment can only contain one non-CGM label, bitmap, or object symbol annotation object. The type of object determines which fields will be filled in the annotation object.

Text Segments

Text segments consist of textual information that is not intended for graphical display. Examples are notes explaining target information, or US Message Text Format (USMTF) notes for other users.

Data Extension Segments

Data Extension Segments (DESes) contain data that cannot be stored in the other NITF segments. An example is the NCDRD Attitude Data DES, CSATTA. A list of unclassified, registered DESes is available at the JITC web site.

ENVI only supports NITF Commercial Dataset Requirements Document (NCDRD) DESes. You cannot edit, create, or delete NCDRD DESes through the Metadata Editor.



Long Name



Attitude Data




If a NITF file contains valid supported DESes, they are automatically saved in the output file. When opening a NITF image, ENVI will not read the DES user-defined subheader if the input data format does not mirror the format in the accompanying XML definition file. When writing a NITF file that contains a DES with no corresponding XML file, ENVI passes through this unknown DES in NITF 2.1 and NSIF 1.0 files only. ENVI does not support unknown DESes in NITF 2.0 files. Also see Data Extension Segments.

Display Levels

The NITF format supports multiple image, graphical, and displayable text elements. A NITF dataset can contain all displayable segments (image, graphic/symbol, and label), allowing for raw imagery plus ancillary information. Each displayable segment contains information controlling the location of the display element in the composite. Each segment also contains a display level that determines which elements should be displayed on top of others, obscuring the lower-level displayable elements from view without corrupting the hidden portion of those lower-level displayable elements.

Wavelength Information

Wavelength information can be stored in several different ways in a NITF image segment. The BANDSB TRE contains the most information, followed by the BANDSA TRE, and the band subcategory settings contain the least information. ENVI will attempt to read wavelength information from a NITF file from each of those locations, in order, until wavelength information is found. If no information is present in any of these locations, the file is opened without wavelength information.


For more detailed information about the NITF/NSIF format and its components, see the technical specifications on the Reference Library for NITFS Users web site.

© 2017 Exelis Visual Information Solutions, Inc. |  Legal
My Account    |    Buy    |    Contact Us