Community Multibeam Toolkit An open-source suite of verification, conversion, and best-practice tools for Generic Sensor Format (GSF) data. Our mission is to launch and foster an active user & developer community around a common processing formats for bathymetry and sonar data.
- Engage primary stakeholders (surveyors, software developers, data managers)
- Establish channels for collaboration, feedback, and support
- Document recommended workflows for GSF data ingestion, processing, and export
- Provide style guides, coding conventions, and metadata guidelines
- Deliver verification tools to validate existing (legacy) GSF files
- Provide conversion utilities to modernize or migrate legacy formats into GSF
- Encourage community contributions, plug-ins, and extensions
- Initial release of conversion & verification tools
- Community engagement: hackathons, virtual meetups, and online discussions
- Expanded profile/check suites (minimal-XYZ, full-multibeam, single-beam-in-swath)
- Promote integrations with GIS and hydrographic software
- Comprehensive tutorials, reference datasets, and best-practice guides
- Clone the repo
git clone https://github.com/oceanmapping/mbtoolkit.git cd mbtoolkit - (Optional) create a virtual environment
conda create --name venv python=3.13 conda activate venv
- Install dependencies
The toolkit uses the bundled reader implementation in
pip install -r requirements.txt
readers/base. - Verify a GSF file
python ./tools/gsf-verify.py minimal-xyz.json path/to/data.gsf # see ./profiles - Explore content of a GSF file
python ./tools/gsf-info.py path/to/data.gsf --list --attitude - Verifies that bathy and attitude records have strictly time-increasing timestamps
python ./tools/gsf-timecheck.py path/to/data.gsf - Repairs a GSF file by adding missing required subrecords as empty subrecords.
python ./tools/gsf-repair.py minimal-xyz.json path/to/data.gsf -o path/to/data_fixed.gsf
We welcome all contributions!
- Join the conversation: subscribe to our mailing list or join the #gsf-toolkit channel on Slack
- Report toolkit issues: open bugs, feature requests, or questions on GitHub
Submit PRs: follow our CONTRIBUTING.md for guidelines; include tests & documentation
This project is released under the MIT License. See LICENSE for details.