[)](https://pypi.org/project/pingverter/)
A Python-based convertor for sonar logs collected with consumer-grade fishfinders.
`PINGVerter` is designed to pre-process sonar logs for [PINGMapper](https://cameronbodine.github.io/PINGMapper/) post-processing. *It is not intended to function as a stand-alone package.*
## Compatibility
- [Humminbird](https://humminbird.johnsonoutdoors.com/) ( *.DAT/ *.SON/ *.IDX)
- [Lowrance](https://www.lowrance.com/) ( *.sl2 / *.sl3)
- [Garmin](https://www.garmin.com/en-US/c/marine/chartplotters/) (*.RSD)
- [Cerulean](https://ceruleansonar.com/) (Omniscan 450 SS *.svlog)
## Installation
```bash
pip install pingverter
```
## Usage - Example Only
`PINGVerter` *can* be used as a stand-alone engine for decoding sonar logs and exporting ping attributes to CSV. While this functionality is described here, please use [PINGMapper](https://cameronbodine.github.io/PINGMapper/) for all sonar log processing.
### Humminbird
```python
# Import
from pingverter import hum2pingmapper
# Parameters
inFile = r'C:\Path\To\Recording\Rec00001.DAT'
projDir = r'C:\Path\To\Outputs\MyProject'
sonar_object = hum2pingmapper(inFile, projDir)
```
### Lowrance
```python
# Import
from pingverter import low2pingmapper
# Parameters
inFile = r'C:\Path\To\Recording\Log.sl2'
projDir = r'C:\Path\To\Outputs\MyProject'
sonar_object = low2pingmapper(inFile, projDir)
```
### Garmin
```python
# Import
from pingverter import gar2pingmapper
# Parameters
inFile = r'C:\Path\To\Recording\Log.RSD'
projDir = r'C:\Path\To\Outputs\MyProject'
sonar_object = gar2pingmapper(inFile, projDir)
```
### Cerulean
```python
# Import
from pingverter import cerul2pingmapper
# Parameters
inFile = r'C:\Path\To\Recording\Log.svlog'
projDir = r'C:\Path\To\Outputs\MyProject'
sonar_object = cerul2pingmapper(inFile, projDir)
```
Outputs from the above examples will be exported to `C:\Path\To\Outputs\MyProject\meta`.
## Acknowledgments
`PINGVerter` has been made possible through mentorship, partnerships, financial support, open-source software, manuscripts, and documentation linked below.
*NOTE: The contents of this repository are those of the author(s) and do not necessarily represent the views of the individuals and organizations specifically mentioned here.*
- [Dr. Arthur Trembanis](https://www.udel.edu/academics/colleges/ceoe/departments/smsp/faculty/arthur-trembanis/) (Post-Doc Advisor) & [Dr. Daniel Buscombe](https://github.com/dbuscombe-usgs) (PhD Advisor)
- [Coastal Sediments, Hydrodynamics and Engineering Lab (CSHEL)](https://sites.udel.edu/ceoe-art/), [College of Earth, Ocean, & Environment (CEOE)](https://www.udel.edu/ceoe/), [University of Delaware](https://www.udel.edu/)
- [PINGMapper](https://cameronbodine.github.io/PINGMapper/)
- 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
- 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
- [PyHum](https://github.com/BenthicSubstrateMapping/PyHum)
- Buscombe, D., Grams, P.E., and Smith, S. (2015) "Automated riverbed sediment classification using low-cost sidescan sonar", Journal of Hydraulic Engineering, https://doi.org/10.1061/(ASCE)HY.1943-7900.0001079, 06015019.
- Buscombe, D., 2017, Shallow water benthic imaging and substrate characterization using recreational-grade sidescan-sonar. ENVIRONMENTAL MODELLING & SOFTWARE 89, 1-18.
- [SL3Reader](https://github.com/halmaia/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](https://github.com/KennethTM/sonarlight) - Kenneth Thoro Martinsen
- [Navico (Lowrance, Simrad, B&G) Sonar Log File Format](https://www.memotech.franken.de/FileFormats/Navico_SLG_Format.pdf) - Herbert Oppmann
- [Garmin Sonar Log File Format](https://www.memotech.franken.de/FileFormats/Garmin_RSD_Format.pdf) - Herbert Oppmann
- [Blue Robotics (BR)](https://bluerobotics.com/)
- [BR Ping Protocol](https://github.com/bluerobotics/ping-protocol)
- [Cerulean Sonar](https://ceruleansonar.com/)
- [Cerulean Sonar Docs](https://docs.ceruleansonar.com/c/cerulean-ping-protocol/universal-packet-format)
- [Blue Robotics Ping Protocol](https://docs.bluerobotics.com/ping-protocol/pingmessage-omniscan450/)
- [Vincent Capone](https://blacklaserlearning.com/) - Black Laser Learning
## Future Development, Collaborations, & Partnerships
If you are interested in partnering on future developments, please reach out to [Cameron Bodine](https://cameronbodine.github.io/).
Raw data
{
"_id": null,
"home_page": null,
"name": "pingverter",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "pingmapper, sonar, ecology, remotesensing, sidescan, sidescan-sonar, aquatic, humminbird, lowrance, gis, oceanography, limnology",
"author": "Cameron Bodine",
"author_email": "bodine.cs@gmail.email",
"download_url": "https://files.pythonhosted.org/packages/5c/de/a12337b19e5b01dcf6cc472e15b1d270b96af594da788fffbb3ab2e5bea2/pingverter-2.0.6.tar.gz",
"platform": null,
"description": "[)](https://pypi.org/project/pingverter/)\r\n\r\n\r\nA Python-based convertor for sonar logs collected with consumer-grade fishfinders.\r\n\r\n`PINGVerter` is designed to pre-process sonar logs for [PINGMapper](https://cameronbodine.github.io/PINGMapper/) post-processing. *It is not intended to function as a stand-alone package.*\r\n\r\n## Compatibility\r\n\r\n- [Humminbird](https://humminbird.johnsonoutdoors.com/) ( *.DAT/ *.SON/ *.IDX)\r\n- [Lowrance](https://www.lowrance.com/) ( *.sl2 / *.sl3)\r\n- [Garmin](https://www.garmin.com/en-US/c/marine/chartplotters/) (*.RSD)\r\n- [Cerulean](https://ceruleansonar.com/) (Omniscan 450 SS *.svlog)\r\n\r\n## Installation\r\n\r\n\r\n```bash\r\npip install pingverter\r\n```\r\n\r\n## Usage - Example Only\r\n\r\n`PINGVerter` *can* be used as a stand-alone engine for decoding sonar logs and exporting ping attributes to CSV. While this functionality is described here, please use [PINGMapper](https://cameronbodine.github.io/PINGMapper/) for all sonar log processing.\r\n\r\n### Humminbird\r\n```python\r\n# Import\r\nfrom pingverter import hum2pingmapper\r\n\r\n# Parameters\r\ninFile = r'C:\\Path\\To\\Recording\\Rec00001.DAT'\r\nprojDir = r'C:\\Path\\To\\Outputs\\MyProject'\r\n\r\nsonar_object = hum2pingmapper(inFile, projDir)\r\n```\r\n\r\n### Lowrance\r\n```python\r\n# Import\r\nfrom pingverter import low2pingmapper\r\n\r\n# Parameters\r\ninFile = r'C:\\Path\\To\\Recording\\Log.sl2'\r\nprojDir = r'C:\\Path\\To\\Outputs\\MyProject'\r\n\r\nsonar_object = low2pingmapper(inFile, projDir)\r\n```\r\n\r\n### Garmin\r\n```python\r\n# Import\r\nfrom pingverter import gar2pingmapper\r\n\r\n# Parameters\r\ninFile = r'C:\\Path\\To\\Recording\\Log.RSD'\r\nprojDir = r'C:\\Path\\To\\Outputs\\MyProject'\r\n\r\nsonar_object = gar2pingmapper(inFile, projDir)\r\n```\r\n\r\n\r\n### Cerulean\r\n```python\r\n# Import\r\nfrom pingverter import cerul2pingmapper\r\n\r\n# Parameters\r\ninFile = r'C:\\Path\\To\\Recording\\Log.svlog'\r\nprojDir = r'C:\\Path\\To\\Outputs\\MyProject'\r\n\r\nsonar_object = cerul2pingmapper(inFile, projDir)\r\n```\r\n\r\n\r\nOutputs from the above examples will be exported to `C:\\Path\\To\\Outputs\\MyProject\\meta`.\r\n\r\n## Acknowledgments\r\n\r\n`PINGVerter` has been made possible through mentorship, partnerships, financial support, open-source software, manuscripts, and documentation linked below.\r\n\r\n*NOTE: The contents of this repository are those of the author(s) and do not necessarily represent the views of the individuals and organizations specifically mentioned here.*\r\n\r\n- [Dr. Arthur Trembanis](https://www.udel.edu/academics/colleges/ceoe/departments/smsp/faculty/arthur-trembanis/) (Post-Doc Advisor) & [Dr. Daniel Buscombe](https://github.com/dbuscombe-usgs) (PhD Advisor)\r\n- [Coastal Sediments, Hydrodynamics and Engineering Lab (CSHEL)](https://sites.udel.edu/ceoe-art/), [College of Earth, Ocean, & Environment (CEOE)](https://www.udel.edu/ceoe/), [University of Delaware](https://www.udel.edu/)\r\n- [PINGMapper](https://cameronbodine.github.io/PINGMapper/)\r\n - 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\r\n - 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\r\n\r\n\r\n- [PyHum](https://github.com/BenthicSubstrateMapping/PyHum)\r\n - Buscombe, D., Grams, P.E., and Smith, S. (2015) \"Automated riverbed sediment classification using low-cost sidescan sonar\", Journal of Hydraulic Engineering, https://doi.org/10.1061/(ASCE)HY.1943-7900.0001079, 06015019.\r\n - Buscombe, D., 2017, Shallow water benthic imaging and substrate characterization using recreational-grade sidescan-sonar. ENVIRONMENTAL MODELLING & SOFTWARE 89, 1-18.\r\n- [SL3Reader](https://github.com/halmaia/SL3Reader)\r\n - 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\r\n- [sonarlight](https://github.com/KennethTM/sonarlight) - Kenneth Thoro Martinsen\r\n- [Navico (Lowrance, Simrad, B&G) Sonar Log File Format](https://www.memotech.franken.de/FileFormats/Navico_SLG_Format.pdf) - Herbert Oppmann\r\n- [Garmin Sonar Log File Format](https://www.memotech.franken.de/FileFormats/Garmin_RSD_Format.pdf) - Herbert Oppmann\r\n- [Blue Robotics (BR)](https://bluerobotics.com/)\r\n- [BR Ping Protocol](https://github.com/bluerobotics/ping-protocol)\r\n- [Cerulean Sonar](https://ceruleansonar.com/)\r\n- [Cerulean Sonar Docs](https://docs.ceruleansonar.com/c/cerulean-ping-protocol/universal-packet-format)\r\n- [Blue Robotics Ping Protocol](https://docs.bluerobotics.com/ping-protocol/pingmessage-omniscan450/)\r\n\r\n- [Vincent Capone](https://blacklaserlearning.com/) - Black Laser Learning\r\n\r\n\r\n## Future Development, Collaborations, & Partnerships\r\n\r\nIf you are interested in partnering on future developments, please reach out to [Cameron Bodine](https://cameronbodine.github.io/).\r\n",
"bugtrack_url": null,
"license": null,
"summary": "A Python-based converter for sonar logs used by PINGMapper",
"version": "2.0.6",
"project_urls": null,
"split_keywords": [
"pingmapper",
" sonar",
" ecology",
" remotesensing",
" sidescan",
" sidescan-sonar",
" aquatic",
" humminbird",
" lowrance",
" gis",
" oceanography",
" limnology"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "baa4e1957bbeff8e00ac3771bd5945ed566c4b4ff5c7429875bdbd715874e59f",
"md5": "f5c7d19e3ef3e9246ace770e9665510a",
"sha256": "aeebc47f65175762e61b65a69c627bf48af4b0b6ff12f727919bb7a3808a6fbe"
},
"downloads": -1,
"filename": "pingverter-2.0.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f5c7d19e3ef3e9246ace770e9665510a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 54548,
"upload_time": "2025-10-19T13:00:04",
"upload_time_iso_8601": "2025-10-19T13:00:04.737470Z",
"url": "https://files.pythonhosted.org/packages/ba/a4/e1957bbeff8e00ac3771bd5945ed566c4b4ff5c7429875bdbd715874e59f/pingverter-2.0.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5cdea12337b19e5b01dcf6cc472e15b1d270b96af594da788fffbb3ab2e5bea2",
"md5": "1fb24577e882119f86ea27e32b2847c8",
"sha256": "baac921ec66a094c0fabcedb0abe37fdb2cb513cf78b209891db564a50053b44"
},
"downloads": -1,
"filename": "pingverter-2.0.6.tar.gz",
"has_sig": false,
"md5_digest": "1fb24577e882119f86ea27e32b2847c8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 47118,
"upload_time": "2025-10-19T13:00:05",
"upload_time_iso_8601": "2025-10-19T13:00:05.866013Z",
"url": "https://files.pythonhosted.org/packages/5c/de/a12337b19e5b01dcf6cc472e15b1d270b96af594da788fffbb3ab2e5bea2/pingverter-2.0.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-19 13:00:05",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "pingverter"
}