PING-Mapper
Open-source interface for processing recreation-grade side scan sonar datasets and reproducibly mapping benthic habitat.
https://github.com/cameronbodine/pingmapper
Category: Hydrosphere
Sub Category: Ocean and Hydrology Data Access
Keywords
aquatic cerulean ecology garmin humminbird lowrance remotesensing sidescan sidescan-sonar sonar
Last synced: about 3 hours ago
JSON representation
Repository metadata
Open-source interface for processing recreation-grade side scan sonar datasets and reproducibly mapping benthic habitat
- Host: GitHub
- URL: https://github.com/cameronbodine/pingmapper
- Owner: CameronBodine
- License: mit
- Created: 2021-02-16T14:57:19.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2026-06-05T20:59:54.000Z (8 days ago)
- Last Synced: 2026-06-09T11:02:45.808Z (4 days ago)
- Topics: aquatic, cerulean, ecology, garmin, humminbird, lowrance, remotesensing, sidescan, sidescan-sonar, sonar
- Language: Python
- Homepage: https://cameronbodine.github.io/PINGMapper/
- Size: 418 MB
- Stars: 84
- Watchers: 5
- Forks: 13
- Open Issues: 14
- Releases: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
README.md
PING-Mapper

Transform recordings from recreation-grade side scan sonar systems...

Video made with HumViewer
...into scientific datasets!

