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 #44
- Remove USE_GPU option and issue with fixNoDat by @CameronBodine in #45
- Add explicit pip installation #47 by @CameronBodine in #48
- Fix negative values after smoothing w/ instrument depth #43 #49 by @CameronBodine in #50
- main to dev by @CameronBodine in #51
- Change gdal import by @CameronBodine in #52
- main to dev by @CameronBodine in #53
- Use weights stored in object #54 by @CameronBodine in #55
- Pull main changes to dev by @CameronBodine in #59
- Pull from main by @CameronBodine in #62
- Update sonar tile export options by @CameronBodine in #63
- Pull main into dev by @CameronBodine in #64
- Merge EGN workflow into dev by @CameronBodine in #70
- Add h5py to yml by @CameronBodine in #71
- Pulling
cropRange
functionality by @CameronBodine in #79 - Pull x/y offset workflow from main to dev by @CameronBodine in #82
- Massive mem leak #38 should fix #78 too. Don't return self! by @CameronBodine in #86
- Numpy deprecation: use int instead of np.int #85 by @CameronBodine in #87
- Merging dev to main for v2.0.0-alpha release by @CameronBodine in #89
- Pull main into dev by @CameronBodine in #91
- Error in main scripts by @CameronBodine in #93
- Merge pull request #93 from CameronBodine/dev by @CameronBodine in #94
- Add a simple gui by @CameronBodine in #95
- Add Ubuntu install instructions by @mirkix in #98
New Contributors
Full Changelog: v1.1.0...v2.0.0