Recent Releases of PING-Mapper
PING-Mapper - v4.2
What's New
- Ping-wise rectification based on Heading and COG
- Updated sonar tile workflows. More Info
What's Changed
- Merge dev with main by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/149
Full Changelog: https://github.com/CameronBodine/PINGMapper/compare/v4.0...v4.2
Hydrosphere - Ocean and Hydrology Data Access
- Python
Published by CameronBodine about 1 year ago
PING-Mapper - PINGMapper v4.0
New Features
PINGMapper has been turned into a PyPi package. Two additional PyPi packages are also created and are new dependencies: PINGInstaller and PINGWizard. PINGInstaller dramatically improves the installation of PINGMapper, the ping environment, and all dependencies. Another package called PINGWizard now acts as the entry point for PINGMapper and other packages in the PING ecosystem.
- PINGMapper is a PyPi package
- PINGInstaller - Light-weight application for installing PING ecosystem (PINGMapper, etc.)
- PINGWizard - Light-weight interface for running PING ecosystem (PINGMapper, etc.)
What's Changed
- Update gitignore by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/140
- Pull Dev v4.0.0 into main by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/141
Full Changelog: https://github.com/CameronBodine/PINGMapper/compare/v3.0.0...v4.0
Hydrosphere - Ocean and Hydrology Data Access
- Python
Published by CameronBodine about 1 year ago
PING-Mapper - PINGMapper v3.0.0
New Features
Introducing PINGVerter v1.0.1
PINGVerter is a new Python-based convertor for sonar logs collected with consumer-grade fishfinders. PINGMapper now uses PINGVerter as the primary processing engine for decoding sonar logs. It is designed to ease adding support for new sonar data acquisition platforms and filetypes. Find out more below...
Support for Lowrance®
It is now possible to process sl2 and sl3 files with PING-Mapper. All of the processing features PING-Mapper made possible for Humminbird® are now available for Lowrance®. This includes EGN corrections, shadow removal, depth detection, substrate mapping, etc.
Acknowledgments
Adding support for sl2/3 files would not have been possible without these incredible open-source projects and documentation:
- SL3Reader
- Halmai, Akos; Gradwohl Valkay, Alexandra; Czigany, Szabolcs; Ficsor, Johanna; Liptay, ZoltAn Arpad; Kiss, Kinga; Loczy, Denes and Pirkhoffer, Ervin. 2020. "Applicability of a Recreational-Grade Interferometric Sonar for the Bathymetric Survey and Monitoring of the Drava River" ISPRS International Journal of Geo-Information 9, no. 3: 149. https://doi.org/10.3390/ijgi9030149
- sonarlight - Kenneth Thoro Martinsen
- Navico (Lowrance, Simrad, B&G) Sonar Log File Format - Herbert Oppmann
Please report any issues with processing sl2 or sl3 files here
~1.3x Speedup
PINGVerter and PINGMapper now feature an improved mechanism for reading sonar logs, inspired by sonarlight. This results in ~1.3x speedup when running the Small Dataset Test.
Recently released v2.1.0
The recently released v2.1.0 also had important improvements and bug fixes including:
- Sonar Log Filtering
- Coverage and Trackline Shapefile Export
- Fix to Bankline Shapefile Export
Read the details in the release.
What's Changed
- Merge pull request #126 from CameronBodine/dev by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/127
- Kludge to fix tf.shape for shadow model #128 by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/129
- Merge dev branch for v3.0.0-alpha by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/130
Full Changelog: https://github.com/CameronBodine/PINGMapper/compare/v2.1.0...v3.0.0
Hydrosphere - Ocean and Hydrology Data Access
- Python
Published by CameronBodine over 1 year ago
PING-Mapper - PINGMapper v3.0.0-alpha
New Features
Introducing PINGVerter v1.0.1
PINGVerter is a new Python-based convertor for sonar logs collected with consumer-grade fishfinders. PINGMapper now uses PINGVerter as the primary processing engine for decoding sonar logs. It is designed to ease adding support for new sonar data acquisition platforms and filetypes. Find out more below...
Support for Lowrance®
It is now possible to process sl2 and sl3 files with PING-Mapper. All of the processing features PING-Mapper made possible for Humminbird® are now available for Lowrance®. This includes EGN corrections, shadow removal, depth detection, substrate mapping, etc.
Acknowledgments
Adding support for sl2/3 files would not have been possible without these incredible open-source projects and documentation:
- SL3Reader
- Halmai, Akos; Gradwohl Valkay, Alexandra; Czigany, Szabolcs; Ficsor, Johanna; Liptay, ZoltAn Arpad; Kiss, Kinga; Loczy, Denes and Pirkhoffer, Ervin. 2020. "Applicability of a Recreational-Grade Interferometric Sonar for the Bathymetric Survey and Monitoring of the Drava River" ISPRS International Journal of Geo-Information 9, no. 3: 149. https://doi.org/10.3390/ijgi9030149
- sonarlight - Kenneth Thoro Martinsen
- Navico (Lowrance, Simrad, B&G) Sonar Log File Format - Herbert Oppmann
Please report any issues with processing sl2 or sl3 files here
~1.3x Speedup
PINGVerter and PINGMapper now feature an improved mechanism for reading sonar logs, inspired by sonarlight. This results in ~1.3x speedup when running the Small Dataset Test.
Recently released v2.1.0
The recently released v2.1.0 also had important improvements and bug fixes including:
- Sonar Log Filtering
- Coverage and Trackline Shapefile Export
- Fix to Bankline Shapefile Export
Read the details in the release.
What's Changed
- Merge pull request #126 from CameronBodine/dev by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/127
- Kludge to fix tf.shape for shadow model #128 by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/129
- Merge dev branch for v3.0.0-alpha by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/130
Full Changelog: https://github.com/CameronBodine/PINGMapper/compare/v2.1.0...v3.0.0-alpha
Hydrosphere - Ocean and Hydrology Data Access
- Python
Published by CameronBodine over 1 year ago
PING-Mapper - PINGMapper v2.1.0
New Features
Sonar Log Filtering
You can now filter a sonar log based on heading deviation over a provided distance, minimum and maximum vessel speed, or based on an Area of Interest (AOI) shapefile. Once filtered, survey transect mosaics are automatically made from contiguous chunks. This enables toggling visibility or layer ordering in a GIS.
Coverage & Trackline Shapefile
Option to export sonar coverage polygon and track points to shapefile.
Bug Fixes
Bankline Shapefile
Fixed the bankline shapefile export. Previously, the bankline polygon was generated from the sonar mosaic. If the mosaic was very large, this would often result in an OOM error. The new new workflow generates a bankline for each chunk, then merges and dissolves into a final shapefile.
What's Changed
- Sonar log filter, coverage, bankline workflow by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/126
Full Changelog: https://github.com/CameronBodine/PINGMapper/compare/v2.0.0...v2.1.0
Hydrosphere - Ocean and Hydrology Data Access
- Python
Published by CameronBodine over 1 year ago
PING-Mapper - PINGMapper v2.0.0
PINGMapper v2.0.0 adds to existing functionality from v1.0.0 and many bug fixes. The new features will be documented in a forthcoming manuscript. If you encounter any issues, please report them here with the corresponding logs.
New Features
Automated Substrate Classification
Neural network models trained with Segmentation Gym have been incorporated into PINGMapper. The models will perform a pixel-wise prediction across 6 different substrate classes [Fines - Rippled, Fines - Flat, Cobble - Boulder, Hard Bottom, Wood, Other]. Plots of the predictions can be optionally exported. Raster and polygon maps can also be exported and overlayed on the sonar mosaics.
NOTE: Exercise caution when interpreting and using the outputs from the substrate prediction. The models were trained on two river systems in Mississippi. It is currently unknown how well the models will perform on other aquatic systems.
Image Corrections
To correct for the impact of attenuation on the sonar imagery, a new feature called Empirical Gain Normalization (EGN) is now available. This process involves calculating the average pixel intensity for each range bin and dividing the raw backscatter by the associated average.
NOTE: Correcting imagery with EGN does take some time; please be patient.
Use Matplotlib colormaps on sonar mosaics
You can now assign one of matplotlibs many colormaps to sonar mosaics.
GUI
PINGMapper now includes a simple GUI for passing processing parameters rather then editing the Python script. Run the GUI with python gui_main.py or python gui_main_batchDirectory.py.
Ready to get started?
New PINGMapper Users
Please follow the installation instructions.
Existing PINGMapper Users
Update your current installation by following these instructions.
Then check to make sure everything is running as expected by running the test.
What's Changed
- Pull v1.1.0 bug fixes into dev by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/44
- Remove USE_GPU option and issue with fixNoDat by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/45
- Add explicit pip installation #47 by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/48
- Fix negative values after smoothing w/ instrument depth #43 #49 by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/50
- main to dev by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/51
- Change gdal import by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/52
- main to dev by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/53
- Use weights stored in object #54 by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/55
- Pull main changes to dev by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/59
- Pull from main by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/62
- Update sonar tile export options by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/63
- Pull main into dev by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/64
- Merge EGN workflow into dev by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/70
- Add h5py to yml by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/71
- Pulling
cropRangefunctionality by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/79 - Pull x/y offset workflow from main to dev by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/82
- Massive mem leak #38 should fix #78 too. Don't return self! by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/86
- Numpy deprecation: use int instead of np.int #85 by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/87
- Merging dev to main for v2.0.0-alpha release by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/89
- Pull main into dev by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/91
- Error in main scripts by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/93
- Merge pull request #93 from CameronBodine/dev by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/94
- Add a simple gui by @CameronBodine in https://github.com/CameronBodine/PINGMapper/pull/95
- Add Ubuntu install instructions by @mirkix in https://github.com/CameronBodine/PINGMapper/pull/98
New Contributors
- @mirkix made their first contribution in https://github.com/CameronBodine/PINGMapper/pull/98
Full Changelog: https://github.com/CameronBodine/PINGMapper/compare/v1.1.0...v2.0.0
Hydrosphere - Ocean and Hydrology Data Access
- Python
Published by CameronBodine over 2 years ago
PING-Mapper - PINGMapper v2.0.0-alpha
PINGMapper v2.0.0-alpha adds to existing functionality from v1.0.0 and many bug fixes. The new features will be documented in a forthcoming manuscript, at which time a production-ready release will be made. Bugs are expected!!! Please report them here.
New Features
Automated Substrate Classification
Neural network models trained with Segmentation Gym have been incorporated into PINGMapper. The models will perform a pixel-wise prediction across 6 different substrate classes [Fines - Rippled, Fines - Flat, Cobble - Boulder, Hard Bottom, Wood, Other]. Plots of the predictions can be optionally exported. Raster and polygon maps can also be exported and overlayed on the sonar mosaics.
NOTE: Exercise caution when interpreting and using the outputs from the substrate prediction. The models were trained on two river systems in Mississippi. It is currently unknown how well the models will perform on other aquatic systems.
Image Corrections
To correct for the impact of attenuation on the sonar imagery, a new feature called Empirical Gain Normalization (EGN) is now available. This process involves calculating the average pixel intensity for each range bin and dividing the raw backscatter by the associated average.
NOTE: Correcting imagery with EGN does take some time; please be patient.
Use Matplotlib colormaps on sonar mosaics
You can now assign one of matplotlibs many colormaps to sonar mosaics.
Ready to get started?
New PINGMapper Users
Please follow the installation instructions.
Existing PINGMapper Users
Update your current installation by following these instructions.
Then check to make sure everything is running as expected by running the test.
Hydrosphere - Ocean and Hydrology Data Access
- Python
Published by CameronBodine over 2 years ago
PING-Mapper - v1.1.0 Auto Depth & Shadow Detection
New workflows, models, and bug fixes added to PING-Mapper since v1.0.0:
- Automated depth detection (#31)
- Automated shadow removal (#37, updated model coming in near future)
- Export speed corrected non-rectified images for labeling w/ Doodler (#35)
- Process corrupt recordings w/ missing data (#33)
- Addressed memory leaks during batch processing (#38)
- And other minor bug fixes...
Hydrosphere - Ocean and Hydrology Data Access
- Python
Published by CameronBodine over 3 years ago
PING-Mapper - v1.0.0 PING-Mapper Paper
Version of PING-Mapper (6/1/2022) used for the PING-Mapper paper:
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
Hydrosphere - Ocean and Hydrology Data Access
- Python
Published by CameronBodine almost 4 years ago
PING-Mapper - Sample data for the PING-Mapper program
Sample sonar recording from the Pearl River, MS.
-
Instrument: Humminbird Solix w/ Mega Imaging.
-
Date collected: March 3, 2021.
-
Duration: 01h:00m:06s.
Distributed with permission from the U.S. Fish and Wildlife Service.
Hydrosphere - Ocean and Hydrology Data Access
- Python
Published by CameronBodine almost 4 years ago