All QDoubleSpinbox in Measurement information are replaced by QlineEdit

dev-brahim
brahim 2024-10-02 16:54:52 +02:00
parent feafeee75f
commit 58a7934d50
1 changed files with 270 additions and 141 deletions

View File

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