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

Sonar intensity corrections #67

Closed CameronBodine closed 1 year ago

CameronBodine commented 1 year ago

It would be good to get the sonar intensity corrections used by PyHum. This issue will be used to track progress.

CameronBodine commented 1 year ago

Made an attempt with commit referenced above. Output does not look right (see below). It may be an issue with the water column removal procedure. Another thing is that PyHum does the corrections with memory mapping. I'm guessing this allows the calculations to be performed across the entire scan at once. In my implementation, I am processing the corrections for each chunk separately. This may be why there are large differences in corrected intensities across each chunk. I'm moving on to other tasks and may return to this later, time dependent.

image

CameronBodine commented 1 year ago

Variation in each chunk's intensity in above image is likely due to not rescaling pixel intensity based on global min and max.

Not sure why nadir is so dark.

CameronBodine commented 1 year ago

Added new Empiracle Gain Normalization (EGN) technique to normalize sonar intensities by range and incidence angle. I found a description of the workflow in this abstract which is a functionality available in SonarWiz. I used these references to develop EGN workflow in PING-Mapper.

First commit: aab79ac Latest commit: 4e4806b

Results are extremely promising: image

image

1 2 3 4 5

Functionality will be available in v2.0, coming soon. Closing as complete.