Overview
PINGMapper is an open-source Python interface for reading and processing side scan sonar datasets and reproducibly mapping benthic habitat features. PINGMapper transforms recreation-grade sonar systems (i.e. fishfinders) into scientific data collectors, allowing researchers and citizens alike to reproducibly map their aquatic system with minimal expertise in data processing.
PING Ecosystem
PINGMapper is part of the PING Ecosystem: a coordinated set of tools for installation, conversion, quality checks, and mapping workflows.
- PINGMapper: Core sonar processing and mapping package
- PINGInstaller: Recommended installer and environment bootstrap
- PINGWizard: Point-and-click interface for testing, updates, and routine processing
- PINGVerter: Sonar data conversion utilities
Learn More Now!
Check out PING-Mapper's website for most up to date information:
- Homepage
- Getting Started
- Advanced Topics
- Tutorials
- FAQ's
- and more!
Published Documentation
v1.0.0 (August 29, 2022)
An overview of PINGMapper v1.0.0 functionality and justification are published in AGU's Earth and Space Science scientific journal.
Journal Article
Bodine, C. S., Buscombe, D., Best, R. J., Redner, J. A., & Kaeser, A. J. (2022). PING-Mapper: Open-source software for automated benthic imaging and mapping using recreation-grade sonar. Earth and Space Science, 9, e2022EA002469. https://doi.org/10.1029/2022EA002469
Preprint
Code
v2.0.0 (July 9, 2024)
A manuscript detailing the automated substrate mapping features made availabe in v2.0.0 is published in AGU's Journal of Geophysical Research: Machine Learning and Computation.
Journal Article
Bodine, C. S., Buscombe, D., & Hocking, T. D. (2024). Automated river substrate mapping from sonar imagery with machine learning. Journal of Geophysical Research: Machine Learning and Computation, 1, e2024JH000135. https://doi.org/10.1029/2024JH000135
Preprint
Code
Segmentation models
Segmentation model training datasets
Acknowledgements
v1.0 - 2.0
This study was originally made possible by a partnership between the U.S. Fish and Wildlife Service and Northern Arizona University. Funding for this work was provided by the Open Ocean Trustee Implementation Group to restore natural resources injured by the 2010 Deepwater Horizon oil spill in the Gulf of Mexico. The contents of this website are those of the authors and do not necessarily represent the views of the U.S. Fish and Wildlife Service or Northern Arizona University.
Primary Developer: Dr. Cameron S. Bodine
Co-Developer: Dr. Daniel Buscombe
Project Collaborators: Thanks to Adam Kaeser (USFWS), Channing St. Aubin (USFWS), Mike Andres (USM), Kasea Price (USM), Alyssa Pagel (USM), Eric Haffey (USM), and Katherine Wright (USM).
Advocates & Early-Adopters: A special thanks to advocates and early-adoptors including, but not limited to, Jennylyn Redner, Adrian Pinchbeck, Art Trembanis, Dan Carlson, Alan Ryon, Mirko Denecke, Dan Haught, Dan Hamill, Mark Lundine, Elizabeth Greenheck, Hendra Kurnia Febriawan, Bryan Bozeman, Paul Grams, Matt Kaplinski, Jess Kozarek, Chris Milliren, Brett Connell and James Parham.
PhD Committee: Cameron wishes to thank his PhD dissertation committee: Toby Hocking, Co-Chair; advisor Dan Buscombe, Co-Chair; Rebecca Best; and Adam Kaeser.
v3.0 - 4.0
Continued support for PINGMapper and tools in the PING Ecosystem is made possible through mentorship, partnerships, and financial support listed below.
Primary Developer: Dr. Cameron S. Bodine
PostDoctoral Advisor: Dr. Arthur Trembanis
Lab: Coastal Sediments, Hydrodynamics and Engineering Lab (CSHEL)
Institution: College of Earth, Ocean, & Environment (CEOE) at the University of Delaware
Advocates & Mentors: Vincent Capone - Black Laser Learning
Quick Start
Recommended workflow: install Miniforge, use PINGInstaller to set up the ping environment, and launch PINGWizard for testing, updates, and routine processing.
Recommended: Miniforge + PINGInstaller + PINGWizard
Please see Getting Started for full instructions. In short:
pip install pinginstaller -U
python -m pinginstaller
After installation completes, launch PINGWizard using the shortcut created by PINGInstaller, or run:
conda run -n ping python -m pingwizard
Alternative: Direct conda environment
Please see Getting Started for full instructions, or simply run:
conda env create -f pingmapper/conda/PINGMapper.yml
conda activate ping
python -m pingmapper gui
Optional: Pixi
Pixi is available for users who prefer that workflow, but it is not the recommended installation path.
- Install pixi
- Clone and run:
git clone https://github.com/CameronBodine/PINGMapper.git cd PINGMapper pixi run pingmapper # Launches PINGWizard - For machine learning features (substrate mapping):
pixi run -e full gui # GUI with ML support
Verify Installation
Recommended routine verification is to run the included tests from PINGWizard. If you want a prompt-based check, run the lightweight self-check below:
python -m pingmapper check
Direct unit-test invocation (same lightweight suite run by check):
python -m unittest pingmapper.test_dq_filter pingmapper.test_cli_self_check -v
Optional longer end-to-end processing validation:
python -m pingmapper test
Ready to get started?
Follow the installation and testing instructions to Get Started!
Future Development, Collaborations, & Partnerships
If you are interested in partnering on future developments, please reach out to Cameron Bodine.
PING-Mapper is part of the PING Ecosystem
PINGMapper is developed and distributed alongside companion PING tools (PINGInstaller, PINGWizard, and PINGVerter) to provide a complete end-to-end workflow.
PINGMapper also leverages components from the Doodleverse ecosystem for geoscientific image segmentation workflows. Learn more on GitHub.
Owner metadata
- Name: Cameron Bodine
- Login: CameronBodine
- Email:
- Kind: user
- Description: Graduate research assistant and PhD candidate in Ecological Informatics
- Website: https://ecoinfo.nau.edu/
- Location:
- Twitter: bodine_cs
- Company: Northern Arizona University
- Icon url: https://avatars.githubusercontent.com/u/54146655?u=b0a55f5bf81d1c1497f78966f9939e0c355f8577&v=4
- Repositories: 1
- Last ynced at: 2023-03-05T06:42:57.911Z
- Profile URL: https://github.com/CameronBodine
GitHub Events
Total
- Create event: 12
- Commit comment event: 1
- Release event: 3
- Delete event: 7
- Pull request event: 31
- Fork event: 5
- Discussion event: 2
- Issues event: 63
- Watch event: 18
- Issue comment event: 155
- Push event: 216
Last Year
- Delete event: 2
- Pull request event: 3
- Fork event: 1
- Discussion event: 2
- Issues event: 29
- Watch event: 9
- Issue comment event: 44
- Push event: 53
- Create event: 3
- Commit comment event: 1
Committers metadata
Last synced: 4 days ago
Total Commits: 1,075
Total Committers: 4
Avg Commits per committer: 268.75
Development Distribution Score (DDS): 0.007
Commits in past year: 150
Committers in past year: 3
Avg Commits per committer in past year: 50.0
Development Distribution Score (DDS) in past year: 0.04
| Name | Commits | |
|---|---|---|
| Cameron Bodine | c****7@n****u | 1068 |
| iury simoes-sousa | i****t@p****e | 5 |
| copilot-swe-agent[bot] | 1****t | 1 |
| Mirko Denecke | m****x@g****m | 1 |
Committer domains:
Issue and Pull Request metadata
Last synced: 16 days ago
Total issues: 107
Total pull requests: 64
Average time to close issues: 3 months
Average time to close pull requests: about 20 hours
Total issue authors: 35
Total pull request authors: 3
Average comments per issue: 4.21
Average comments per pull request: 0.09
Merged pull request: 54
Bot issues: 0
Bot pull requests: 0
Past year issues: 14
Past year pull requests: 3
Past year average time to close issues: about 2 months
Past year average time to close pull requests: 16 days
Past year issue authors: 9
Past year pull request authors: 2
Past year average comments per issue: 1.79
Past year average comments per pull request: 1.0
Past year merged pull request: 3
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- CameronBodine (59)
- philippetournevase-spec (3)
- Hesslertm (3)
- bthetford (3)
- AdrianPinchbeck (3)
- dfcscience (3)
- mihykavetu (2)
- vshie (2)
- DWhettam (2)
- mmcintosh (2)
- belostomatidae (1)
- mstuart5 (1)
- AlexandreAvz (1)
- kbartelt1 (1)
- mjhawker (1)
Top Pull Request Authors
- CameronBodine (62)
- mirkix (1)
- iuryt (1)
Top Issue Labels
- 0_Code (93)
- enhancement (44)
- end user issue - general bug (22)
- bug (19)
- end user issue (11)
- end user issue - processing bug (9)
- help wanted (5)
- question (3)
- tidy up (3)
- error - dependency (3)
- documentation (3)
- install (3)
Top Pull Request Labels
- enhancement (1)
Package metadata
- Total packages: 1
-
Total downloads:
- pypi: 1,399 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 81
- Total maintainers: 1
pypi.org: pingmapper
Open-source interface for processing recreation-grade side scan sonar datasets and reproducibly mapping benthic habitat
- Homepage: https://cameronbodine.github.io/PINGMapper/
- Documentation: https://pingmapper.readthedocs.io/
- Licenses: MIT
- Latest release: 5.4.6 (published 8 days ago)
- Last Synced: 2026-06-09T13:40:27.385Z (4 days ago)
- Versions: 81
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 1,399 Last month
-
Rankings:
- Dependent packages count: 9.817%
- Average: 32.539%
- Dependent repos count: 55.262%
- Maintainers (1)
Score: 13.215489355393812