Create mainV2.py
This commit is contained in:
72
visu/mainV2.py
Normal file
72
visu/mainV2.py
Normal file
@ -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()
|
Reference in New Issue
Block a user