diff --git a/visu/test.py b/visu/test.py new file mode 100644 index 0000000..bbd17c0 --- /dev/null +++ b/visu/test.py @@ -0,0 +1,85 @@ +from numpy import * +from scipy import * +from scipy.signal import * +from pylab import * +import pandas as pd +import matplotlib.pyplot as plt +from scipy.signal import butter, lfilter, freqz +import os + +def butter_lowpass(cutoff, fs, order=5): + nyq = 0.5 * fs + normal_cutoff = cutoff / nyq + b, a = butter(order, normal_cutoff, btype='low', analog=False) + return b, a + +def butter_lowpass_filter(data, cutoff, fs, order=5): + b, a = butter_lowpass(cutoff, fs, order=order) + y = lfilter(b, a, data) + return y + +file_path = "Dataset/Shear_Wave_Rot00_CSV_Data/Shear_x001-x101_y011_Rot00.csv" +files_path = ['Shear_x001-x101_y{:03d}_Rot00.csv'.format(i) for i in range(10, 62)] +df = pd.read_csv(file_path) + +print(df.head()) +""" +for file in files_path: + file_path = "Dataset/Shear_Wave_Rot00_CSV_Data/" + file + df = pd.read_csv(file_path) + + # Créer un DataFrame pour stocker les données transformées + transformed_data = pd.DataFrame() + + for index, row in df.iterrows(): + # Calculate envelope, called m_hat via hilbert transform + m_hat = abs(hilbert(row)) + + fs = 600.0 + cutoff = 3.667 + filtered_m_hat = butter_lowpass_filter(m_hat, cutoff, fs) + + # Ajouter les données transformées au DataFrame + transformed_data = pd.concat([transformed_data, pd.DataFrame(filtered_m_hat).T], ignore_index=True) + + # Créer le nom du fichier de sortie en ajoutant "_transform" à la fin du nom du fichier original + output_file_path = "Dataset/Shear_transform/" + os.path.splitext(file)[0] + "_transform.csv" + + # Écrire le DataFrame transformé dans le fichier de sortie + transformed_data.to_csv(output_file_path, index=False) +""" + + + + +first_row = df.iloc[0] +# Calculate envelope, called m_hat via hilbert transform +m_hat = abs(hilbert(first_row)) + +fs = 600.0 +cutoff = 3.667 +filtered_m_hat = butter_lowpass_filter(m_hat, cutoff, fs) + +# Create a new figure for the first plot +plt.figure() +plt.plot(m_hat) +plt.title('Plot of the m_hat') + +# Create a new figure for the second plot +plt.figure() +plt.plot(first_row) +plt.title('Plot of the pre_m_hat') + +plt.show() +""" +# Plot x +plot(t, x) +plot(t, m_hat) +axis('tight') +xlabel('Time (seconds)') +ylabel('Amplitude') +title('X, with calculated envelope') +legend(['x', 'm_hat']) +ylim(-2,2) +show() +"""