Signal processing: Refactoring with recompute and replot method.
parent
225c40c6c1
commit
be7627d93f
|
|
@ -462,15 +462,16 @@ class SignalProcessingTab(QWidget):
|
||||||
self.pushbutton_clear_noise_data.clicked.connect(self.clear_noise_data)
|
self.pushbutton_clear_noise_data.clicked.connect(self.clear_noise_data)
|
||||||
|
|
||||||
self.pushbutton_plot_profile_tail.clicked.connect(self.compute_average_profile_tail)
|
self.pushbutton_plot_profile_tail.clicked.connect(self.compute_average_profile_tail)
|
||||||
self.pushbutton_plot_profile_tail.clicked.connect(self.plot_averaged_profile_tail)
|
self.pushbutton_plot_profile_tail.clicked.connect(self.replot)
|
||||||
|
|
||||||
self.pushbutton_apply_noise_from_profile_tail.clicked.connect(self.plot_averaged_profile_tail)
|
|
||||||
self.pushbutton_apply_noise_from_profile_tail.clicked.connect(self.compute_noise_from_profile_tail_value)
|
self.pushbutton_apply_noise_from_profile_tail.clicked.connect(self.compute_noise_from_profile_tail_value)
|
||||||
|
self.pushbutton_apply_noise_from_profile_tail.clicked.connect(self.replot)
|
||||||
|
|
||||||
self.combobox_freq_noise_from_profile_tail.currentIndexChanged.connect(self.compute_average_profile_tail)
|
self.combobox_freq_noise_from_profile_tail.currentIndexChanged.connect(self.compute_average_profile_tail)
|
||||||
self.combobox_freq_noise_from_profile_tail.currentIndexChanged.connect(self.plot_averaged_profile_tail)
|
self.combobox_freq_noise_from_profile_tail.currentIndexChanged.connect(self.plot_averaged_profile_tail)
|
||||||
|
|
||||||
self.pushbutton_Apply_SNR_filter.clicked.connect(self.remove_point_with_snr_filter)
|
self.pushbutton_Apply_SNR_filter.clicked.connect(self.remove_point_with_snr_filter)
|
||||||
|
self.pushbutton_Apply_SNR_filter.clicked.connect(self.replot)
|
||||||
|
|
||||||
self.lineEdit_horizontal_average.returnPressed.connect(self.update_label_cells_sec)
|
self.lineEdit_horizontal_average.returnPressed.connect(self.update_label_cells_sec)
|
||||||
self.pushbutton_average.clicked.connect(self.compute_averaged_BS_data)
|
self.pushbutton_average.clicked.connect(self.compute_averaged_BS_data)
|
||||||
|
|
@ -552,14 +553,35 @@ class SignalProcessingTab(QWidget):
|
||||||
stg.freq_text[data_id]
|
stg.freq_text[data_id]
|
||||||
)
|
)
|
||||||
|
|
||||||
self.compute_average_profile_tail()
|
self.recompute()
|
||||||
self.plot_averaged_profile_tail()
|
self.replot()
|
||||||
|
|
||||||
logger.debug("Update the Signal preprocessing tab... Done")
|
logger.debug("Update the Signal preprocessing tab... Done")
|
||||||
|
|
||||||
self.combobox_freq_noise_from_profile_tail.blockSignals(False)
|
self.combobox_freq_noise_from_profile_tail.blockSignals(False)
|
||||||
self.combobox_acoustic_data_choice.blockSignals(False)
|
self.combobox_acoustic_data_choice.blockSignals(False)
|
||||||
|
|
||||||
|
@trace
|
||||||
|
def recompute(self, *args):
|
||||||
|
data_id = self.combobox_acoustic_data_choice.currentIndex()
|
||||||
|
|
||||||
|
self.compute_average_profile_tail()
|
||||||
|
|
||||||
|
if stg.noise_method[data_id] == 0:
|
||||||
|
if stg.filename_BS_noise_data[data_id] != "":
|
||||||
|
self.load_noise_data_and_compute_SNR()
|
||||||
|
elif stg.noise_method[data_id] == 1:
|
||||||
|
self.compute_noise_from_profile_tail_value()
|
||||||
|
|
||||||
|
self.compute_averaged_BS_data()
|
||||||
|
|
||||||
|
@trace
|
||||||
|
def replot(self, *args):
|
||||||
|
self.plot_averaged_profile_tail()
|
||||||
|
self.plot_transect_with_SNR_data()
|
||||||
|
self.plot_pre_processed_BS_signal()
|
||||||
|
self.plot_pre_processed_profile()
|
||||||
|
|
||||||
def activate_list_of_pre_processed_data(self):
|
def activate_list_of_pre_processed_data(self):
|
||||||
for i in range(self.combobox_acoustic_data_choice.count()):
|
for i in range(self.combobox_acoustic_data_choice.count()):
|
||||||
eval("self.lineEdit_list_pre_processed_data_" + str(i) + ".setDisabled(True)")
|
eval("self.lineEdit_list_pre_processed_data_" + str(i) + ".setDisabled(True)")
|
||||||
|
|
@ -690,9 +712,6 @@ class SignalProcessingTab(QWidget):
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
if stg.BS_noise_raw_data[data_id].shape != (0,):
|
|
||||||
self.compute_noise_from_profile_tail_value()
|
|
||||||
|
|
||||||
@trace
|
@trace
|
||||||
def plot_averaged_profile_tail(self, *args):
|
def plot_averaged_profile_tail(self, *args):
|
||||||
|
|
||||||
|
|
@ -761,20 +780,19 @@ class SignalProcessingTab(QWidget):
|
||||||
# ------------------------------------------------------
|
# ------------------------------------------------------
|
||||||
|
|
||||||
def combobox_acoustic_data_choice_change_index(self):
|
def combobox_acoustic_data_choice_change_index(self):
|
||||||
|
self.combobox_frequency_profile.blockSignals(True)
|
||||||
|
|
||||||
self.compute_average_profile_tail()
|
self.compute_average_profile_tail()
|
||||||
self.plot_averaged_profile_tail()
|
|
||||||
|
|
||||||
self.lineEdit_SNR_criterion.setText(str(stg.SNR_filter_value[self.combobox_acoustic_data_choice.currentIndex()]))
|
self.lineEdit_SNR_criterion.setText(str(stg.SNR_filter_value[self.combobox_acoustic_data_choice.currentIndex()]))
|
||||||
|
|
||||||
self.plot_transect_with_SNR_data()
|
|
||||||
self.plot_pre_processed_BS_signal()
|
|
||||||
self.lineEdit_horizontal_average.setText(str(stg.Nb_cells_to_average_BS_signal[self.combobox_acoustic_data_choice.currentIndex()]))
|
self.lineEdit_horizontal_average.setText(str(stg.Nb_cells_to_average_BS_signal[self.combobox_acoustic_data_choice.currentIndex()]))
|
||||||
|
|
||||||
self.combobox_frequency_profile.clear()
|
self.combobox_frequency_profile.clear()
|
||||||
self.combobox_frequency_profile.addItems(
|
self.combobox_frequency_profile.addItems(
|
||||||
[f for f in stg.freq_text[self.combobox_acoustic_data_choice.currentIndex()]])
|
[f for f in stg.freq_text[self.combobox_acoustic_data_choice.currentIndex()]])
|
||||||
self.plot_pre_processed_profile()
|
|
||||||
|
self.replot()
|
||||||
|
|
||||||
if self.combobox_acoustic_data_choice.count() > 0:
|
if self.combobox_acoustic_data_choice.count() > 0:
|
||||||
|
|
||||||
|
|
@ -784,12 +802,11 @@ class SignalProcessingTab(QWidget):
|
||||||
eval("self.lineEdit_list_pre_processed_data_" + str(
|
eval("self.lineEdit_list_pre_processed_data_" + str(
|
||||||
self.combobox_acoustic_data_choice.currentIndex()) + ".setEnabled(True)")
|
self.combobox_acoustic_data_choice.currentIndex()) + ".setEnabled(True)")
|
||||||
|
|
||||||
|
self.combobox_frequency_profile.blockSignals(False)
|
||||||
|
|
||||||
def clear_noise_data(self):
|
def clear_noise_data(self):
|
||||||
|
|
||||||
if len(stg.filename_BS_raw_data) == 0:
|
if len(stg.filename_BS_raw_data) == 0:
|
||||||
|
|
||||||
pass
|
pass
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
|
||||||
stg.BS_noise_raw_data[self.combobox_acoustic_data_choice.currentIndex()] = np.array([])
|
stg.BS_noise_raw_data[self.combobox_acoustic_data_choice.currentIndex()] = np.array([])
|
||||||
|
|
@ -981,7 +998,8 @@ class SignalProcessingTab(QWidget):
|
||||||
pnw = PlotNoiseWindow()
|
pnw = PlotNoiseWindow()
|
||||||
pnw.exec()
|
pnw.exec()
|
||||||
|
|
||||||
def compute_noise_from_profile_tail_value(self):
|
@trace
|
||||||
|
def compute_noise_from_profile_tail_value(self, *args):
|
||||||
|
|
||||||
stg.noise_method[self.combobox_acoustic_data_choice.currentIndex()] = 1
|
stg.noise_method[self.combobox_acoustic_data_choice.currentIndex()] = 1
|
||||||
|
|
||||||
|
|
@ -1029,7 +1047,7 @@ class SignalProcessingTab(QWidget):
|
||||||
stg.SNR_cross_section[self.combobox_acoustic_data_choice.currentIndex()] = (
|
stg.SNR_cross_section[self.combobox_acoustic_data_choice.currentIndex()] = (
|
||||||
np.divide((stg.BS_cross_section[self.combobox_acoustic_data_choice.currentIndex()]
|
np.divide((stg.BS_cross_section[self.combobox_acoustic_data_choice.currentIndex()]
|
||||||
- stg.BS_noise_raw_data[self.combobox_acoustic_data_choice.currentIndex()]) ** 2,
|
- stg.BS_noise_raw_data[self.combobox_acoustic_data_choice.currentIndex()]) ** 2,
|
||||||
stg.BS_noise_raw_data[self.combobox_acoustic_data_choice.currentIndex()] ** 2))
|
stg.BS_noise_raw_data[self.combobox_acoustic_data_choice.currentIndex()] ** 2)) #
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
|
||||||
|
|
@ -1060,10 +1078,6 @@ class SignalProcessingTab(QWidget):
|
||||||
else:
|
else:
|
||||||
self.slider.setMaximum(stg.time[self.combobox_acoustic_data_choice.currentIndex()].shape[1])
|
self.slider.setMaximum(stg.time[self.combobox_acoustic_data_choice.currentIndex()].shape[1])
|
||||||
|
|
||||||
self.plot_transect_with_SNR_data()
|
|
||||||
self.plot_pre_processed_BS_signal()
|
|
||||||
self.plot_pre_processed_profile()
|
|
||||||
|
|
||||||
# self.activate_list_of_pre_processed_data()
|
# self.activate_list_of_pre_processed_data()
|
||||||
|
|
||||||
@trace
|
@trace
|
||||||
|
|
@ -1309,33 +1323,34 @@ class SignalProcessingTab(QWidget):
|
||||||
msgBox.exec()
|
msgBox.exec()
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
data_id = self.combobox_acoustic_data_choice.currentIndex()
|
||||||
|
|
||||||
stg.SNR_filter_value[self.combobox_acoustic_data_choice.currentIndex()] = (
|
stg.SNR_filter_value[data_id] = (
|
||||||
float(self.lineEdit_SNR_criterion.text().replace(",", ".")))
|
float(self.lineEdit_SNR_criterion.text().replace(",", ".")))
|
||||||
|
|
||||||
if stg.BS_stream_bed[self.combobox_acoustic_data_choice.currentIndex()].shape != (0,):
|
if stg.BS_stream_bed[data_id].shape != (0,):
|
||||||
|
|
||||||
stg.BS_stream_bed_pre_process_SNR = deepcopy(stg.BS_stream_bed)
|
stg.BS_stream_bed_pre_process_SNR = deepcopy(stg.BS_stream_bed)
|
||||||
|
|
||||||
for f, _ in enumerate(stg.freq[self.combobox_acoustic_data_choice.currentIndex()]):
|
for f, _ in enumerate(stg.freq[data_id]):
|
||||||
stg.BS_stream_bed_pre_process_SNR[self.combobox_acoustic_data_choice.currentIndex()][
|
stg.BS_stream_bed_pre_process_SNR[data_id][
|
||||||
f,
|
f,
|
||||||
np.where(stg.SNR_stream_bed[self.combobox_acoustic_data_choice.currentIndex()][f, :, :] <
|
np.where(stg.SNR_stream_bed[data_id][f, :, :] <
|
||||||
float(self.lineEdit_SNR_criterion.text().replace(",", ".")))[0],
|
float(self.lineEdit_SNR_criterion.text().replace(",", ".")))[0],
|
||||||
np.where(stg.SNR_stream_bed[self.combobox_acoustic_data_choice.currentIndex()][f, :, :] <
|
np.where(stg.SNR_stream_bed[data_id][f, :, :] <
|
||||||
float(self.lineEdit_SNR_criterion.text().replace(",", ".")))[1]] \
|
float(self.lineEdit_SNR_criterion.text().replace(",", ".")))[1]] \
|
||||||
= np.nan
|
= np.nan
|
||||||
|
|
||||||
elif stg.BS_cross_section[self.combobox_acoustic_data_choice.currentIndex()].shape != (0,):
|
elif stg.BS_cross_section[data_id].shape != (0,):
|
||||||
|
|
||||||
stg.BS_cross_section_pre_process_SNR = deepcopy(stg.BS_cross_section)
|
stg.BS_cross_section_pre_process_SNR = deepcopy(stg.BS_cross_section)
|
||||||
|
|
||||||
for f, _ in enumerate(stg.freq[self.combobox_acoustic_data_choice.currentIndex()]):
|
for f, _ in enumerate(stg.freq[data_id]):
|
||||||
stg.BS_cross_section_pre_process_SNR[self.combobox_acoustic_data_choice.currentIndex()][
|
stg.BS_cross_section_pre_process_SNR[data_id][
|
||||||
f,
|
f,
|
||||||
np.where(stg.SNR_cross_section[self.combobox_acoustic_data_choice.currentIndex()][f, :,
|
np.where(stg.SNR_cross_section[data_id][f, :,
|
||||||
:] < float(self.lineEdit_SNR_criterion.text().replace(",", ".")))[0],
|
:] < float(self.lineEdit_SNR_criterion.text().replace(",", ".")))[0],
|
||||||
np.where(stg.SNR_cross_section[self.combobox_acoustic_data_choice.currentIndex()][f, :,
|
np.where(stg.SNR_cross_section[data_id][f, :,
|
||||||
:] < float(self.lineEdit_SNR_criterion.text().replace(",", ".")))[1]] \
|
:] < float(self.lineEdit_SNR_criterion.text().replace(",", ".")))[1]] \
|
||||||
= np.nan
|
= np.nan
|
||||||
|
|
||||||
|
|
@ -1343,17 +1358,16 @@ class SignalProcessingTab(QWidget):
|
||||||
|
|
||||||
stg.BS_raw_data_pre_process_SNR = deepcopy(stg.BS_raw_data)
|
stg.BS_raw_data_pre_process_SNR = deepcopy(stg.BS_raw_data)
|
||||||
|
|
||||||
for f, _ in enumerate(stg.freq[self.combobox_acoustic_data_choice.currentIndex()]):
|
for f, _ in enumerate(stg.freq[data_id]):
|
||||||
stg.BS_raw_data_pre_process_SNR[self.combobox_acoustic_data_choice.currentIndex()][
|
stg.BS_raw_data_pre_process_SNR[data_id][
|
||||||
f,
|
f,
|
||||||
np.where(stg.SNR_raw_data[self.combobox_acoustic_data_choice.currentIndex()][f, :,
|
np.where(stg.SNR_raw_data[data_id][f, :,
|
||||||
:] < float(self.lineEdit_SNR_criterion.text().replace(",", ".")))[0],
|
:] < float(self.lineEdit_SNR_criterion.text().replace(",", ".")))[0],
|
||||||
np.where(stg.SNR_raw_data[self.combobox_acoustic_data_choice.currentIndex()][f, :,
|
np.where(stg.SNR_raw_data[data_id][f, :,
|
||||||
:] < float(self.lineEdit_SNR_criterion.text().replace(",", ".")))[1]] \
|
:] < float(self.lineEdit_SNR_criterion.text().replace(",", ".")))[1]] \
|
||||||
= np.nan
|
= np.nan
|
||||||
|
|
||||||
self.compute_averaged_BS_data()
|
self.compute_averaged_BS_data()
|
||||||
self.update_plot_pre_processed_profile()
|
|
||||||
|
|
||||||
@trace
|
@trace
|
||||||
def plot_pre_processed_BS_signal(self, *args):
|
def plot_pre_processed_BS_signal(self, *args):
|
||||||
|
|
@ -1386,6 +1400,7 @@ class SignalProcessingTab(QWidget):
|
||||||
.addWidget(self.scroll_BS)
|
.addWidget(self.scroll_BS)
|
||||||
|
|
||||||
if stg.time_cross_section[data_id].shape != (0,):
|
if stg.time_cross_section[data_id].shape != (0,):
|
||||||
|
logger.info("time_cross_section")
|
||||||
if stg.depth_cross_section[data_id].shape != (0,):
|
if stg.depth_cross_section[data_id].shape != (0,):
|
||||||
x_time = stg.time_cross_section[data_id]
|
x_time = stg.time_cross_section[data_id]
|
||||||
y_depth = stg.depth_cross_section[data_id]
|
y_depth = stg.depth_cross_section[data_id]
|
||||||
|
|
@ -1393,6 +1408,7 @@ class SignalProcessingTab(QWidget):
|
||||||
x_time = stg.time_cross_section[data_id]
|
x_time = stg.time_cross_section[data_id]
|
||||||
y_depth = stg.depth[data_id]
|
y_depth = stg.depth[data_id]
|
||||||
else:
|
else:
|
||||||
|
logger.info("time")
|
||||||
if stg.depth_cross_section[data_id].shape != (0,):
|
if stg.depth_cross_section[data_id].shape != (0,):
|
||||||
x_time = stg.time[data_id]
|
x_time = stg.time[data_id]
|
||||||
y_depth = stg.depth_cross_section[data_id]
|
y_depth = stg.depth_cross_section[data_id]
|
||||||
|
|
@ -1489,7 +1505,6 @@ class SignalProcessingTab(QWidget):
|
||||||
.addWidget(self.scroll_BS)
|
.addWidget(self.scroll_BS)
|
||||||
|
|
||||||
def update_label_cells_sec(self):
|
def update_label_cells_sec(self):
|
||||||
|
|
||||||
print("Je change la valeur du moyennage")
|
print("Je change la valeur du moyennage")
|
||||||
print(stg.nb_profiles_per_sec)
|
print(stg.nb_profiles_per_sec)
|
||||||
print(stg.nb_profiles_per_sec[self.combobox_acoustic_data_choice.currentIndex()][0])
|
print(stg.nb_profiles_per_sec[self.combobox_acoustic_data_choice.currentIndex()][0])
|
||||||
|
|
@ -1501,8 +1516,8 @@ class SignalProcessingTab(QWidget):
|
||||||
(1 / stg.nb_profiles_per_sec[self.combobox_acoustic_data_choice.currentIndex()][0])) +
|
(1 / stg.nb_profiles_per_sec[self.combobox_acoustic_data_choice.currentIndex()][0])) +
|
||||||
" sec")
|
" sec")
|
||||||
|
|
||||||
def compute_averaged_BS_data(self):
|
@trace
|
||||||
|
def compute_averaged_BS_data(self, *args):
|
||||||
if len(stg.filename_BS_raw_data) == 0:
|
if len(stg.filename_BS_raw_data) == 0:
|
||||||
msgBox = QMessageBox()
|
msgBox = QMessageBox()
|
||||||
msgBox.setWindowTitle("Compute noise from profile tail error")
|
msgBox.setWindowTitle("Compute noise from profile tail error")
|
||||||
|
|
@ -1618,9 +1633,6 @@ class SignalProcessingTab(QWidget):
|
||||||
stg.BS_raw_data_pre_process_average[data_id][f, i, :] = (
|
stg.BS_raw_data_pre_process_average[data_id][f, i, :] = (
|
||||||
convolve(stg.BS_raw_data[data_id][f, i, :], kernel_avg))
|
convolve(stg.BS_raw_data[data_id][f, i, :], kernel_avg))
|
||||||
|
|
||||||
self.plot_pre_processed_BS_signal()
|
|
||||||
self.update_plot_pre_processed_profile()
|
|
||||||
|
|
||||||
@trace
|
@trace
|
||||||
def plot_pre_processed_profile(self, *args):
|
def plot_pre_processed_profile(self, *args):
|
||||||
data_id = self.combobox_acoustic_data_choice.currentIndex()
|
data_id = self.combobox_acoustic_data_choice.currentIndex()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue