Skip to content

oceanmapping/mbtoolkit

Repository files navigation

Overview

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.

Vision & Goals

Community Building

  • Engage primary stakeholders (surveyors, software developers, data managers)
  • Establish channels for collaboration, feedback, and support

Standards & Best Practices

  • Document recommended workflows for GSF data ingestion, processing, and export
  • Provide style guides, coding conventions, and metadata guidelines

Open-Source Tooling

  • 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

Roadmap

  • Initial release of conversion & verification tools
  • Community engagement: hackathons, virtual meetups, and online discussions

Future

  • 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

Getting Started

  1. Clone the repo
    git clone https://github.com/oceanmapping/mbtoolkit.git
    cd mbtoolkit
  2. (Optional) create a virtual environment
    conda create --name venv python=3.13
    conda activate venv
  3. Install dependencies
    pip install -r requirements.txt
    The toolkit uses the bundled reader implementation in readers/base.
  4. Verify a GSF file
    python ./tools/gsf-verify.py minimal-xyz.json path/to/data.gsf # see ./profiles
    
  5. Explore content of a GSF file
    python ./tools/gsf-info.py path/to/data.gsf --list --attitude
    
  6. Verifies that bathy and attitude records have strictly time-increasing timestamps
    python ./tools/gsf-timecheck.py path/to/data.gsf
    
  7. 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
    

Contributing

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

Documentation

License

This project is released under the MIT License. See LICENSE for details.

About

Multibeam Community Toolkit

Resources

License

Contributing

Stars

7 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages