sidescanpy.core#

Core schema, validation, and survey container types.

This module defines the contract that every dataset in SideScanPy must satisfy and provides the top-level objects that user code interacts with.

Public types#

Validation is provided through xarray accessors:

  • ds.sidescan — validates a single-frequency sonar dataset.

  • ds.navigation_record, ds.attitude_record, ds.dvl_record, ds.sensor_record — validate the corresponding aux stream datasets.

Conventions#

  • All time coordinates are datetime64[ns].

  • The channel dimension is always size 2 (port + starboard).

  • ds.attrs["processing_history"] is a JSON-encoded list of step records (see sidescanpy.core.history); the processing level is derived from it by processing_level().

  • Empty-but-valid aux records (zero observations) are first-class — they validate cleanly and report is_empty() == True.

See docs/core.md for full reference.

2026 rshomberg@uri.edu

Modules