Closed ctuguinay closed 5 months ago
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.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
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!
Addresses #743 and #1287.
Calibration Code Changes:
compress_pulse
, the convolution operation handlesNaNs
by turning them into0s
and turning them back intoNaNs
post-convolution.get_transmit_signal
, filtered out NaNs fromtx_params
NaN
tx_params
, but that should be a separate PR.harmonize_env_param_time
, separated out the singletime1
when dropNaN
case from singletime1
without dropNaN
case.time1
dimension and has alternatingNaN
/ non-NaN
pattern. When dropNaN
on thetime1
dimension is called on the multiplex data array, it will drop ALL values of the array, which is not the desired behavior.NaNs
that appear due to 1) multiplex ping patterns and 2) single beam transducer systems that don't contain angle offset information.Small Change
drop
todrop_vars
, sincedrop
is now deprecated