Signal processing tab is modified. According to the input data choice, the user can loaded a file for noise data and plot SNR field, BS corrected field with SNR criterion and averaged pre-processed signal. A button is added (close to the combobox of data to processed) to update the input data.

dev-brahim
brahim 2024-06-17 11:09:41 +02:00
parent 50efdbfd57
commit a137bbf0cc
4 changed files with 1685 additions and 1058 deletions

View File

@ -117,7 +117,7 @@ class AcousticDataLoader:
print(r2D.shape)
return r2D
def reshape_time(self):
def reshape_t(self):
# t = np.reshape(np.repeat(self._time, self._r.shape[0]), (self._time.shape[0]*self._r.shape[0], 1))
t = np.zeros((self._r.shape[1] * self._time.shape[1], self._freq.shape[0]))
for i, _ in enumerate(self._freq):

View File

@ -2988,6 +2988,7 @@ class AcousticDataTab(QWidget):
self.fig_BS.supxlabel('Time (sec)', fontsize=10)
self.fig_BS.supylabel('Depth (m)', fontsize=10)
self.fig_BS.canvas.draw_idle()
# self.fig_BS.canvas.flush_events()
# plt.close(self.fig_BS)
def plot_profile(self):
@ -3083,7 +3084,9 @@ class AcousticDataTab(QWidget):
self.fig_profile.supxlabel("Acoustic Backscatter Signal (V)")
self.fig_profile.supylabel("Depth (m)")
# self.fig_profile.canvas.draw()
self.fig_profile.canvas.draw_idle()
# self.fig_profile.canvas.flush_events()
# plt.close(self.fig_profile)
elif len(stg.BS_cross_section) != 0:
@ -3144,7 +3147,9 @@ class AcousticDataTab(QWidget):
self.fig_profile.supxlabel("Acoustic Backscatter Signal (V)")
self.fig_profile.supylabel("Depth (m)")
# self.fig_profile.canvas.draw()
self.fig_profile.canvas.draw_idle()
# self.fig_profile.canvas.flush_events()
# plt.close(self.fig_profile)
def slide_profile_number_to_begin(self):

File diff suppressed because it is too large Load Diff

View File

@ -19,8 +19,10 @@ time = []
path_BS_noise_data = ""
filename_BS_noise_data = ""
BS_noise_raw_data = np.array([]) # BS noise raw data : BS signal listen
BS_noise_averaged_data = np.array([]) # BS noise raw data averaged (array has the same shape than BS_raw_data shape)
BS_noise_raw_data = [] # BS noise raw data : BS signal listen
BS_noise_averaged_data = [] # BS noise raw data averaged (array has the same shape than BS_raw_data shape)
noise_method = []
date = []
date_noise = []
@ -38,8 +40,8 @@ kt_corrected = []
gain_rx = []
gain_tx = []
SNR_data = np.array([]) # SNR is computed with BS_noise_averaged_data
time_snr = np.array([])
SNR_raw_data = [] # SNR is computed with BS_noise_averaged_data
time_noise = []
# --- reshape raw data for table of values in Acoustic Data tab ---
time_reshape = []
@ -56,14 +58,14 @@ tmax = [] # maximum boundary of time (spin box tmin)
tmax_snr = np.array([])
rmin = []
rmax = []
BS_cross_section = [] # BS data limited with tmin and tmax values of spin box
# BS_data = stg.BS_raw_data[f, :, int(stg.tmin[f]):int(stg.tmax[f])]
BS_stream_bed = [] # BS_data_section = BS data in the section. Values NaN outside the bottom of the section are deleted
BS_noise_cross_section = np.array([]) # BS_noise_cros_section = BS_noise_data[:, :, tmin:tmax] (former Noise_data)
SNR_cross_section = np.array([]) # SNR_data = snr[:, :, tmin:tmax]
SNR_stream_bed = np.array([])
BS_cross_section = [] # BS data limited with tmin and tmax values of spin box
BS_stream_bed = [] # BS_data_section = BS data in the section. Values NaN outside the bottom of the section are deleted
# BS_noise_cross_section = [] # BS_noise_cross_section = BS_noise_data[:, :, tmin:tmax] (former Noise_data)
SNR_cross_section = [] # SNR_data = snr[:, :, tmin:tmax]
SNR_stream_bed = []
time_cross_section = []
t_snr = np.array([])
time_snr = []
depth_cross_section = []
depth_bottom = []
val_bottom = []
@ -80,13 +82,17 @@ depth_bottom_detection_1st_int_area = []
# BS_stream_bed_averaged = np.array([]) # BS data averaged - bottom is detected
# BS_stream_bed_averaged_SNR = np.array([]) # BS data averaged and filtered with SNR - bottom is detected
BS_cross_section_pre_process_SNR = np.array([[[]]]) # BS data filtered with SNR values (remove point if SNR < value) - bottom is not detected
BS_cross_section_pre_process_average = np.array([[[]]]) # BS data averaged - bottom is not detected
BS_cross_section_pre_process_SNR_average = np.array([[[]]]) # BS data averaged and filtered with SNR - bottom is not detected
BS_raw_data_pre_process_SNR = []
BS_raw_data_pre_process_average = []
BS_raw_data_pre_process_SNR_average = []
BS_stream_bed_pre_process_SNR = np.array([]) # BS data filtered with SNR values (remove point if SNR < value) - bottom is detected
BS_stream_bed_pre_process_average = np.array([]) # BS data averaged - bottom is detected
BS_stream_bed_pre_process_SNR_average = np.array([]) # BS data averaged and filtered with SNR - bottom is detected
BS_cross_section_pre_process_SNR = [] # BS data filtered with SNR values (remove point if SNR < value) - bottom is not detected
BS_cross_section_pre_process_average = [] # BS data averaged - bottom is not detected
BS_cross_section_pre_process_SNR_average = [] # BS data averaged and filtered with SNR - bottom is not detected
BS_stream_bed_pre_process_SNR = [] # BS data filtered with SNR values (remove point if SNR < value) - bottom is detected
BS_stream_bed_pre_process_average = [] # BS data averaged - bottom is detected
BS_stream_bed_pre_process_SNR_average = [] # BS data averaged and filtered with SNR - bottom is detected
time_average = np.array([])
SNR_data_average = np.array([]) # SNR data computed with BS signal averaged (not with BS raw signal)