Skip to content
Snippets Groups Projects
Commit fb884b82 authored by Djalim Simaila's avatar Djalim Simaila
Browse files

general improvement

parent f220783a
No related branches found
No related tags found
1 merge request!8General improvement
......@@ -3,8 +3,9 @@ from utils.files import output
from utils.files.input import ScannedObject
from utils.math.position_manipulation import verticalise
from utils.graph3D.visplot_render import render3D
import time
def get_raw_data(obj:ScannedObject, ndigits:int)->dict:
def get_raw_data(obj:ScannedObject, ndigits:int, delta_z:int = 1)->dict:
"""
Calculates data from the given object
......@@ -23,7 +24,7 @@ def get_raw_data(obj:ScannedObject, ndigits:int)->dict:
data = {}
for colone in colones:
data[colone] = []
for discrete_values in obj.get_discrete_vertices():
for discrete_values in obj.get_discrete_vertices(delta_z):
mean_x ,mean_y, mean_z = data_extraction.get_x_y_z_mean(discrete_values)
for x,y,z in discrete_values:
data["X (en mm)"].append(round(x, ndigits))
......@@ -35,7 +36,7 @@ def get_raw_data(obj:ScannedObject, ndigits:int)->dict:
data["Yi-Ymoy"].append(round(y-mean_y, ndigits))
return data
def get_discrete_data(obj:ScannedObject, ndigits:int)->dict:
def get_discrete_data(obj:ScannedObject, ndigits:int,delta_z:int= 1)->dict:
"""
Calculates data from the given object
......@@ -52,7 +53,7 @@ def get_discrete_data(obj:ScannedObject, ndigits:int)->dict:
data = {}
for colone in colones:
data[colone] = []
for discrete_values in obj.get_discrete_vertices():
for discrete_values in obj.get_discrete_vertices(delta_z):
x,y,z = data_extraction.get_x_y_z_mean(discrete_values)
data["X moy (en mm)"].append(round(x, ndigits))
data["Y moy (en mm)"].append(round(y, ndigits))
......@@ -66,12 +67,26 @@ def get_discrete_data(obj:ScannedObject, ndigits:int)->dict:
def main():
# Create an object from the given file
total_time = time.time()
print("Loading file...")
t = time.time()
obj = ScannedObject.from_obj_file("datasets/Barette/1 - BARETTE.obj")
print("File loaded in {} seconds".format(time.time()-t))
t = time.time()
print("Verticalising object...")
verticalise(obj)
print("Object verticalised in {} seconds".format(time.time()-t))
t = time.time()
print("Normalising object...")
obj.normalise()
print("Object normalised in {} seconds".format(time.time()-t))
# Calculate raw data and save it in a file
data = get_raw_data(obj, 6)
t = time.time()
data = get_raw_data(obj, 6,2)
print("Raw data calculated in {} seconds".format(time.time()-t))
t = time.time()
print("Saving data...")
output.save_output_file('analyse_brute.txt',
output.format_data(data,
'\t',
......@@ -82,9 +97,15 @@ def main():
"rayon (en mm)",
"Xi-Xmoy",
"Yi-Ymoy"] ))
print("Data saved in {} seconds".format(time.time()-t))
# Calculate discrete data and save it in a file
data = get_discrete_data(obj, 6)
t = time.time()
print("Calculating discrete data...")
data = get_discrete_data(obj, 6,2)
print("Discrete data calculated in {} seconds".format(time.time()-t))
t = time.time()
print("Saving data...")
output.save_output_file('analyse_rayon.txt',
output.format_data(data,
'\t',
......@@ -94,6 +115,8 @@ def main():
"Delta z(en mm)",
"Rayon moyen (en mm)",
"Rayon ecart type (en mm)"] ))
print("Data saved in {} seconds".format(time.time()-t))
print("Total time : {} seconds".format(time.time()-total_time))
if __name__ == '__main__':
main()
\ No newline at end of file
......@@ -32,7 +32,7 @@ def format_data(data:dict, separator:str, selected_columns:list = None) -> str:
output += '\n'
for i in range(len(data[selected_columns[0]])):
for column in selected_columns:
output += str(data[column][i]).ljust(len(column)) + separator
output += str(data[column][i]).ljust(len(column) if len(column) > 6 else 7 ) + separator
output += '\n'
return output
......
import vispy.plot as vp
import numpy as np
def render2D(values:list):
fig = vp.Fig(size=(600, 500), show=False)
plotwidget = fig[0, 0]
......@@ -11,7 +9,6 @@ def render2D(values:list):
plotwidget.colorbar(position="top", cmap="autumn")
fig.show(run=True)
def cross_section(x:list,y:list):
color = (0.3, 0.5, 0.8)
fig = vp.Fig(show=False)
......
import numpy as np
from vispy import app, scene
from vispy.scene.visuals import Mesh
from vispy.scene import transforms
from vispy.visuals.filters import ShadingFilter, WireframeFilter
from utils.files.input import ScannedObject
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment