CameronBodine / PINGMapper

Open-source interface for processing recreation-grade side scan sonar datasets and reproducibly mapping benthic habitat
https://cameronbodine.github.io/PINGMapper/
MIT License
39 stars 3 forks source link

PINGMapper for processing Humminbird Helix 7 data #77

Closed henzb72 closed 7 months ago

henzb72 commented 1 year ago

Hi all,

I tried to run the PINGMapper to process my Humminbird Helix 7 data, however, I encountered this error:

Traceback (most recent call last): File "C:\Users\henzf\anaconda3\envs\PING\Lib\site-packages\osgeo__init__.py", line 30, in swig_import_helper return importlib.import_module(mname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\henzf\anaconda3\envs\PING\Lib\importlib__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 1206, in _gcd_import File "", line 1178, in _find_and_load File "", line 1149, in _find_and_load_unlocked File "", line 676, in _load_unlocked File "", line 573, in module_from_spec File "", line 1233, in create_module File "", line 241, in _call_with_frames_removed ImportError: DLL load failed while importing _gdal: The specified procedure could not be found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users\henzf\MyPythonRepos\PINGMapper[http://main.py](https://t.co/FBpEkKCDrP)", line 34, in from main_readFiles import read_master_func File "C:\Users\henzf\MyPythonRepos\PINGMapper\src\main_readFiles.py", line 32, in from class_portstarObj import portstarObj File "C:\Users\henzf\MyPythonRepos\PINGMapper\src\class_portstarObj.py", line 34, in from osgeo import gdal File "C:\Users\henzf\anaconda3\envs\PING\Lib\site-packages\osgeo__init__.py", line 35, in _gdal = swig_import_helper() ^^^^^^^^^^^^^^^^^^^^ File "C:\Users\henzf\anaconda3\envs\PING\Lib\site-packages\osgeo__init.py", line 32, in swig_import_helper return importlib.import_module('_gdal') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\henzf\anaconda3\envs\PING\Lib\importlib\init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ModuleNotFoundError: No module named '_gdal'

Could you please give me a solution regarding this.

Thank you.

CameronBodine commented 1 year ago

Thanks for reporting! It appears there is an issue with the installation of the 'ping' conda environment. Can you confirm that the environment is activated and try to install gdal with the following:

conda install gdal

henzb72 commented 1 year ago

I have activated PING environment and when I checked the conda list there is gdal 3.7.0 py311hf43951c_1 conda-forge. I also had no issue when testing using test data, however the error came up when I run the main.py using my data

CameronBodine commented 1 year ago

Good to know. Can you provide the contents of the main.py script as well as the entire console output, not just the error portion? It would also be helpful to have the recording you are trying to process. Can you upload them at the link below or some other location?

https://drive.google.com/drive/folders/1-0uBe4E2C5O3ME6gLuQ1DG-w05Egcb33

CameronBodine commented 1 year ago

@henzb72 were you able to resolve your issue? I'm still willing to take a look at your recordings if you can share them with me.

henzb72 commented 1 year ago

Yes, I have uploaded the resulting Geotiff image to your google drive. Please have a look and suggest what things I need to improve (regarding the acquisition and processing), since I think the image is still imperfect.

Cheers.

CameronBodine commented 1 year ago

Thanks and I'm happy you were able to get up and running. I do have a few suggestions and comments. I want to first note that the recordings look pretty good and most of the issues in terms of quality are likely due to environmental factors.

Hope this helps. I think the gain normalization feature coming (soon) in v2.0 of the software will help enhance the contrast and make the imagery more interpretable.

henzb72 commented 1 year ago

Thank you for the suggestions. I have several inquiries regarding the image.

  1. There is different brightness in the image, particularly in the overlapping area (the brightness of the overlapped area doesn't match each other) so this lead to difficult interpretation if any object exists in this area
  2. There are a lot of blank spots in the image (what is it due? and how to handle this?)
  3. Can we compensate the distortion of the mosaic due to the vessel's movement up and down?

Cheers.

CameronBodine commented 1 year ago

There is different brightness in the image, particularly in the overlapping area (the brightness of the overlapped area doesn't match each other) so this lead to difficult interpretation if any object exists in this area

This is typical of side scan sonar imagery. The sound attenuates as the range increases, resulting in a reduction of signal returned to the transducer. No information is provided in the Humminbird file to correct for this. That is why I have developed a correction that is coming in the second version of PINGMapper called Empirical Gain Normalization. I included some examples below. image egn_mosaic

There are a lot of blank spots in the image (what is it due? and how to handle this?)

This is the result of the shadow detection algorithm included in the software. You can disable this option by setting remShadow=False. You can find other information about the parameters here.

Can we compensate the distortion of the mosaic due to the vessel's movement up and down?

Are you referring to vessel heave? If so, none of this information is stored in the Humminbird file allowing for correction. If you had an intertial momentum unit, you could theoretically correct for this. But there are no options to apply these corrections in PINGMapper. This has been disscussed on #84. You can find out what information is stored in the Humminbird file here.

I hope this helps. P.S. I will respond to your inquiry on Twitter this week.

CameronBodine commented 11 months ago

Hi Hendra, An alpha release of v2.0.0 is now available, which includes the gain normalization routine. Go ahead and update your version of PINGMapper and let me know how it goes.

henzb72 commented 11 months ago

Hi Hendra, An alpha release of v2.0.0 is now available, which includes the gain normalization routine. Go ahead and update your version of PINGMapper and let me know how it goes.

It's great to hear that, I would try to re-process the data. Would you please reply to my inquiry on the Twitter?

Cheers.

CameronBodine commented 11 months ago

So sorry! Just sent you a reply!

CameronBodine commented 7 months ago

I am assuming this is fixed. Please reopen if the issue persists.