Sensor Independent Complex Data (sarkit.sicd)

Python reference implementations of the suite of NGA.STND.0024 standardization documents that define the Sensor Independent Complex Data (SICD) format.

Supported Versions

Data Structure & File Format

NitfSecurityFields(*, clas[, clsy, code, ...])

NITF Security Header/Subheader fields

NitfFileHeaderPart(*, ostaid[, ftitle, ...])

NITF header fields which are set according to a Program Specific Implementation Document

NitfImSubheaderPart(*[, tgtid, iid2, icom])

NITF image header fields which are set according to a Program Specific Implementation Document

NitfDeSubheaderPart(*, security[, desshrp, ...])

NITF DES subheader fields which are set according to a Program Specific Implementation Document

NitfReader(file)

Read a SICD NITF

NitfMetadata(*, xmltree, file_header_part, ...)

Settable SICD NITF metadata

NitfWriter(file, metadata[, jbp_override])

Write a SICD NITF

SizingImhdr(*, idlvl, ialvl, iloc_rows, ...)

Per segment values computed by the SICD Image Sizing Algorithm

image_segment_sizing_calculations(sicd_xmltree)

3.2 Image Segment Sizing Calculations

jbp_from_nitf_metadata(metadata)

Create a Jbp object from NitfMetadata

XML Metadata

XmlHelper(element_tree)

XmlHelper for SICD

ElementWrapper(elem[, xsdhelper, ...])

ElementWrapper for SICD that can set xsdhelper automatically.

XsdHelper(root_ns)

XsdHelper for SICD

TxtType()

Transcoder for text (TXT) XML parameter types.

EnuType()

Transcoder for enumeration (ENU) XML parameter types.

BoolType()

Transcoder for boolean (BOOL) XML parameter types.

IntType()

Transcoder for integer (INT) XML parameter types.

DblType()

Transcoder for double-precision floating point (DBL) XML parameter types.

XdtType([force_utc])

Transcoder for XML dateTime (XDT) XML parameter types.

RowColType([child_ns])

Transcoder for XML parameter types containing scalar, integer Row and Col components.

CmplxType([child_ns])

Transcoder for double-precision floating point complex (CMPLX) XML parameter types.

LineSampType([child_ns])

Transcoder for XML parameter types containing scalar Line and Sample components.

XyzType([child_ns])

Transcoder for XML parameter types containing scalar X, Y, and Z components.

LatLonHaeType([child_ns])

Transcoder for XML parameter types containing scalar Lat, Lon, and HAE components.

LatLonType([child_ns])

Transcoder for XML parameter types containing scalar Lat and Lon components.

PolyType(*[, child_ns])

Transcoder for one-dimensional polynomial (POLY) XML parameter types.

Poly2dType(*[, child_ns])

Transcoder for two-dimensional polynomial (2D_POLY) XML parameter types.

XyzPolyType([child_ns])

Transcoder for XYZ_POLY XML parameter types containing triplets of 1D polynomials.

MtxType(shape)

Transcoder for MTX XML parameter types containing a matrix.

ParameterType()

Transcoder for TXT XML parameter types with a required "name" attribute.

ImageCornersType()

Transcoder for SICD-like GeoData/ImageCorners XML parameter types.

compute_scp_coa(sicd_xmltree)

Return a SICD/SCPCOA XML containing parameters computed from other metadata.

Image Indices & Image Coordinates

rowcol_to_irowicol(xmltree, rowcol)

Global Row, Column Indices (row, col) to SCP Pixel-Centered Image Indices (irow, icol)

rowcol_to_xrowycol(xmltree, rowcol)

Global Row, Column Indices (row, col) to SCP Centered Image Coordinates (xrow, ycol)

irowicol_to_rowcol(xmltree, irowicol)

SCP Pixel-Centered Image Indices (irow, icol) to Global Row, Column Indices (row, col)

irowicol_to_xrowycol(xmltree, irowicol)

SCP Pixel-Centered Image Indices (irow, icol) to SCP Centered Image Coordinates (xrow, ycol)

xrowycol_to_rowcol(xmltree, xrowycol)

SCP Centered Image Coordinates (xrow, ycol) to Global Row, Column Indices (row, col)

xrowycol_to_irowicol(xmltree, xrowycol)

SCP Centered Image Coordinates (xrow, ycol) to SCP Pixel-Centered Image Indices (irow, icol)

Projections

For most of the functions from SICD Volume 3, see the sarkit.sicd.projection namespace.

In the sarkit.sicd namespace, there are convenience functions that operate on parsed SICD XML trees:

image_to_ground_plane(sicd_xmltree, ...[, ...])

Project image coordinates to an arbitrary plane.

image_to_constant_hae_surface(sicd_xmltree, ...)

Project image coordinates to a surface of constant HAE.

image_to_dem_surface(sicd_xmltree, ...[, ...])

Project image coordinate to a surface described by a Digital Elevation Model.

scene_to_image(sicd_xmltree, scene_points, *)

Map geolocated points in the three-dimensional scene to image grid locations.

Constants

VERSION_INFO

dict of {xml namespace: version-specific information}

PIXEL_TYPES

dict of {PixelType: pixel-type-specific information}

IS_SIZE_MAX

maximum NITF image segment length in bytes (\(10^{10}-2\))

ILOC_MAX

maximum number of rows contained in a segmented SICD NITF image segment (99,999)

CLI Utilities

sicdinfo

Display information about SICD files

usage: sicdinfo [-h] [--xml] [--segments] [--raw {XML}] filename
filename
-h, --help

show this help message and exit

--xml, -x

Extract XML formatted for display

--segments, -s

