Create test.py

This commit is contained in:
mathur04
2024-04-09 13:56:18 +02:00
committed by GitHub
parent 2732fd7e9d
commit 96afd0290a

85
visu/test.py Normal file
View File

@ -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()
"""