### Install Sympy Package with Pip Source: https://cameronbodine.github.io/PINGMapper/docs/faq.html If conda installation fails, try installing the 'sympy' package using pip. Ensure your desired Python environment is activated before running this command. ```bash pip install sympy ``` -------------------------------- ### DAT File ASCII Text Attributes for Onix Series Source: https://cameronbodine.github.io/PINGMapper/docs/advanced/HumFileStructure.html Lists example ASCII attributes found within the DAT file for Humminbird Onix series recordings. These attributes provide human-readable metadata about the sonar recording. ```text Name | Example ---|--- Version | < Version=SonarRecordThumbVersion > Number of Pings | < NumberOfPings=11712 > Total Time Ms | < TotalTimeMs=143092 > Ping Size Bytes | < PingSizeBytes=1652 > First Ping Period | < FirstPingPeriodMs=1 > Beam Mask | < BeamMask=30 > Chirp 1 Start Freq | < Chirp1StartFrequency=0 > Chirp 1 End Freq | < Chirp1EndFrequency=0 > Chirp 2 Start Freq | < Chirp2StartFrequency=0 > Chirp 2 End Freq | < Chirp2EndFrequency=0 > Chirp 3 Start Freq | < Chirp3StartFrequency=0 > Chirp 3 End Freq | < Chirp3EndFrequency=0 > Source Device Model ID 2D | < SourceDeviceModelId2D=1001 > Source Device Model ID SI | < SourceDeviceModelIdSI=1001 > Source Device Model ID DI | < SourceDeviceModelIdDI=1001 > ``` -------------------------------- ### Install Sympy Package with Conda Source: https://cameronbodine.github.io/PINGMapper/docs/faq.html If you encounter a ModuleNotFoundError, you may need to manually install missing packages. Use this command to install 'sympy' within your activated 'ping' conda environment. ```bash conda install sympy ``` -------------------------------- ### Example ModuleNotFoundError Traceback Source: https://cameronbodine.github.io/PINGMapper/docs/faq.html This traceback indicates a 'ModuleNotFoundError' for the 'sympy' package, often occurring when conda or Anaconda does not install all required dependencies for PINGMapper. ```python > Traceback (most recent call last): > File "C:\Users\user-name\PINGMapper\test_PINGMapper.py", line 35, in > from main_readFiles import read_master_func > File "C:\Users\user-name\PINGMapper\src\main_readFiles.py", line 32, in > from class_portstarObj import portstarObj > File "C:\Users\user-name\PINGMapper\src\class_portstarObj.py", line 31, in > from funcs_model import * > File "C:\Users\user-name\PINGMapper\src\funcs_model.py", line 42, in > from transformers import TFSegformerForSemanticSegmentation > File "C:\Users\user-name\.conda\envs\ping\Lib\site-packages\transformers\__init__.py", line 26, in > from . import dependency_versions_check > File "C:\Users\user-name\.conda\envs\ping\Lib\site-packages\transformers\dependency_versions_check.py", line 16, in > from .utils.versions import require_version, require_version_core > File "C:\Users\user-name\.conda\envs\ping\Lib\site-packages\transformers\utils\__init__.py", line 32, in > from .generic import ( > File "C:\Users\user-name\.conda\envs\ping\Lib\site-packages\transformers\utils\generic.py", line 432, in > import torch.utils._pytree as _torch_pytree > File "C:\Users\user-name\AppData\Roaming\Python\Python311\site-packages\torch\__init__.py", line 1504, in > from . import masked > File "C:\Users\user-name\AppData\Roaming\Python\Python311\site-packages\torch\masked\__init__.py", line 3, in > from ._ops import ( > File "C:\Users\user-name\AppData\Roaming\Python\Python311\site-packages\torch\masked\_ops.py", line 11, in > from torch._prims_common import corresponding_real_dtype > File "C:\Users\user-name\AppData\Roaming\Python\Python311\site-packages\torch\_prims_common\__init__.py", line 23, in > import sympy > ModuleNotFoundError: No module named 'sympy' ``` -------------------------------- ### Export Sonogram Tiles with Water Column Present Source: https://cameronbodine.github.io/PINGMapper/docs/gettingstarted/Exports.html Control sonogram tile export with `wcp=True`. Shadows can be removed by setting `remShadows=0` for no removal or `remShadows=2` for far-field shadow removal. ```python wcp=True remShadows=0 ``` ```python wcp=True remShadows=2 ``` -------------------------------- ### Export Mosaic with Water Column Removed and Shadows Preserved Source: https://cameronbodine.github.io/PINGMapper/docs/gettingstarted/Exports.html Configure mosaic export to remove the water column while preserving shadows. Set `remShadow` to 0 to preserve shadows. ```python # Right Panel rect_wcr=True detectDep=1 remShadow=0 mosaic=1 ``` -------------------------------- ### Generate Bedpick Plots Source: https://cameronbodine.github.io/PINGMapper/docs/gettingstarted/Exports.html Create bedpick plots to compare sonar sensor depth estimates with automated bedpicks by setting `pltBedPick = True` and selecting the depth detection method `detectDep = 1`. ```python detectDep = 1 pltBedPick = True ``` -------------------------------- ### Export Mosaic with Water Column and Shadows Removed Source: https://cameronbodine.github.io/PINGMapper/docs/gettingstarted/Exports.html Configure mosaic export to remove both the water column and shadows for a geographically accurate representation. Set `remShadow` to 2 to remove shadows. ```python # Left Panel rect_wcr=True detectDep=1 remShadow=2 mosaic=1 ``` -------------------------------- ### Export Sonogram Tiles with Water Column Removed Source: https://cameronbodine.github.io/PINGMapper/docs/gettingstarted/Exports.html Remove the water column by setting `wcr=True`. Pixels are relocated using a flat bottom assumption. Select the desired depth detection method (`detectDep`) and shadow removal option (`remShadows`). ```python wcr=True detectDep=0 remShadows=0 ``` ```python wcr=True detectDep=1 remShadows=2 ``` -------------------------------- ### Along-Track Stretch Sonogram with Water Column and Shadows Removed (Stretch Factor 10) Source: https://cameronbodine.github.io/PINGMapper/docs/gettingstarted/Exports.html Create an along-track stretched sonogram with water column and shadows removed, using a stretch factor of `10`. Parameters include `lbl_set = 2`, `spdCor = 10`, `maxCrop = True`, `remShadow = 2`, and `detectDep = 1`. ```python lbl_set = 2 spdCor = 10 maxCrop = True remShadow = 2 detectDep = 1 ``` -------------------------------- ### Export Mosaic with Water Column Present Source: https://cameronbodine.github.io/PINGMapper/docs/gettingstarted/Exports.html Use this setting to export mosaics that include the water column. Note that these mosaics are not geographically correct. ```python rect_wcp=True ``` -------------------------------- ### Humminbird Sonar Directory Structure Source: https://cameronbodine.github.io/PINGMapper/docs/gettingstarted/Running.html Required directory structure for Humminbird sonar recordings when performing batch processing. ```text AllRecordings ├── Rec00001.DAT │ ├── Rec00001 │ │ ├── B001.IDX │ │ ├── B001.SON │ │ ├── B002.IDX │ │ ├── B002.SON │ │ ├── B003.IDX │ │ ├── B003.SON │ │ ├── B004.IDX │ │ └── B004.IDX ├── Rec00002.DAT │ ├── Rec00002 │ │ ├── B001.IDX │ │ ├── B001.SON │ │ ├── B002.IDX │ │ ├── B002.SON │ │ ├── B003.IDX │ │ ├── B003.SON │ │ ├── B004.IDX │ │ └── B004.IDX .... ``` -------------------------------- ### DAT File Binary Header Structure for Onix Series Source: https://cameronbodine.github.io/PINGMapper/docs/advanced/HumFileStructure.html Defines the binary header structure at the beginning of the DAT file for Humminbird Onix series recordings. This section contains essential metadata before the ASCII text attributes. ```text Name | Offset | Description ---|---|--- DAT Beginning | +0 | Beginning of DAT File Water Type | +1 | 0=’fresh’ (freshwater); 1=’deep salt’; 2=’shallow salt’; otherwise=’unknown’ Unknown | +2-3 | - Number of Pings | +4 | Number of sonar records/pings Length | +8 | Length (in milliseconds) of sonar recording Ping Size (Bytes) | +12 | Number of returns per ping First Ping Period | +16 | First ping period (in milliseconds) Beam Mask | +20 | Unknown Spacer | +24 | Spacer preceding ascii text ``` -------------------------------- ### DAT File Structure for 9xx/11xx/Helix/Solix Series Source: https://cameronbodine.github.io/PINGMapper/docs/advanced/HumFileStructure.html Details the byte offsets and corresponding data fields within the DAT file for Humminbird 9xx, 11xx, Helix, and Solix series sonar recordings. This structure is consistent across these models. ```text Name | Offset (9xx, 11xx, Helix) | Offset (Solix) | Description ---|---|---|--- DAT Beginning | +0 | +0 | Beginning of DAT File Water Type | +1 | +1 | 0=’fresh’ (freshwater); 1=’deep salt’; 2=’shallow salt’; otherwise=’unknown’ - | +2-3 | +2-3 | - Firmware Version (?) | +4 | +4 | Installed firmware version (?) - | +8-19 | +8-19 | - Unix Date/Time | +20 | +20 | Recording start date and time UTM X | +24 | +24 | EPSG 3395 Easting UTM Y | +28 | +28 | EPSG 3395 Northing Recording Name | +32 | +32 | Recording name - | +42-43 | +42-43 | Unknown Number of Records | +44 | +44 | Number of pings Length | +48 | +48 | Length (in milliseconds) of sonar recording - | +52-59 | +52-91 | - DAT End | +60 | +92 | End of DAT File ``` -------------------------------- ### Along-Track Stretch Sonogram with Water Column and Shadows Removed (Stretch Factor 0.75) Source: https://cameronbodine.github.io/PINGMapper/docs/gettingstarted/Exports.html Create an along-track stretched sonogram with water column and shadows removed, using a stretch factor of `0.75`. Parameters include `lbl_set = 2`, `spdCor = 0.75`, `maxCrop = True`, `remShadow = 2`, and `detectDep = 1`. ```python lbl_set = 2 spdCor = 0.75 maxCrop = True remShadow = 2 detectDep = 1 ``` -------------------------------- ### Export Unknown Ping Attributes to CSV Source: https://cameronbodine.github.io/PINGMapper/docs/gettingstarted/Exports.html Enable exporting of un-reverse-engineered attributes by setting `exportUnknown=True` in `main.py`. These attributes are saved in the `meta` folder. ```python exportUnknown=True ``` -------------------------------- ### Humminbird SD Card Recording Structure Source: https://cameronbodine.github.io/PINGMapper/docs/advanced/HumFileStructure.html Illustrates the typical file and directory structure for sonar recordings saved on an SD card from a Humminbird device. Each recording consists of a .DAT file and a corresponding directory containing .SON and .IDX files. ```text Rec00001.DAT ├── Rec00001 │ ├── B001.IDX │ ├── B001.SON │ ├── B002.IDX │ ├── B002.SON │ ├── B003.IDX │ ├── B003.SON │ ├── B004.IDX │ └── B004.IDX Rec00002.DAT ├── Rec00002 │ ├── B001.IDX │ ├── B001.SON │ ├── B002.IDX │ ├── B002.SON │ ├── B003.IDX │ ├── B003.SON │ ├── B004.IDX │ └── B004.IDX .... ``` -------------------------------- ### Speed Corrected Sonogram with Water Column and Shadows Present Source: https://cameronbodine.github.io/PINGMapper/docs/gettingstarted/Exports.html Generate a speed-corrected sonogram with water column and shadows included. Use `lbl_set = 1`, `spdCor = 1`, `maxCrop = True`, `remShadow = 0`, and `detectDep = 0`. ```python lbl_set = 1 spdCor = 1 maxCrop = True remShadow = 0 detectDep = 0 ``` -------------------------------- ### Speed Corrected Sonogram with Water Column and Shadows Removed Source: https://cameronbodine.github.io/PINGMapper/docs/gettingstarted/Exports.html Generate a speed-corrected sonogram with water column and shadows removed. Use `lbl_set = 2`, `spdCor = 1`, `maxCrop = True`, `remShadow = 2`, and `detectDep = 1`. ```python lbl_set = 2 spdCor = 1 maxCrop = True remShadow = 2 detectDep = 1 ```