From c60db3c346bd612bf89678f34bd7778a31618e02 Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Rouby Date: Wed, 16 Apr 2025 09:50:28 +0200 Subject: [PATCH] Sediment calibration: Recompute kt2D/kt3D and J_cross_section at study open. --- ...tic_inversion_method_high_concentration.py | 8 +++-- View/sediment_calibration_tab.py | 32 ++++++++----------- 2 files changed, 18 insertions(+), 22 deletions(-) diff --git a/Model/acoustic_inversion_method_high_concentration.py b/Model/acoustic_inversion_method_high_concentration.py index b2a2cbd..e6c1f79 100644 --- a/Model/acoustic_inversion_method_high_concentration.py +++ b/Model/acoustic_inversion_method_high_concentration.py @@ -20,11 +20,16 @@ # -*- coding: utf-8 -*- +import logging import numpy as np import settings as stg from Model.GrainSizeTools import demodul_granulo, mix_gaussian_model +from tools import trace + +logger = logging.getLogger("acoused") + class AcousticInversionMethodHighConcentration(): @@ -203,7 +208,6 @@ class AcousticInversionMethodHighConcentration(): r2D, water_attenuation_freq1, water_attenuation_freq2, X): - logVBI = ((zeta_freq2 * np.log(j_cross_section_freq1 * np.exp(4 * r2D * water_attenuation_freq1) / (freq1 ** X)) - @@ -223,5 +227,3 @@ class AcousticInversionMethodHighConcentration(): def SSC_sand(self, VBI, freq, X, ks): SSC_sand = (16 * np.pi * VBI * freq ** X) / (3 * ks**2) return SSC_sand - - diff --git a/View/sediment_calibration_tab.py b/View/sediment_calibration_tab.py index 09139a3..b9db4bc 100644 --- a/View/sediment_calibration_tab.py +++ b/View/sediment_calibration_tab.py @@ -870,6 +870,9 @@ class SedimentCalibrationTab(QWidget): self._update_calibration() self.function_pushbutton_plot_sample() + self.compute_kt2D_kt3D() + self.compute_J_cross_section() + self.blockSignals(False) def _update_calibration_parameters(self): @@ -1020,9 +1023,7 @@ class SedimentCalibrationTab(QWidget): stg.frequency_for_inversion = tuple() stg.frequency_for_inversion = ( - stg.freq[data_id][ - freq2 - ], + stg.freq[data_id][freq2], freq2 ) @@ -1030,7 +1031,8 @@ class SedimentCalibrationTab(QWidget): self.verticalLayout_groupbox_data_plot.removeWidget(self.toolbar_BS) self.verticalLayout_groupbox_data_plot.removeWidget(self.canvas_BS) self.fig_BS, self.axis_BS = plt.subplots( - nrows=1, ncols=1, sharex=True, sharey=False, layout='constrained' + nrows=1, ncols=1, sharex=True, sharey=False, + layout='constrained' ) self.canvas_BS = FigureCanvas(self.fig_BS) self.toolbar_BS = NavigationToolBar(self.canvas_BS, self) @@ -1041,18 +1043,10 @@ class SedimentCalibrationTab(QWidget): data_id ].shape != (0,): val_min = np.nanmin( - stg.BS_stream_bed_pre_process_average[ - data_id - ][ - freq2, :, : - ] + stg.BS_stream_bed_pre_process_average[data_id][freq2, :, :] ) val_max = np.nanmax( - stg.BS_stream_bed_pre_process_average[ - data_id - ][ - freq2, :, : - ] + stg.BS_stream_bed_pre_process_average[data_id][freq2, :, :] ) if val_min == 0: val_min = 1e-5 @@ -1060,13 +1054,13 @@ class SedimentCalibrationTab(QWidget): if stg.time_cross_section[data_id].shape != (0,): if stg.depth_cross_section[data_id].shape != (0,): self.axis_BS.pcolormesh( - stg.time_cross_section[data_id][ - freq2, :], - -stg.depth_cross_section[data_id][ - freq2, :], + stg.time_cross_section[data_id][freq2, :], + -stg.depth_cross_section[data_id][freq2, :], stg.BS_stream_bed_pre_process_average[data_id][ freq2, :, :], - cmap='viridis', norm=LogNorm(vmin=val_min, vmax=val_max)) + cmap='viridis', + norm=LogNorm(vmin=val_min, vmax=val_max) + ) else: self.axis_BS.pcolormesh( stg.time_cross_section[data_id][