Acoustic data: Refactoring.
parent
cb94bb3c5d
commit
5f0fb9ad53
|
|
@ -1811,7 +1811,6 @@ class AcousticDataTab(QWidget):
|
|||
][1]
|
||||
)
|
||||
|
||||
|
||||
self.lineEdit_kt.setText(
|
||||
str("%.4f" % stg.kt_corrected[freq_id])
|
||||
)
|
||||
|
|
@ -1835,76 +1834,124 @@ class AcousticDataTab(QWidget):
|
|||
self.lineEdit_tx.returnPressed.connect(self.gain_tx_value)
|
||||
|
||||
def combobox_frequency_information_update(self):
|
||||
if self.fileListWidget.count() > 0:
|
||||
if self.fileListWidget.count() <= 0:
|
||||
return
|
||||
|
||||
if stg.water_attenuation[self.fileListWidget.currentRow()]:
|
||||
file_id = self.fileListWidget.currentRow()
|
||||
freq_id = self.combobox_frequency_information.currentIndex()
|
||||
|
||||
self.lineEdit_sound_attenuation.setText(
|
||||
str("%.6f" % stg.water_attenuation[self.fileListWidget.currentRow()][
|
||||
self.combobox_frequency_information.currentIndex()]))
|
||||
if stg.water_attenuation[file_id]:
|
||||
self.lineEdit_sound_attenuation.setText(
|
||||
str(
|
||||
"%.6f"
|
||||
% stg.water_attenuation[file_id][freq_id]
|
||||
)
|
||||
)
|
||||
|
||||
self.label_profiles_value.clear()
|
||||
self.gridLayout_groupbox_info.removeWidget(self.label_profiles_value)
|
||||
self.label_profiles_value.setText(str(stg.nb_profiles[self.fileListWidget.currentRow()]
|
||||
[self.combobox_frequency_information.currentIndex()]))
|
||||
self.gridLayout_groupbox_info.addWidget(self.label_profiles_value, 8, 1, 1, 1, Qt.AlignLeft)
|
||||
self.label_profiles_value.clear()
|
||||
self.gridLayout_groupbox_info.removeWidget(
|
||||
self.label_profiles_value
|
||||
)
|
||||
self.label_profiles_value.setText(
|
||||
str(
|
||||
stg.nb_profiles[file_id][freq_id]
|
||||
)
|
||||
)
|
||||
self.gridLayout_groupbox_info.addWidget(
|
||||
self.label_profiles_value,
|
||||
8, 1, 1, 1, Qt.AlignLeft
|
||||
)
|
||||
|
||||
self.label_profiles_per_sec_value.clear()
|
||||
self.label_profiles_per_sec_value.setText(
|
||||
str(stg.nb_profiles_per_sec[self.fileListWidget.currentRow()]
|
||||
[self.combobox_frequency_information.currentIndex()]) + " Hz")
|
||||
self.gridLayout_groupbox_info.addWidget(self.label_profiles_per_sec_value, 9, 1, 1, 1, Qt.AlignLeft)
|
||||
self.label_profiles_per_sec_value.clear()
|
||||
self.label_profiles_per_sec_value.setText(
|
||||
str(
|
||||
stg.nb_profiles_per_sec[file_id][freq_id]
|
||||
) + " Hz"
|
||||
)
|
||||
self.gridLayout_groupbox_info.addWidget(
|
||||
self.label_profiles_per_sec_value,
|
||||
9, 1, 1, 1, Qt.AlignLeft
|
||||
)
|
||||
|
||||
self.label_cells_value.clear()
|
||||
self.label_cells_value.setText(str(stg.nb_cells[self.fileListWidget.currentRow()]
|
||||
[self.combobox_frequency_information.currentIndex()]))
|
||||
self.gridLayout_groupbox_info.addWidget(self.label_cells_value, 10, 1, 1, 1, Qt.AlignLeft)
|
||||
self.label_cells_value.clear()
|
||||
self.label_cells_value.setText(
|
||||
str(
|
||||
stg.nb_cells[file_id][freq_id]
|
||||
)
|
||||
)
|
||||
self.gridLayout_groupbox_info.addWidget(
|
||||
self.label_cells_value,
|
||||
10, 1, 1, 1, Qt.AlignLeft
|
||||
)
|
||||
|
||||
self.label_cell_size_value.clear()
|
||||
self.gridLayout_groupbox_info.removeWidget(self.label_cell_size_value)
|
||||
self.label_cell_size_value.setText(
|
||||
str(100 * round(stg.cell_size[self.fileListWidget.currentRow()]
|
||||
[self.combobox_frequency_information.currentIndex()], 3)) + " cm")
|
||||
self.gridLayout_groupbox_info.addWidget(self.label_cell_size_value, 11, 1, 1, 1, Qt.AlignLeft)
|
||||
self.label_cell_size_value.clear()
|
||||
self.gridLayout_groupbox_info.removeWidget(self.label_cell_size_value)
|
||||
self.label_cell_size_value.setText(
|
||||
str(
|
||||
100 * round(stg.cell_size[file_id][freq_id], 3)
|
||||
) + " cm"
|
||||
)
|
||||
self.gridLayout_groupbox_info.addWidget(
|
||||
self.label_cell_size_value,
|
||||
11, 1, 1, 1, Qt.AlignLeft
|
||||
)
|
||||
|
||||
self.label_pulse_length_value.clear()
|
||||
self.label_pulse_length_value.setText(
|
||||
str(round(stg.pulse_length[self.fileListWidget.currentRow()]
|
||||
[self.combobox_frequency_information.currentIndex()], 6)) + " sec")
|
||||
self.gridLayout_groupbox_info.addWidget(self.label_pulse_length_value, 12, 1, 1, 1, Qt.AlignLeft)
|
||||
self.label_pulse_length_value.clear()
|
||||
self.label_pulse_length_value.setText(
|
||||
str(
|
||||
round(stg.pulse_length[file_id][freq_id], 6)
|
||||
) + " sec"
|
||||
)
|
||||
self.gridLayout_groupbox_info.addWidget(
|
||||
self.label_pulse_length_value,
|
||||
12, 1, 1, 1, Qt.AlignLeft
|
||||
)
|
||||
|
||||
self.label_pings_per_sec_value.clear()
|
||||
self.label_pings_per_sec_value.setText(str(stg.nb_pings_per_sec[self.fileListWidget.currentRow()]
|
||||
[self.combobox_frequency_information.currentIndex()]) + " Hz")
|
||||
self.gridLayout_groupbox_info.addWidget(self.label_pings_per_sec_value, 13, 1, 1, 1, Qt.AlignLeft)
|
||||
self.label_pings_per_sec_value.clear()
|
||||
self.label_pings_per_sec_value.setText(
|
||||
str(
|
||||
stg.nb_pings_per_sec[file_id][freq_id]
|
||||
) + " Hz"
|
||||
)
|
||||
self.gridLayout_groupbox_info.addWidget(
|
||||
self.label_pings_per_sec_value,
|
||||
13, 1, 1, 1, Qt.AlignLeft
|
||||
)
|
||||
|
||||
self.label_pings_per_profile_value.clear()
|
||||
self.label_pings_per_profile_value.setText(
|
||||
str(stg.nb_pings_averaged_per_profile[self.fileListWidget.currentRow()]
|
||||
[self.combobox_frequency_information.currentIndex()]))
|
||||
self.gridLayout_groupbox_info.addWidget(self.label_pings_per_profile_value, 14, 1, 1, 1, Qt.AlignLeft)
|
||||
self.label_pings_per_profile_value.clear()
|
||||
self.label_pings_per_profile_value.setText(
|
||||
str(stg.nb_pings_averaged_per_profile[file_id][freq_id])
|
||||
)
|
||||
self.gridLayout_groupbox_info.addWidget(
|
||||
self.label_pings_per_profile_value,
|
||||
14, 1, 1, 1, Qt.AlignLeft
|
||||
)
|
||||
|
||||
if self.checkbox_kt.isChecked():
|
||||
if self.combobox_frequency_information.count() > 0:
|
||||
self.lineEdit_kt.setText(str("%.4f" % stg.kt_corrected[self.combobox_frequency_information.currentIndex()]))
|
||||
else:
|
||||
self.lineEdit_kt.setText(str("%.4f" % stg.kt_read[self.combobox_frequency_information.currentIndex()]))
|
||||
if self.checkbox_kt.isChecked():
|
||||
if self.combobox_frequency_information.count() > 0:
|
||||
self.lineEdit_kt.setText(
|
||||
str("%.4f" % stg.kt_corrected[freq_id])
|
||||
)
|
||||
else:
|
||||
self.lineEdit_kt.setText(str("%.4f" % stg.kt_read[freq_id]))
|
||||
|
||||
self.lineEdit_rx.setText(str(stg.gain_rx[self.fileListWidget.currentRow()][
|
||||
self.combobox_frequency_information.currentIndex()]))
|
||||
self.lineEdit_rx.setText(
|
||||
str(stg.gain_rx[file_id][freq_id])
|
||||
)
|
||||
|
||||
self.lineEdit_tx.setText(str(stg.gain_tx[self.fileListWidget.currentRow()][
|
||||
self.combobox_frequency_information.currentIndex()]))
|
||||
self.lineEdit_tx.setText(str(stg.gain_tx[file_id][freq_id]))
|
||||
|
||||
def activate_unactivate_spinbox_kt(self):
|
||||
freq_id = self.combobox_frequency_information.currentIndex()
|
||||
|
||||
if self.checkbox_kt.isChecked():
|
||||
self.lineEdit_kt.setEnabled(True)
|
||||
if stg.kt_corrected:
|
||||
self.lineEdit_kt.setText(str("%.4f" % stg.kt_corrected[self.combobox_frequency_information.currentIndex()]))
|
||||
self.lineEdit_kt.setText(str("%.4f" % stg.kt_corrected[freq_id]))
|
||||
else:
|
||||
self.lineEdit_kt.setDisabled(True)
|
||||
if stg.kt_read:
|
||||
self.lineEdit_kt.setText(str("%.4f" % stg.kt_read[self.combobox_frequency_information.currentIndex()]))
|
||||
self.lineEdit_kt.setText(str("%.4f" % stg.kt_read[freq_id]))
|
||||
|
||||
def activate_unactivate_spinbox_rx(self):
|
||||
if self.checkbox_rx.isChecked():
|
||||
|
|
@ -1919,33 +1966,48 @@ class AcousticDataTab(QWidget):
|
|||
self.lineEdit_tx.setDisabled(True)
|
||||
|
||||
def kt_value(self):
|
||||
if self.fileListWidget.count() <= 0:
|
||||
return
|
||||
|
||||
if self.fileListWidget.count() > 0:
|
||||
if self.checkbox_kt.isChecked():
|
||||
if not self.checkbox_kt.isChecked():
|
||||
return
|
||||
|
||||
if findall(r",", self.lineEdit_kt.text()):
|
||||
stg.kt_corrected[self.combobox_frequency_information.currentIndex()] = (
|
||||
float(self.lineEdit_kt.text().replace(',', '.')))
|
||||
self.lineEdit_kt.setText("%.4f" % float(self.lineEdit_kt.text().replace(',', '.')))
|
||||
else:
|
||||
stg.kt_corrected[self.combobox_frequency_information.currentIndex()] = (
|
||||
float(self.lineEdit_kt.text()))
|
||||
self.lineEdit_kt.setText("%.4f" % float(self.lineEdit_kt.text()))
|
||||
freq_id = self.combobox_frequency_information.currentIndex()
|
||||
|
||||
if findall(r",", self.lineEdit_kt.text()):
|
||||
stg.kt_corrected[freq_id] = (
|
||||
float(self.lineEdit_kt.text().replace(',', '.'))
|
||||
)
|
||||
self.lineEdit_kt.setText(
|
||||
"%.4f" % float(
|
||||
self.lineEdit_kt.text().replace(',', '.')
|
||||
)
|
||||
)
|
||||
else:
|
||||
stg.kt_corrected[freq_id] = (
|
||||
float(self.lineEdit_kt.text())
|
||||
)
|
||||
self.lineEdit_kt.setText("%.4f" % float(self.lineEdit_kt.text()))
|
||||
|
||||
def gain_rx_value(self):
|
||||
if self.fileListWidget.count() > 0:
|
||||
stg.gain_rx[self.fileListWidget.currentRow()][self.combobox_frequency_information.currentIndex()] = (
|
||||
float(self.lineEdit_rx.text()))
|
||||
freq_id = self.combobox_frequency_information.currentIndex()
|
||||
|
||||
if self.fileListWidget.count() > 0:
|
||||
stg.gain_rx[self.fileListWidget.currentRow()][freq_id] = (
|
||||
float(self.lineEdit_rx.text())
|
||||
)
|
||||
|
||||
def gain_tx_value(self):
|
||||
freq_id = self.combobox_frequency_information.currentIndex()
|
||||
|
||||
if self.fileListWidget.count() > 0:
|
||||
stg.gain_tx[self.fileListWidget.currentRow()][self.combobox_frequency_information.currentIndex()] = (
|
||||
float(self.lineEdit_tx.text()))
|
||||
stg.gain_tx[self.fileListWidget.currentRow()][freq_id] = (
|
||||
float(self.lineEdit_tx.text())
|
||||
)
|
||||
|
||||
def fill_table(self):
|
||||
|
||||
if self.fileListWidget.currentRow() != -1:
|
||||
file_id = self.fileListWidget.currentRow()
|
||||
|
||||
header_list = []
|
||||
header_list.clear()
|
||||
|
|
@ -1956,19 +2018,37 @@ class AcousticDataTab(QWidget):
|
|||
header_list.append("BS - " + freq_value)
|
||||
|
||||
if freq_ind == 0:
|
||||
table_data = np.vstack((np.vstack((stg.time_reshape[self.fileListWidget.currentRow()][:, freq_ind],
|
||||
stg.depth_reshape[self.fileListWidget.currentRow()][:, freq_ind])),
|
||||
stg.BS_raw_data_reshape[self.fileListWidget.currentRow()][:, freq_ind]))
|
||||
|
||||
table_data = np.vstack(
|
||||
(
|
||||
np.vstack(
|
||||
(
|
||||
stg.time_reshape[file_id][:, freq_ind],
|
||||
stg.depth_reshape[file_id][:, freq_ind]
|
||||
)
|
||||
),
|
||||
stg.BS_raw_data_reshape[file_id][:, freq_ind]
|
||||
)
|
||||
)
|
||||
else:
|
||||
table_data = np.vstack((table_data,
|
||||
np.vstack((np.vstack((stg.time_reshape[self.fileListWidget.currentRow()][:, freq_ind],
|
||||
stg.depth_reshape[self.fileListWidget.currentRow()][:, freq_ind])),
|
||||
stg.BS_raw_data_reshape[self.fileListWidget.currentRow()][:, freq_ind]))
|
||||
))
|
||||
table_data = np.vstack((
|
||||
table_data,
|
||||
np.vstack(
|
||||
(
|
||||
np.vstack(
|
||||
(
|
||||
stg.time_reshape[file_id][:, freq_ind],
|
||||
stg.depth_reshape[file_id][:, freq_ind]
|
||||
)
|
||||
),
|
||||
stg.BS_raw_data_reshape[file_id][:, freq_ind]
|
||||
)
|
||||
)
|
||||
))
|
||||
|
||||
stg.DataFrame_acoustic = pd.DataFrame(None)
|
||||
stg.DataFrame_acoustic = pd.DataFrame(data=table_data.transpose(), columns=header_list)
|
||||
stg.DataFrame_acoustic = pd.DataFrame(
|
||||
data=table_data.transpose(), columns=header_list
|
||||
)
|
||||
|
||||
self.tableModel = TableModel(stg.DataFrame_acoustic)
|
||||
self.tableView.setModel(self.tableModel)
|
||||
|
|
@ -1994,27 +2074,45 @@ class AcousticDataTab(QWidget):
|
|||
''' tmin and tmax are filled with min and max of time when data are uploaded and
|
||||
double slider of time are updated with these values '''
|
||||
|
||||
if self.fileListWidget.currentRow() != -1:
|
||||
if self.fileListWidget.currentRow() == -1:
|
||||
return
|
||||
|
||||
# --- tmim / tmax ---
|
||||
tmin_indice = np.where(np.abs(stg.time[self.fileListWidget.currentRow()][0, :] - np.nanmin(
|
||||
stg.time[self.fileListWidget.currentRow()][0, :])) ==
|
||||
np.nanmin(np.abs(stg.time[self.fileListWidget.currentRow()][0, :] - np.nanmin(
|
||||
stg.time[self.fileListWidget.currentRow()][0, :]))))[0][0]
|
||||
tmin_value = np.round(np.nanmin(stg.time[self.fileListWidget.currentRow()][0, :]), 2)
|
||||
stg.tmin[self.fileListWidget.currentRow()] = (tmin_indice, tmin_value)
|
||||
file_id = self.fileListWidget.currentRow()
|
||||
|
||||
tmax_indice = np.where(np.abs(stg.time[self.fileListWidget.currentRow()][0, :] - np.nanmax(
|
||||
stg.time[self.fileListWidget.currentRow()][0, :])) ==
|
||||
np.nanmin(np.abs(stg.time[self.fileListWidget.currentRow()][0, :] - np.nanmax(
|
||||
stg.time[self.fileListWidget.currentRow()][0, :]))))[0][0]
|
||||
tmax_value = np.round(np.nanmax(stg.time[self.fileListWidget.currentRow()][0, :]), 2)
|
||||
stg.tmax[self.fileListWidget.currentRow()] = (tmax_indice + 1, tmax_value)
|
||||
tmin_indice = np.where(
|
||||
np.abs(
|
||||
stg.time[file_id][0, :] - np.nanmin(stg.time[file_id][0, :])
|
||||
) == np.nanmin(
|
||||
np.abs(
|
||||
stg.time[file_id][0, :]
|
||||
- np.nanmin(stg.time[file_id][0, :])
|
||||
)
|
||||
)
|
||||
)[0][0]
|
||||
|
||||
self.set_range_for_time_boundaries_option()
|
||||
tmin_value = np.round(
|
||||
np.nanmin(stg.time[file_id][0, :]), 2
|
||||
)
|
||||
|
||||
stg.tmin[file_id] = (tmin_indice, tmin_value)
|
||||
|
||||
tmax_indice = np.where(
|
||||
np.abs(
|
||||
stg.time[file_id][0, :] - np.nanmax(stg.time[file_id][0, :])
|
||||
) == np.nanmin(
|
||||
np.abs(
|
||||
stg.time[file_id][0, :]
|
||||
- np.nanmax(stg.time[file_id][0, :])
|
||||
)
|
||||
)
|
||||
)[0][0]
|
||||
|
||||
tmax_value = np.round(np.nanmax(stg.time[file_id][0, :]), 2)
|
||||
stg.tmax[file_id] = (tmax_indice + 1, tmax_value)
|
||||
|
||||
self.set_range_for_time_boundaries_option()
|
||||
|
||||
def set_range_for_time_boundaries_option(self):
|
||||
|
||||
self.label_time_min.clear()
|
||||
self.label_time_min.setText("%.5s" % str(stg.time[self.fileListWidget.currentRow()][0, 0]))
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue