Skip to main content

Open-source interface for processing recreation-grade side scan sonar datasets and reproducibly mapping benthic habitat

Project description

PING-Mapper

PyPI - Version

PINGMapper_Logo

GitHub last commit GitHub commit activity GitHub

Python Anaconda Numpy Pandas Tensorflow

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

Suwa_Son

Video made with HumViewer

...into scientific datasets!

GithubMap

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:

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

Earth ArXiv Preprint DOI

Code

DOI

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

Earth ArXiv Preprint DOI

Code

DOI

Segmentation models

DOI

Segmentation model training datasets

DOI

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.

  1. Install pixi
  2. Clone and run:
    git clone https://github.com/CameronBodine/PINGMapper.git
    cd PINGMapper
    pixi run pingmapper  # Launches PINGWizard
    
  3. 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.

153729377-e16d0679-ca0d-4d0d-a9f9-90306ba2f871

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pingmapper-5.4.8.tar.gz (223.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pingmapper-5.4.8-py3-none-any.whl (264.4 kB view details)

Uploaded Python 3

File details

Details for the file pingmapper-5.4.8.tar.gz.

File metadata

  • Download URL: pingmapper-5.4.8.tar.gz
  • Upload date:
  • Size: 223.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for pingmapper-5.4.8.tar.gz
Algorithm Hash digest
SHA256 1d5a74ac52914d496250d08e6ac83199d4d9961af1dc9eae291134ca12d53440
MD5 d9d7af3ed8c38752a2ee332657bee196
BLAKE2b-256 4f0d54899813d30c6b3a81e920aad87bdc17e8689e97ddd03bb63e62b3a67d16

See more details on using hashes here.

File details

Details for the file pingmapper-5.4.8-py3-none-any.whl.

File metadata

  • Download URL: pingmapper-5.4.8-py3-none-any.whl
  • Upload date:
  • Size: 264.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for pingmapper-5.4.8-py3-none-any.whl
Algorithm Hash digest
SHA256 77227767f9c4a412602c72eb63722bfd73fdc6ae16a1441963065146023d0a66
MD5 0ce173c36570dedb3ed162c78f2c8775
BLAKE2b-256 aee7e5b5767c0aaa952216f90c8c52cc751b13c33e5fb6e1b1e58df5c6f23b4c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page