Compensated Radar Signal Data (sarkit.crsd)

Python reference implementations of the suite of NGA.STND.0080 standardization documents that define the Compensated Radar Signal Data (CRSD) format.

Supported Versions

Data Structure & File Format

FileHeaderPart(*[, additional_kvps])

CRSD header fields which are set per program specific Product Design Document

Metadata(*[, file_header_part])

Settable CRSD metadata

Reader(file)

Read a CRSD file

Writer(file, metadata)

Write a CRSD file

read_file_header(file)

Read a file header.

get_pvp_dtype(crsd_xmltree)

Get PVP dtype.

get_ppp_dtype(crsd_xmltree)

Get PPP dtype.

binary_format_string_to_dtype(format_string)

Return the numpy.dtype corresponding to a binary format string.

dtype_to_binary_format_string(dtype)

Return the binary format string corresponding to a numpy.dtype.

mask_support_array(array[, nodata_hex])

Apply a NODATA hex string to a support array to mask the array.

XML Metadata

XmlHelper(element_tree)

XmlHelper for CRSD

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

ElementWrapper for CRSD that can set xsdhelper automatically.

XsdHelper(root_ns)

XsdHelper for CRSD

TxtType()

Transcoder for text (TXT) XML parameter types.

EnuType()

Transcoder for enumeration (ENU) XML parameter types.

BoolType()

Transcoder for boolean (BOOL) XML parameter types.

XdtType([force_utc])

Transcoder for XML dateTime (XDT) XML parameter types.

IntType()

Transcoder for integer (INT) XML parameter types.

DblType()

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

HexType()

Transcoder for HEX XML parameter types.

LineSampType([child_ns])

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

XyType([child_ns])

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

XyzType([child_ns])

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

LatLonType([child_ns])

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

LatLonHaeType([child_ns])

Transcoder for XML parameter types containing scalar Lat, Lon, and HAE 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.

PxpType()

Transcoder for Per-x-Parameter (PxP) XML parameter types.

AddedPxpType()

Transcoder for Added Per-x-Parameter (APxP) XML parameter types.

MtxType(shape)

Transcoder for MTX XML parameter types containing a matrix.

EdfType()

Transcoder for Error Decorrelation Function (EDF) XML parameter types.

ImageAreaCornerPointsType()

Transcoder for CPHD-like SceneCoordinates/ImageAreaCornerPoints XML parameter types.

ParameterType()

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

Scene Coordinates

See also

CRSD explicitly references CPHD D & I SceneCoordinates branch. See Scene Coordinates & Collection Geometry in sarkit.cphd.

Convenience functions that operate on parsed XML trees:

ecf_to_iac(crsd_xmltree, pt)

Convert from ECF coordinates to IAC coordinates

iac_to_ecf(crsd_xmltree, pt_iac)

Convert from IAC coordinates to ECF coordinates

llh_to_iac(crsd_xmltree, pt_llh)

Convert from geodetic LLH coordinates to IAC coordinates

iac_to_llh(crsd_xmltree, pt_iac)

Convert from IAC coordinates to geodetic LLH coordinates

Receive Channel Parameters

compute_dwelltimes_using_poly(ch_id, iax, ...)

Compute center of dwell times and dwell times for scene points using polynomials.

compute_dwelltimes_using_dta(ch_id, iax, ...)

Compute center of dwell times and dwell times for scene points using a dwell time array.

Reference Geometry Parameters

compute_ref_point_parameters(rpt)

Compute the reference point parameters as in CRSD D&I 8.2

compute_apc_to_pt_geometry_parameters(apc, ...)

Compute APC geometry parameters as in CRSD D&I 8.3

compute_arp_to_rpt_geometry(xmt, vxmt, rcv, ...)

Compute aperture reference point geometry as in CRSD D&I 8.4.2

compute_reference_geometry(crsd_xmltree, *)

Return a CRSD/ReferenceGeometry XML element containing parameters computed from other metadata.

Antenna Parameters

interpolate_support_array(x, y, x_0, y_0, ...)

Method for computing values from a support array as in 9.3.2

compute_h_v_los_unit_vectors(apc, gpt)

Compute H, V, LOS unit vectors as in CRSD D&I 9.4.3

compute_h_v_pol_parameters(apc, uacx, uacy, ...)

Compute H, V polarization parameters as in CRSD D&I 9.4.4

Constants

VERSION_INFO

dict of {xml namespace: version-specific information}

DEFINED_HEADER_KEYS

set of KVP keys defined in the standard

SECTION_TERMINATOR

Two-byte sequence that marks the end of the file header

CLI Utilities

crsdinfo

Display information about CRSD files

usage: crsdinfo [-h] [--xml] [--channels] [--txsequences]
                [--raw {XML,SUPPORT,PPP,PVP,SIGNAL}]
                filename
filename
-h, --help

show this help message and exit

--xml, -x

Extract XML formatted for display

--channels, -c

List channels

--txsequences, -t

List transmit pulse sequences

--raw {XML,SUPPORT,PPP,PVP,SIGNAL}

Extract raw bytes of a BLOCK

References

CRSD 1.0

[NGA.STND.0080-1_1.0_CRSD]

National Center for Geospatial Intelligence Standards, “Compensated Radar Signal Data (CRSD), Vol. 1, Design & Implementation Description Document, Version 1.0”, 2025. https://nsgreg.nga.mil/doc/view?i=5672

[NGA.STND.0080-2_1.0_CRSD_schema_2025_02_25.xsd]

National Center for Geospatial Intelligence Standards, “Compensated Radar Signal Data (CRSD) XML Schema, Version 1.0”, 2025. https://nsgreg.nga.mil/doc/view?i=5673