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#
SideScanFrequencyChannel— single-frequency wrapper around a validatedxr.Dataset.SideScanSurvey— multi-frequency container with optional navigation, attitude, DVL, and sensor auxiliary records.Target— format-agnostic sonar contact (seesidescanpy.core.target).
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
channeldimension is always size 2 (port + starboard).ds.attrs["processing_history"]is a JSON-encoded list of step records (seesidescanpy.core.history); the processing level is derived from it byprocessing_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