Sediment calibration: Recompute kt2D/kt3D and J_cross_section at study open.

dev
Pierre-Antoine 2025-04-16 09:50:28 +02:00
parent 660a09b09a
commit c60db3c346
2 changed files with 18 additions and 22 deletions

View File

@ -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

View File

@ -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][