general improvement
This commit is contained in:
parent
f220783aca
commit
fb884b82ba
35
main.py
35
main.py
@ -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()
|
@ -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
|
||||
|
||||
|
@ -1,8 +1,6 @@
|
||||
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)
|
||||
|
@ -1,7 +1,6 @@
|
||||
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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user