sidescanpy.io.hdf5.writer#
Write a SideScanSurvey to an HDF5 (.ss.h5) file.
File layout:
/ ← root attrs: survey_name, source_format,
│ source_files_json,
│ sidescanpy_version
/frequencies/
hz_<freq>/ ← per SideScanFrequencyChannel
...
/aux_streams/
navigation/ ← always written (empty if unset)
attitude/ ← always written (empty if unset)
dvl/ ← always written (empty if unset)
sensors/ ← only if survey has at least one sensor
<sensor_type>/
One encoding policy (_encoding_for) applies to every frequency
data variable with ndim >= 2: gzip level 4 + shuffle, chunked along ping.
float64 variables are stored as float32 except those in
FLOAT64_KEEP (lat/lon need ~1e-7 deg precision). Aux records are
stored uncompressed.
2026 rshomberg@uri.edu
Contents
float64 variables that must NOT be downcast to float32 on write (float32 gives only ~0.4 m at geographic coordinates). |
|
Write a SideScanSurvey to a .ss.h5 file. |
- sidescanpy.io.hdf5.writer.FLOAT64_KEEP#
float64 variables that must NOT be downcast to float32 on write (float32 gives only ~0.4 m at geographic coordinates).
- sidescanpy.io.hdf5.writer.write_survey(survey, path, *, overwrite=False)#
Write a SideScanSurvey to a .ss.h5 file.
- Parameters:
- surveySideScanSurvey
The survey to serialize. All frequency channels and aux records must already pass their accessor’s validate().
- pathPath or str
Destination file path. By convention, use the .ss.h5 extension.
- overwritebool, default False
If False (default) and
pathexists, raise FileExistsError. If True, replace the existing file.
- Raises:
- FileExistsError
If
pathexists andoverwriteis False.