From 58a7934d506eb979a396d5f1e27b5fcd308ade97 Mon Sep 17 00:00:00 2001 From: brahim Date: Wed, 2 Oct 2024 16:54:52 +0200 Subject: [PATCH] All QDoubleSpinbox in Measurement information are replaced by QlineEdit --- View/acoustic_data_tab.py | 411 +++++++++++++++++++++++++------------- 1 file changed, 270 insertions(+), 141 deletions(-) diff --git a/View/acoustic_data_tab.py b/View/acoustic_data_tab.py index 4b11f24..036f853 100644 --- a/View/acoustic_data_tab.py +++ b/View/acoustic_data_tab.py @@ -6,7 +6,7 @@ from PyQt5.QtWidgets import (QWidget, QVBoxLayout, QHBoxLayout, QGroupBox, QPush QAbstractScrollArea, QFileDialog, QTableWidgetItem, QMessageBox, QScrollBar, QScrollArea, QProgressBar, QRadioButton, QFormLayout, QSlider, QAbstractItemView, QMenu, QItemDelegate, QCheckBox, QAbstractSpinBox) -from PyQt5.QtGui import QPixmap, QIcon, QFont, QMouseEvent +from PyQt5.QtGui import QPixmap, QIcon, QFont, QMouseEvent, QIntValidator, QDoubleValidator from PyQt5.QtCore import Qt, QCoreApplication, pyqtSignal, pyqtSlot, QEvent import numpy as np @@ -26,6 +26,8 @@ locale.setlocale(locale.LC_ALL, '') from scipy.signal import savgol_filter +from re import findall + from pyqt_svg_button import SvgButton from pyqt_file_list_widget.fileListWidget import FileListWidget @@ -244,32 +246,54 @@ class AcousticDataTab(QWidget): self.scrollbar_measurement_information.setWidget(self.groupbox_info) - self.label_temperature = QLabel("Temperature : ") - - self.spinbox_temperature = QDoubleSpinBox() - self.spinbox_temperature.setSuffix("°C") - self.spinbox_temperature.setKeyboardTracking(False) - - self.label_speed_of_sound = QLabel("Speed of sound : ") - - self.spinbox_speed_of_sound = QDoubleSpinBox() - self.spinbox_speed_of_sound.setSuffix("m/s") - self.spinbox_speed_of_sound.setMaximum(1e5) - - self.label_sound_attenuation = QLabel("Sound attenuation : ") - - self.spinbox_sound_attenuation = QDoubleSpinBox() - self.spinbox_sound_attenuation.setSuffix("/m") - self.spinbox_sound_attenuation.setDecimals(5) - self.label_ABS_name = QLabel() self.label_date_acoustic_file = QLabel() self.label_hour_acoustic_file = QLabel() + self.label_temperature = QLabel("Temperature : ") + + # self.spinbox_temperature = QDoubleSpinBox() + # self.spinbox_temperature.setSuffix("°C") + # self.spinbox_temperature.setKeyboardTracking(False) + + self.lineEdit_temperature = QLineEdit() + self.lineEdit_temperature.setText("0.00 °C") + self.lineEdit_temperature.setMaximumWidth(150) + # self.lineEdit_temperature.setValidator(QDoubleValidator) + + self.label_speed_of_sound = QLabel("Speed of sound : ") + + # self.spinbox_speed_of_sound = QDoubleSpinBox() + # self.spinbox_speed_of_sound.setSuffix("m/s") + # self.spinbox_speed_of_sound.setMaximum(1e5) + + self.lineEdit_speed_of_sound = QLineEdit() + self.lineEdit_speed_of_sound.setMaximumWidth(150) + + self.label_sound_attenuation = QLabel("Sound attenuation : ") + self.label_freq = QLabel() self.combobox_frequency_information = QComboBox() + self.label_kt = QLabel() + # self.spinbox_kt = QDoubleSpinBox() + # self.spinbox_kt.setDecimals(2) + # self.spinbox_kt.setMaximum(1e6) + + self.lineEdit_kt = QLineEdit() + self.lineEdit_kt.setMaximumWidth(150) + + self.checkbox_kt = QCheckBox() + self.checkbox_kt.setChecked(True) + + # self.spinbox_sound_attenuation = QDoubleSpinBox() + # self.spinbox_sound_attenuation.setSuffix("/m") + # self.spinbox_sound_attenuation.setDecimals(5) + + self.lineEdit_sound_attenuation = QLineEdit() + self.lineEdit_sound_attenuation.setMaximumWidth(150) + self.label_profiles = QLabel() self.label_profiles_value = QLabel() self.label_profiles_per_sec = QLabel() @@ -285,22 +309,23 @@ class AcousticDataTab(QWidget): self.label_pings_per_profile = QLabel() # n_profile/n_avg in UBSediFlow parameters self.label_pings_per_profile_value = QLabel() - self.label_kt = QLabel() - self.spinbox_kt = QDoubleSpinBox() - self.spinbox_kt.setDecimals(2) - self.spinbox_kt.setMaximum(1e6) - - self.checkbox_kt = QCheckBox() - self.checkbox_kt.setChecked(True) - self.label_rx = QLabel() # a0 in UBSediFlow parameters - self.spinbox_rx = QDoubleSpinBox() - self.spinbox_rx.setMaximum(1e6) + # self.spinbox_rx = QDoubleSpinBox() + # self.spinbox_rx.setMaximum(1e6) + + self.lineEdit_rx = QLineEdit() + self.lineEdit_rx.setMaximumWidth(150) + self.checkbox_rx = QCheckBox() self.label_tx = QLabel() # a1 in UBSediFlow parameters - self.spinbox_tx = QDoubleSpinBox() - self.spinbox_tx.setMaximum(1e6) + + # self.spinbox_tx = QDoubleSpinBox() + # self.spinbox_tx.setMaximum(1e6) + + self.lineEdit_tx = QLineEdit() + self.lineEdit_tx.setMaximumWidth(150) + self.checkbox_tx = QCheckBox() # --- Group box noise file --- (move to signal processing tab) @@ -1216,7 +1241,10 @@ class AcousticDataTab(QWidget): self.radiobutton_file.toggled.connect(self.onClicked_radiobutton_gps) # self.spinbox_temperature.valueChanged.connect(self.temperature_value) - self.spinbox_temperature.lineEdit().returnPressed.connect(self.temperature_value) + # self.spinbox_temperature.lineEdit().returnPressed.connect(self.temperature_value) + self.lineEdit_temperature.returnPressed.connect(self.temperature_value) + self.lineEdit_speed_of_sound.returnPressed.connect(self.water_velocity) + self.lineEdit_sound_attenuation.returnPressed.connect(self.water_attenuation) # self.spinbox_tmax.lineEdit().returnPressed.connect(self.time_spin_box_value) # self.spinbox_tmax.lineEdit().returnPressed.connect(self.compute_time) @@ -1418,13 +1446,16 @@ class AcousticDataTab(QWidget): self.label_hour_acoustic_file.hide() self.label_temperature.hide() - self.spinbox_temperature.hide() + # self.spinbox_temperature.hide() + self.lineEdit_temperature.hide() self.label_speed_of_sound.hide() - self.spinbox_speed_of_sound.hide() + # self.spinbox_speed_of_sound.hide() + self.lineEdit_speed_of_sound.hide() self.label_sound_attenuation.hide() - self.spinbox_sound_attenuation.hide() + # self.spinbox_sound_attenuation.hide() + self.lineEdit_sound_attenuation.hide() self.label_freq.hide() self.combobox_frequency_information.hide() @@ -1438,15 +1469,18 @@ class AcousticDataTab(QWidget): self.label_pings_per_profile.hide() self.label_kt.hide() - self.spinbox_kt.hide() + # self.spinbox_kt.hide() + self.lineEdit_kt.hide() self.checkbox_kt.hide() self.label_rx.hide() - self.spinbox_rx.hide() + # self.spinbox_rx.hide() + self.lineEdit_rx.hide() self.checkbox_rx.hide() self.label_tx.hide() - self.spinbox_tx.hide() + # self.spinbox_tx.hide() + self.lineEdit_tx.hide() self.checkbox_tx.hide() def groupbox_measurement_information_Aquascat(self): @@ -1457,13 +1491,16 @@ class AcousticDataTab(QWidget): self.label_hour_acoustic_file.hide() self.label_temperature.hide() - self.spinbox_temperature.hide() + # self.spinbox_temperature.hide() + self.lineEdit_temperature.hide() self.label_speed_of_sound.hide() - self.spinbox_speed_of_sound.hide() + # self.spinbox_speed_of_sound.hide() + self.lineEdit_speed_of_sound.hide() self.label_sound_attenuation.hide() - self.spinbox_sound_attenuation.hide() + # self.spinbox_sound_attenuation.hide() + self.lineEdit_sound_attenuation.hide() self.label_freq.hide() self.combobox_frequency_information.hide() @@ -1477,15 +1514,18 @@ class AcousticDataTab(QWidget): self.label_pings_per_profile.hide() self.label_kt.hide() - self.spinbox_kt.hide() + # self.spinbox_kt.hide() + self.lineEdit_kt.hide() self.checkbox_kt.hide() self.label_rx.hide() - self.spinbox_rx.hide() + # self.spinbox_rx.hide() + self.lineEdit_rx.hide() self.checkbox_rx.hide() self.label_tx.hide() - self.spinbox_tx.hide() + # self.spinbox_tx.hide() + self.lineEdit_tx.hide() self.checkbox_tx.hide() for i in reversed(range(self.gridLayout_goupbox_info.count())): @@ -1508,14 +1548,16 @@ class AcousticDataTab(QWidget): self.label_temperature.show() self.gridLayout_goupbox_info.addWidget(self.label_temperature, 2, 0, 1, 1) - self.spinbox_temperature.show() - self.gridLayout_goupbox_info.addWidget(self.spinbox_temperature, 2, 1, 1, 1) + # self.spinbox_temperature.show() + self.lineEdit_temperature.show() + self.gridLayout_goupbox_info.addWidget(self.lineEdit_temperature, 2, 1, 1, 1) self.temperature_value() self.label_speed_of_sound.show() self.gridLayout_goupbox_info.addWidget(self.label_speed_of_sound, 3, 0, 1, 1) - self.spinbox_speed_of_sound.show() - self.gridLayout_goupbox_info.addWidget(self.spinbox_speed_of_sound, 3, 1, 1, 1) + # self.spinbox_speed_of_sound.show() + self.lineEdit_speed_of_sound.show() + self.gridLayout_goupbox_info.addWidget(self.lineEdit_speed_of_sound, 3, 1, 1, 1) self.label_freq.show() self.gridLayout_goupbox_info.addWidget(self.label_freq, 4, 0, 1, 1) @@ -1524,15 +1566,17 @@ class AcousticDataTab(QWidget): self.label_kt.show() self.gridLayout_goupbox_info.addWidget(self.label_kt, 5, 0, 1, 1) - self.spinbox_kt.show() - self.gridLayout_goupbox_info.addWidget(self.spinbox_kt, 5, 1, 1, 1) + # self.spinbox_kt.show() + self.lineEdit_kt.show() + self.gridLayout_goupbox_info.addWidget(self.lineEdit_kt, 5, 1, 1, 1) self.checkbox_kt.show() self.gridLayout_goupbox_info.addWidget(self.checkbox_kt, 5, 2, 1, 1) self.label_sound_attenuation.show() self.gridLayout_goupbox_info.addWidget(self.label_sound_attenuation, 6, 0, 1, 1) - self.spinbox_sound_attenuation.show() - self.gridLayout_goupbox_info.addWidget(self.spinbox_sound_attenuation, 6, 1, 1, 1) + # self.spinbox_sound_attenuation.show() + self.lineEdit_sound_attenuation.show() + self.gridLayout_goupbox_info.addWidget(self.lineEdit_sound_attenuation, 6, 1, 1, 1) self.label_profiles.show() self.gridLayout_goupbox_info.addWidget(self.label_profiles, 7, 0, 1, 1) @@ -1551,15 +1595,17 @@ class AcousticDataTab(QWidget): self.label_rx.show() self.gridLayout_goupbox_info.addWidget(self.label_rx, 14, 0, 1, 1) - self.spinbox_rx.show() - self.gridLayout_goupbox_info.addWidget(self.spinbox_rx, 14, 1, 1, 1) + # self.spinbox_rx.show() + self.lineEdit_rx.show() + self.gridLayout_goupbox_info.addWidget(self.lineEdit_rx, 14, 1, 1, 1) self.checkbox_rx.show() self.gridLayout_goupbox_info.addWidget(self.checkbox_rx, 14, 2, 1, 1) self.label_tx.show() self.gridLayout_goupbox_info.addWidget(self.label_tx, 15, 0, 1, 1) - self.spinbox_tx.show() - self.gridLayout_goupbox_info.addWidget(self.spinbox_tx, 15, 1, 1, 1) + # self.spinbox_tx.show() + self.lineEdit_tx.show() + self.gridLayout_goupbox_info.addWidget(self.lineEdit_tx, 15, 1, 1, 1) self.checkbox_tx.show() self.gridLayout_goupbox_info.addWidget(self.checkbox_tx, 15, 2, 1, 1) @@ -1571,13 +1617,16 @@ class AcousticDataTab(QWidget): self.label_hour_acoustic_file.hide() self.label_temperature.hide() - self.spinbox_temperature.hide() + # self.spinbox_temperature.hide() + self.lineEdit_temperature.hide() self.label_speed_of_sound.hide() - self.spinbox_speed_of_sound.hide() + # self.spinbox_speed_of_sound.hide() + self.lineEdit_speed_of_sound.hide() self.label_sound_attenuation.hide() - self.spinbox_sound_attenuation.hide() + # self.spinbox_sound_attenuation.hide() + self.lineEdit_sound_attenuation.hide() self.label_freq.hide() self.combobox_frequency_information.hide() @@ -1591,15 +1640,18 @@ class AcousticDataTab(QWidget): self.label_pings_per_profile.hide() self.label_kt.hide() - self.spinbox_kt.hide() + # self.spinbox_kt.hide() + self.lineEdit_kt.hide() self.checkbox_kt.hide() self.label_rx.hide() - self.spinbox_rx.hide() + # self.spinbox_rx.hide() + self.lineEdit_rx.hide() self.checkbox_rx.hide() self.label_tx.hide() - self.spinbox_tx.hide() + # self.spinbox_tx.hide() + self.lineEdit_tx.hide() self.checkbox_tx.hide() for i in reversed(range(self.gridLayout_goupbox_info.count())): @@ -1621,13 +1673,15 @@ class AcousticDataTab(QWidget): self.label_temperature.show() self.gridLayout_goupbox_info.addWidget(self.label_temperature, 2, 0, 1, 1) - self.spinbox_temperature.show() - self.gridLayout_goupbox_info.addWidget(self.spinbox_temperature, 2, 1, 1, 1) + # self.spinbox_temperature.show() + self.lineEdit_temperature.show() + self.gridLayout_goupbox_info.addWidget(self.lineEdit_temperature, 2, 1, 1, 1) self.label_speed_of_sound.show() self.gridLayout_goupbox_info.addWidget(self.label_speed_of_sound, 3, 0, 1, 1) - self.spinbox_speed_of_sound.show() - self.gridLayout_goupbox_info.addWidget(self.spinbox_speed_of_sound, 3, 1, 1, 1) + # self.spinbox_speed_of_sound.show() + self.lineEdit_speed_of_sound.show() + self.gridLayout_goupbox_info.addWidget(self.lineEdit_speed_of_sound, 3, 1, 1, 1) self.label_freq.show() self.gridLayout_goupbox_info.addWidget(self.label_freq, 4, 0, 1, 1) @@ -1636,15 +1690,17 @@ class AcousticDataTab(QWidget): self.label_kt.show() self.gridLayout_goupbox_info.addWidget(self.label_kt, 5, 0, 1, 1) - self.spinbox_kt.show() - self.gridLayout_goupbox_info.addWidget(self.spinbox_kt, 5, 1, 1, 1) + # self.spinbox_kt.show() + self.lineEdit_kt.show() + self.gridLayout_goupbox_info.addWidget(self.lineEdit_kt, 5, 1, 1, 1) self.checkbox_kt.show() self.gridLayout_goupbox_info.addWidget(self.checkbox_kt, 5, 2, 1, 1) self.label_sound_attenuation.show() self.gridLayout_goupbox_info.addWidget(self.label_sound_attenuation, 6, 0, 1, 1) - self.spinbox_sound_attenuation.show() - self.gridLayout_goupbox_info.addWidget(self.spinbox_sound_attenuation, 6, 1, 1, 1) + # self.spinbox_sound_attenuation.show() + self.lineEdit_sound_attenuation.show() + self.gridLayout_goupbox_info.addWidget(self.lineEdit_sound_attenuation, 6, 1, 1, 1) self.label_profiles.show() self.gridLayout_goupbox_info.addWidget(self.label_profiles, 7, 0, 1, 1) @@ -1663,20 +1719,36 @@ class AcousticDataTab(QWidget): self.label_rx.show() self.gridLayout_goupbox_info.addWidget(self.label_rx, 14, 0, 1, 1) - self.spinbox_rx.show() - self.gridLayout_goupbox_info.addWidget(self.spinbox_rx, 14, 1, 1, 1) + # self.spinbox_rx.show() + self.lineEdit_rx.hide() + self.gridLayout_goupbox_info.addWidget(self.lineEdit_rx, 14, 1, 1, 1) self.checkbox_rx.show() self.gridLayout_goupbox_info.addWidget(self.checkbox_rx, 14, 2, 1, 1) self.label_tx.show() self.gridLayout_goupbox_info.addWidget(self.label_tx, 15, 0, 1, 1) - self.spinbox_tx.show() - self.gridLayout_goupbox_info.addWidget(self.spinbox_tx, 15, 1, 1, 1) + # self.spinbox_tx.show() + self.lineEdit_tx.show() + self.gridLayout_goupbox_info.addWidget(self.lineEdit_tx, 15, 1, 1, 1) self.checkbox_tx.show() self.gridLayout_goupbox_info.addWidget(self.checkbox_tx, 15, 2, 1, 1) def temperature_value(self): - stg.temperature = self.spinbox_temperature.value() + print("self.lineEdit_temperature.text() ", self.lineEdit_temperature.text()[-3:]) + if self.lineEdit_temperature.text()[-3:] == " °C": + if findall(r",", self.lineEdit_temperature.text()[:-3]): + stg.temperature = float(self.lineEdit_temperature.text()[:-3].replace(',', '.')) + self.lineEdit_temperature.setText(self.lineEdit_temperature.text()[:-3].replace(',', '.') + " °C") + else: + stg.temperature = float(self.lineEdit_temperature.text()[:-3]) + self.lineEdit_temperature.setText(self.lineEdit_temperature.text()[:-3] + " °C") + else: + if findall(r",", self.lineEdit_temperature.text()): + stg.temperature = float(self.lineEdit_temperature.text().replace(',', '.')) + self.lineEdit_temperature.setText(self.lineEdit_temperature.text().replace(',', '.') + " °C") + else: + stg.temperature = float(self.lineEdit_temperature.text()) + self.lineEdit_temperature.setText(self.lineEdit_temperature.text() + " °C") print(f"stg.temperature : {stg.temperature}") self.water_velocity() self.water_attenuation() @@ -1684,13 +1756,14 @@ class AcousticDataTab(QWidget): def water_velocity(self): """Computing sond speed from Bilaniuk and Wong 1993""" C = (1.40238744 * 1e3 + - 5.03836171 * self.spinbox_temperature.value() - - 5.81172916 * 1e-2 * self.spinbox_temperature.value() ** 2 + - 3.34638117 * 1e-4 * self.spinbox_temperature.value() ** 3 - - 1.48259672 * 1e-6 * self.spinbox_temperature.value() ** 4 + - 3.16585020 * 1e-9 * self.spinbox_temperature.value() ** 5) + 5.03836171 * float(self.lineEdit_temperature.text()[:-3]) - + 5.81172916 * 1e-2 * float(self.lineEdit_temperature.text()[:-3]) ** 2 + + 3.34638117 * 1e-4 * float(self.lineEdit_temperature.text()[:-3]) ** 3 - + 1.48259672 * 1e-6 * float(self.lineEdit_temperature.text()[:-3]) ** 4 + + 3.16585020 * 1e-9 * float(self.lineEdit_temperature.text()[:-3]) ** 5) stg.water_velocity = C - self.spinbox_speed_of_sound.setValue(stg.water_velocity) + + self.lineEdit_speed_of_sound.setText(str(round(stg.water_velocity, 2)) + " m/s") print("water velocity ", stg.water_velocity) @@ -1701,23 +1774,27 @@ class AcousticDataTab(QWidget): if self.fileListWidget.count() > 0: stg.water_attenuation[self.fileListWidget.currentRow()].clear() for f in stg.freq[self.fileListWidget.currentRow()]: - if self.spinbox_temperature.value() > 20: + if float(self.lineEdit_temperature.text()[:-3]) > 20: alpha = ((3.964 * 1e-4 - - 1.146 * 1e-5 * self.spinbox_temperature.value() + - 1.45 * 1e-7 * self.spinbox_temperature.value() ** 2 - - 6.5 * 1e-10 * self.spinbox_temperature.value() ** 3) * + 1.146 * 1e-5 * float(self.lineEdit_temperature.text()[:-3]) + + 1.45 * 1e-7 * float(self.lineEdit_temperature.text()[:-3]) ** 2 - + 6.5 * 1e-10 * float(self.lineEdit_temperature.text()[:-3]) ** 3) * 1e-3 * (np.log(10) / 20) * (f * 1e-3) ** 2) else: alpha = ((4.937 * 1e-4 - - 2.59 * 1e-5 * self.spinbox_temperature.value() + - 9.11 * 1e-7 * self.spinbox_temperature.value() ** 2 - - 1.5 * 1e-8 * self.spinbox_temperature.value() ** 3) * + 2.59 * 1e-5 * float(self.lineEdit_temperature.text()[:-3]) + + 9.11 * 1e-7 * float(self.lineEdit_temperature.text()[:-3]) ** 2 - + 1.5 * 1e-8 * float(self.lineEdit_temperature.text()[:-3]) ** 3) * 1e-3 * (np.log(10) / 20) * (f * 1e-3) ** 2) stg.water_attenuation[self.fileListWidget.currentRow()].append(alpha) - self.spinbox_sound_attenuation.setValue(stg.water_attenuation[self.fileListWidget.currentRow()] - [self.combobox_frequency_information.currentIndex()]) + # self.spinbox_sound_attenuation.setValue(stg.water_attenuation[self.fileListWidget.currentRow()] + # [self.combobox_frequency_information.currentIndex()]) + self.lineEdit_sound_attenuation.setText( + str("%.6f" % stg.water_attenuation[self.fileListWidget.currentRow()][ + self.combobox_frequency_information.currentIndex()]) + + r" /m") print("water attenuation ", stg.water_attenuation) @@ -1869,9 +1946,11 @@ class AcousticDataTab(QWidget): self.label_date_acoustic_file.setText("Date: ") self.label_hour_acoustic_file.clear() self.label_hour_acoustic_file.setText("Hour: ") - self.spinbox_temperature.setValue(0) - self.spinbox_speed_of_sound.setValue(0) - self.spinbox_sound_attenuation.setValue(0) + # self.spinbox_temperature.setValue(0) + self.lineEdit_temperature.setText("0.00 °C") + # self.spinbox_speed_of_sound.setValue(0) + # self.spinbox_sound_attenuation.setValue(0) + self.lineEdit_sound_attenuation.setText(r"0.00 m^{-1}") self.combobox_frequency_information.clear() self.label_profiles_value.clear() self.label_profiles_per_sec_value.clear() @@ -1880,9 +1959,12 @@ class AcousticDataTab(QWidget): self.label_pulse_length_value.clear() self.label_pings_per_sec_value.clear() self.label_pings_per_profile_value.clear() - self.spinbox_kt.setValue(0) - self.spinbox_rx.setValue(0) - self.spinbox_tx.setValue(0) + # self.spinbox_kt.setValue(0) + self.lineEdit_kt.setText("0.00 V.m^1.5") + # self.spinbox_rx.setValue(0) + self.lineEdit_rx.setText("0.00") + # self.spinbox_tx.setValue(0) + self.lineEdit_tx.setText("0.00") # --- Clear display options --- @@ -1966,9 +2048,11 @@ class AcousticDataTab(QWidget): self.label_date_acoustic_file.setText("Date: ") self.label_hour_acoustic_file.clear() self.label_hour_acoustic_file.setText("Hour: ") - self.spinbox_temperature.setValue(0) - self.spinbox_speed_of_sound.setValue(0) - self.spinbox_sound_attenuation.setValue(0) + # self.spinbox_temperature.setValue(0) + self.lineEdit_temperature.setText("0.00 °C") + # self.spinbox_speed_of_sound.setValue(0) + # self.spinbox_sound_attenuation.setValue(0) + self.lineEdit_sound_attenuation.setText(r"0.00 m^{-1}") self.combobox_frequency_information.clear() self.label_profiles_value.clear() self.label_profiles_per_sec_value.clear() @@ -1977,9 +2061,12 @@ class AcousticDataTab(QWidget): self.label_pulse_length_value.clear() self.label_pings_per_sec_value.clear() self.label_pings_per_profile_value.clear() - self.spinbox_kt.setValue(0) - self.spinbox_rx.setValue(0) - self.spinbox_tx.setValue(0) + # self.spinbox_kt.setValue(0) + self.lineEdit_kt.setText("0.00 V.m^1.5") + # self.spinbox_rx.setValue(0) + self.lineEdit_rx.setText("0.00") + # self.spinbox_tx.setValue(0) + self.lineEdit_tx.setText("0.00") # --- Clear display options --- @@ -2248,7 +2335,8 @@ class AcousticDataTab(QWidget): self.combobox_frequency_information.addItems(stg.freq_text[self.fileListWidget.currentRow()]) self.combobox_frequency_information.currentIndexChanged.connect(self.combobox_frequency_information_update) - self.spinbox_temperature.setValue(0) + # self.spinbox_temperature.setValue(0) + self.lineEdit_temperature.setText("0.00 °C") self.label_profiles_value.setText(str(stg.nb_profiles[self.fileListWidget.currentRow()] [self.combobox_frequency_information.currentIndex()])) @@ -2299,22 +2387,33 @@ class AcousticDataTab(QWidget): print(self.combobox_frequency_information.currentText()) print(stg.kt_corrected[self.combobox_frequency_information.currentText()]) - self.spinbox_kt.setValue( - stg.kt_corrected[self.combobox_frequency_information.currentText()]) - self.spinbox_kt.setSuffix(f" V.m^{1.5}") - self.spinbox_kt.setEnabled(True) - # self.checkbox_kt.stateChanged.connect(self.activate_unactivate_spinbox_kt) - self.spinbox_kt.valueChanged.connect(self.kt_value) + # self.spinbox_kt.setValue( + # stg.kt_corrected[self.combobox_frequency_information.currentText()]) + # self.spinbox_kt.setSuffix(f" V.m^{1.5}") + # self.spinbox_kt.setEnabled(True) + # # self.checkbox_kt.stateChanged.connect(self.activate_unactivate_spinbox_kt) + # self.spinbox_kt.valueChanged.connect(self.kt_value) - self.spinbox_rx.setValue(stg.gain_rx[self.fileListWidget.currentRow()][self.combobox_frequency_information.currentIndex()]) - self.spinbox_rx.setEnabled(False) + self.lineEdit_kt.setText(str("%.4f" % stg.kt_corrected[self.combobox_frequency_information.currentText()]) + + " V.m^1.5") + self.lineEdit_kt.setEnabled(True) + self.lineEdit_kt.returnPressed.connect(self.kt_value) + + # self.spinbox_rx.setValue(stg.gain_rx[self.fileListWidget.currentRow()][self.combobox_frequency_information.currentIndex()]) + # self.spinbox_rx.setEnabled(False) + self.lineEdit_rx.setText(str("%.2f" % stg.gain_rx[self.fileListWidget.currentRow()][self.combobox_frequency_information.currentIndex()])) + self.lineEdit_rx.setEnabled(False) self.checkbox_rx.stateChanged.connect(self.activate_unactivate_spinbox_rx) - self.spinbox_rx.valueChanged.connect(self.gain_rx_value) + # self.spinbox_rx.valueChanged.connect(self.gain_rx_value) + self.lineEdit_rx.returnPressed.connect(self.gain_rx_value) - self.spinbox_tx.setValue(stg.gain_tx[self.fileListWidget.currentRow()][self.combobox_frequency_information.currentIndex()]) - self.spinbox_tx.setEnabled(False) + # self.spinbox_tx.setValue(stg.gain_tx[self.fileListWidget.currentRow()][self.combobox_frequency_information.currentIndex()]) + # self.spinbox_tx.setEnabled(False) + self.lineEdit_tx.setText(str("%.2f" % stg.gain_tx[self.fileListWidget.currentRow()][self.combobox_frequency_information.currentIndex()])) + self.lineEdit_tx.setEnabled(False) self.checkbox_tx.stateChanged.connect(self.activate_unactivate_spinbox_tx) - self.spinbox_kt.valueChanged.connect(self.gain_tx_value) + # self.spinbox_tx.valueChanged.connect(self.gain_tx_value) + self.lineEdit_tx.returnPressed.connect(self.gain_tx_value) # for find, fval in enumerate(stg.freq[self.fileListWidget.currentRow()]): # print(f"find {find} fval {fval}") @@ -2408,9 +2507,13 @@ class AcousticDataTab(QWidget): # print("stg.water_attenuation ", stg.water_attenuation) if stg.water_attenuation[self.fileListWidget.currentRow()]: - self.spinbox_sound_attenuation.clear() - self.spinbox_sound_attenuation.setValue(stg.water_attenuation[self.fileListWidget.currentRow()] - [self.combobox_frequency_information.currentIndex()]) + # self.spinbox_sound_attenuation.clear() + # self.spinbox_sound_attenuation.setValue(stg.water_attenuation[self.fileListWidget.currentRow()] + # [self.combobox_frequency_information.currentIndex()]) + self.lineEdit_sound_attenuation.setText( + str("%.6f" % stg.water_attenuation[self.fileListWidget.currentRow()][ + self.combobox_frequency_information.currentIndex()]) + + r" /m") self.label_profiles_value.clear() self.gridLayout_goupbox_info.removeWidget(self.label_profiles_value) @@ -2457,68 +2560,94 @@ class AcousticDataTab(QWidget): print("self.combobox_frequency_information.currentText()", self.combobox_frequency_information.count()) print("self.combobox_frequency_information.currentText()", self.combobox_frequency_information.currentText()) - self.spinbox_kt.clear() + # self.spinbox_kt.clear() if self.checkbox_kt.isChecked(): if self.combobox_frequency_information.count() > 0: - self.spinbox_kt.setValue(stg.kt_corrected[self.combobox_frequency_information.currentText()]) + # self.spinbox_kt.setValue(stg.kt_corrected[self.combobox_frequency_information.currentText()]) + self.lineEdit_kt.setText(str("%.4f" % stg.kt_corrected[self.combobox_frequency_information.currentText()]) + " V.m^1.5") else: # print("combobox information update : checkbox unchecked") - self.spinbox_kt.setValue(stg.kt_read[self.combobox_frequency_information.currentIndex()]) - self.spinbox_kt.setSuffix(f" V.m^{1.5}") + # self.spinbox_kt.setValue(stg.kt_read[self.combobox_frequency_information.currentIndex()]) + self.lineEdit_kt.setText(str("%.4f" % stg.kt_read[self.combobox_frequency_information.currentIndex()]) + " V.m^1.5") + # self.spinbox_kt.setSuffix(f" V.m^{1.5}") - self.spinbox_rx.clear() - self.spinbox_rx.setValue(stg.gain_rx[self.fileListWidget.currentRow()] - [self.combobox_frequency_information.currentIndex()]) + # self.spinbox_rx.clear() + # self.spinbox_rx.setValue(stg.gain_rx[self.fileListWidget.currentRow()] + # [self.combobox_frequency_information.currentIndex()]) + self.lineEdit_rx.setText(str(stg.gain_rx[self.fileListWidget.currentRow()][ + self.combobox_frequency_information.currentIndex()])) - self.spinbox_tx.clear() - self.spinbox_tx.setValue(stg.gain_tx[self.fileListWidget.currentRow()] - [self.combobox_frequency_information.currentIndex()]) + # self.spinbox_tx.clear() + # self.spinbox_tx.setValue(stg.gain_tx[self.fileListWidget.currentRow()] + # [self.combobox_frequency_information.currentIndex()]) + self.lineEdit_tx.setText(str(stg.gain_tx[self.fileListWidget.currentRow()][ + self.combobox_frequency_information.currentIndex()])) def activate_unactivate_spinbox_kt(self): if self.checkbox_kt.isChecked(): - self.spinbox_kt.setEnabled(True) + # self.spinbox_kt.setEnabled(True) + self.lineEdit_kt.setEnabled(True) if stg.kt_corrected: - self.spinbox_kt.setValue(stg.kt_corrected[self.combobox_frequency_information.currentText()]) + # self.spinbox_kt.setValue(stg.kt_corrected[self.combobox_frequency_information.currentText()]) + self.lineEdit_kt.setText(str("%.4f" % stg.kt_corrected[self.combobox_frequency_information.currentText()]) + " V.m^1.5") else: - self.spinbox_kt.setDisabled(True) + # self.spinbox_kt.setDisabled(True) + self.lineEdit_kt.setDisabled(True) if stg.kt_read: print(self.combobox_frequency_information.currentIndex()) print(stg.kt_read) - self.spinbox_kt.setValue(stg.kt_read[self.combobox_frequency_information.currentIndex()]) + # self.spinbox_kt.setValue(stg.kt_read[self.combobox_frequency_information.currentIndex()]) + self.lineEdit_kt.setText(str("%.4f" % stg.kt_read[self.combobox_frequency_information.currentIndex()]) + " V.m^1.5") def activate_unactivate_spinbox_rx(self): if self.checkbox_rx.isChecked(): - self.spinbox_rx.setEnabled(True) + # self.spinbox_rx.setEnabled(True) + self.lineEdit_rx.setEnabled(True) else: - self.spinbox_rx.setDisabled(True) + # self.spinbox_rx.setDisabled(True) + self.lineEdit_rx.setDisabled(True) def activate_unactivate_spinbox_tx(self): if self.checkbox_tx.isChecked(): - self.spinbox_tx.setEnabled(True) - + # self.spinbox_tx.setEnabled(True) + self.lineEdit_tx.setEnabled(True) else: - self.spinbox_tx.setDisabled(True) + # self.spinbox_tx.setDisabled(True) + self.lineEdit_tx.setDisabled(True) def kt_value(self): # print(f"0 stg.kt_read : {stg.kt_read}") # print(f"0 stg.kt_corrected {stg.kt_corrected}") if self.fileListWidget.count() > 0: if self.checkbox_kt.isChecked(): - stg.kt_corrected[self.combobox_frequency_information.currentText()] \ - = self.spinbox_kt.value() + if self.lineEdit_kt.text()[-8:] == " V.m^1.5": + stg.kt_corrected[self.combobox_frequency_information.currentText()] = ( + float(self.lineEdit_kt.text()[:-8])) + self.lineEdit_kt.setText(str("%.4f" % stg.kt_corrected[self.combobox_frequency_information.currentText()]) + " V.m^1.5") + else: + stg.kt_corrected[self.combobox_frequency_information.currentText()] = ( + float(self.lineEdit_kt.text())) + self.lineEdit_kt.setText(str("%.4f" % stg.kt_corrected[ + self.combobox_frequency_information.currentText()]) + " V.m^1.5") + + # print(f"1 stg.kt_read : {stg.kt_read}") print(f"1 stg.kt_corrected {stg.kt_corrected}") def gain_rx_value(self): if self.fileListWidget.count() > 0: + # stg.gain_rx[self.fileListWidget.currentRow()][self.combobox_frequency_information.currentIndex()] = ( + # self.spinbox_rx.value()) stg.gain_rx[self.fileListWidget.currentRow()][self.combobox_frequency_information.currentIndex()] = ( - self.spinbox_rx.value()) + float(self.lineEdit_rx.text())) # print(f"stg.rx : {stg.gain_rx}") def gain_tx_value(self): if self.fileListWidget.count() > 0: + # stg.gain_tx[self.fileListWidget.currentRow()][self.combobox_frequency_information.currentIndex()] = ( + # self.spinbox_tx.value()) stg.gain_tx[self.fileListWidget.currentRow()][self.combobox_frequency_information.currentIndex()] = ( - self.spinbox_tx.value()) + float(self.lineEdit_tx.text())) # print(f"stg.tx : {stg.gain_tx}") def fill_table(self):