NITF 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 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 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). The current version of ENVI 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 Module requires a separate license; contact your sales representative for more information.
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:
- Main Header
- Security Segments
- Image Segments
- Graphic/Symbol/Label Segments
- Text Segments
- Data Extension Segments
- Display Levels
- References
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 |
Classification |
Codewords |
Codewords |
Control and Handling |
Control and Handling |
Releasing Instructions
|
Releasing Instructions |
Classification Authority
|
Classification Authority |
Control Number |
Security Control Number |
Downgrade |
|
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.
Masks
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/Label Segments
Note: As of version 5.6.1, ENVI does not display or save graphic, symbol, or label segments. Use ENVI Classic to save and/or display these segments in NITF files.
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.
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, 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.
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.
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.
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.
References
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.