Display Image Segment information

--raw {XML}

Extract raw bytes of a block

References

SICD 1.1.0

[NGA.STND.0024-1_1.1]

National Center for Geospatial Intelligence Standards, “Sensor Independent Complex Data (SICD), Vol. 1, Design & Implementation Description Document, Version 1.1”, 2014. https://nsgreg.nga.mil/doc/view?i=4192

[NGA.STND.0024-2_1.1]

National Center for Geospatial Intelligence Standards, “Sensor Independent Complex Data (SICD), Vol. 2, File Format Description Document, Version 1.1”, 2014. https://nsgreg.nga.mil/doc/view?i=4194

[NGA.STND.0024-3_1.1]

National Center for Geospatial Intelligence Standards, “Sensor Independent Complex Data (SICD), Vol. 3, Image Projections Description Document, Version 1.1”, 2016. https://nsgreg.nga.mil/doc/view?i=4249

[SICD_schema_V1.1.0_2014_09_30.xsd]

National Center for Geospatial Intelligence Standards, “Sensor Independent Complex Data (SICD) XML Schema, Version 1.1.0”, 2014. https://nsgreg.nga.mil/doc/view?i=4251

SICD 1.2.1

[NGA.STND.0024-1_1.2.1]

National Center for Geospatial Intelligence Standards, “Sensor Independent Complex Data (SICD), Vol. 1, Design & Implementation Description Document, Version 1.2.1”, 2018. https://nsgreg.nga.mil/doc/view?i=4900

[NGA.STND.0024-2_1.2.1]

National Center for Geospatial Intelligence Standards, “Sensor Independent Complex Data (SICD), Vol. 2, File Format Description Document, Version 1.2.1”, 2018. https://nsgreg.nga.mil/doc/view?i=4901

[NGA.STND.0024-3_1.2.1]

National Center for Geospatial Intelligence Standards, “Sensor Independent Complex Data (SICD), Vol. 3, Image Projections Description Document, Version 1.2.1”, 2018. https://nsgreg.nga.mil/doc/view?i=4902

[SICD_schema_V1.2.1_2018_12_13.xsd]

National Center for Geospatial Intelligence Standards, “Sensor Independent Complex Data (SICD) XML Schema, Version 1.2.1”, 2018. https://nsgreg.nga.mil/doc/view?i=5230

SICD 1.3.0

[NGA.STND.0024-1_1.3.0]

National Center for Geospatial Intelligence Standards, “Sensor Independent Complex Data (SICD), Vol. 1, Design & Implementation Description Document, Version 1.3.0”, 2021. https://nsgreg.nga.mil/doc/view?i=5381

[NGA.STND.0024-2_1.3.0]

National Center for Geospatial Intelligence Standards, “Sensor Independent Complex Data (SICD), Vol. 2, File Format Description Document, Version 1.3.0”, 2021. https://nsgreg.nga.mil/doc/view?i=5382

[NGA.STND.0024-3_1.3.0]

National Center for Geospatial Intelligence Standards, “Sensor Independent Complex Data (SICD), Vol. 3, Image Projections Description Document, Version 1.3.0”, 2021. https://nsgreg.nga.mil/doc/view?i=5383

[SICD_schema_V1.3.0_2021_11_30.xsd]

National Center for Geospatial Intelligence Standards, “Sensor Independent Complex Data (SICD) XML Schema, Version 1.3.0”, 2021. https://nsgreg.nga.mil/doc/view?i=5418

SICD 1.4.0

[NGA.STND.0024-1_1.4.0]

National Center for Geospatial Intelligence Standards, “Sensor Independent Complex Data (SICD), Vol. 1, Design & Implementation Description Document, Version 1.4.0”, 2023. https://nsgreg.nga.mil/doc/view?i=5529

[NGA.STND.0024-2_1.4.0]

National Center for Geospatial Intelligence Standards, “Sensor Independent Complex Data (SICD), Vol. 2, File Format Description Document, Version 1.4.0”, 2023. https://nsgreg.nga.mil/doc/view?i=5531

[NGA.STND.0024-3_1.4.0]

National Center for Geospatial Intelligence Standards, “Sensor Independent Complex Data (SICD), Vol. 3, Image Projections Description Document, Version 1.4.0”, 2023. https://nsgreg.nga.mil/doc/view?i=5532

[SICD_schema_V1.4.0.xsd]

National Center for Geospatial Intelligence Standards, “Sensor Independent Complex Data (SICD) XML Schema, Version 1.4.0”, 2024. https://nsgreg.nga.mil/doc/view?i=5538

SICD 1.5

[NGA.STND.0024-1_1.5]

National Center for Geospatial Intelligence Standards, “Sensor Independent Complex Data (SICD), Vol. 1, Design & Implementation Description Document, Version 1.5”, 2025. https://nsgreg.nga.mil/doc/view?i=5696

[NGA.STND.0024-2_1.5]

National Center for Geospatial Intelligence Standards, “Sensor Independent Complex Data (SICD), Vol. 2, File Format Description Document, Version 1.5”, 2025. https://nsgreg.nga.mil/doc/view?i=5697

[NGA.STND.0024-3_1.5]

National Center for Geospatial Intelligence Standards, “Sensor Independent Complex Data (SICD), Vol. 3, Image Projections Description Document, Version 1.5”, 2025. https://nsgreg.nga.mil/doc/view?i=5698

[NGA.STND.0024-4_1.5]

National Center for Geospatial Intelligence Standards, “Sensor Independent Complex Data (SICD) XML Schema, Version 1.5”, 2025. https://nsgreg.nga.mil/doc/view?i=5699