OSOceanAcoustics / echopype

Enabling interoperability and scalability in ocean sonar data analysis
https://echopype.readthedocs.io/
Apache License 2.0
96 stars 73 forks source link

Support for EK80 Broadband Complex Multiplex Data #1302

Closed ctuguinay closed 5 months ago

ctuguinay commented 5 months ago

Addresses #743 and #1287.

Calibration Code Changes:

Small Change

codecov-commenter commented 5 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 89.12%. Comparing base (9f56124) to head (bc833c8). Report is 48 commits behind head on main.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #1302 +/- ## ========================================== + Coverage 83.52% 89.12% +5.60% ========================================== Files 64 11 -53 Lines 5686 984 -4702 ========================================== - Hits 4749 877 -3872 + Misses 937 107 -830 ``` | [Flag](https://app.codecov.io/gh/OSOceanAcoustics/echopype/pull/1302/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=OSOceanAcoustics) | Coverage Δ | | |---|---|---| | [unittests](https://app.codecov.io/gh/OSOceanAcoustics/echopype/pull/1302/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=OSOceanAcoustics) | `89.12% <100.00%> (+5.60%)` | :arrow_up: | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=OSOceanAcoustics#carryforward-flags-in-the-pull-request-comment) to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

leewujung commented 5 months ago

Ok, after some fiddling I found that many other parts of the calibration code does not currently support a fully lazy-loaded EchoData object, mostly due to "Indexing with a boolean dask array is not allowed". Those boolean indexing places are all pretty small under the current constraint that the transmit signal type are identical across ping_time (so can change across channel), so it may be fine to force compute them, but we need to do some more experiment and benchmarking.

That is outside the scope of this PR though, so I'll merge this PR first. Thanks for the investigations and changes to address the alternating channel issue!