From 5e193f35e12dea20497c8b34b5e822450904c306 Mon Sep 17 00:00:00 2001 From: mathur04 <90455442+mathur04@users.noreply.github.com> Date: Tue, 9 Apr 2024 13:58:12 +0200 Subject: [PATCH] Create mainV2.py --- visu/mainV2.py | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 visu/mainV2.py diff --git a/visu/mainV2.py b/visu/mainV2.py new file mode 100644 index 0000000..38f48e8 --- /dev/null +++ b/visu/mainV2.py @@ -0,0 +1,72 @@ +from util import * +import matplotlib.pyplot as plt +import numpy as np +import pandas as pd +import plotly.graph_objects as go +import csv +import os + +def lire_un_fichier_csv(data): + tableau_2D = [] + tab = [] + with open(data, "r") as csv_file: + csv_reader = csv.reader(csv_file, delimiter=',') + for ligne in csv_reader: + tableau_2D.append(ligne) + for i in range(len(tableau_2D[0])): + ligne = [] + for j in range(len(tableau_2D)): + ligne.append(float(tableau_2D[j][i])) + tab.append(ligne) + return tab + +def lire_fichier_csv(data,fichier): + resultat=[] + tableau=[] + for i in fichier: + tableau=lire_un_fichier_csv(os.path.join(data,i)) + resultat.append(tableau) + return resultat + +# Répertoire contenant les fichiers +dossier = "Dataset/Shear_Wave_Rot00_CSV_Data" +fichiers_selectionnes= ['Shear_x001-x101_y010_Rot00.csv', 'Shear_x001-x101_y011_Rot00.csv', 'Shear_x001-x101_y012_Rot00.csv', 'Shear_x001-x101_y013_Rot00.csv', 'Shear_x001-x101_y014_Rot00.csv', 'Shear_x001-x101_y015_Rot00.csv'] +print(fichiers_selectionnes) +tableau_3D=lire_fichier_csv(dossier,fichiers_selectionnes) + +tb = np.array(tableau_3D) +Bscan_array = tb[0,:,:] +# Préparation des données de coordonnées +x, y = np.meshgrid(range(Bscan_array.shape[1]), range(Bscan_array.shape[0])) +z = np.zeros(x.shape) # Tous les points sont au niveau z=0 + +# Aplatir les tableaux pour la visualisation +x, y, z = x.flatten(), y.flatten(), z.flatten() +amplitude = Bscan_array.flatten() # Utiliser les valeurs d'amplitude pour la couleur + + +fig = go.Figure(data=[go.Scatter3d( + x=x, + y=y, + z=z, + mode='markers', + marker=dict( + size=5, + color=amplitude, # La couleur varie avec l'amplitude + colorscale='Viridis', # Palette de couleurs + opacity=0.8, + colorbar=dict(title='Amplitude') + ) +)]) + +# Mise à jour de la mise en page +fig.update_layout(title='Visualisation 3D des Amplitudes avec Bscan sur z=0', + scene=dict( + xaxis_title='X', + yaxis_title='Y', + zaxis_title='Z', + zaxis=dict(range=[-0.1, 0.1])), # Limite l'axe z pour mieux visualiser le plan z=0 + margin=dict(l=0, r=0, b=0, t=0)) + +# Afficher la figure +fig.show()