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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages