70 lines
2.9 KiB
Python
70 lines
2.9 KiB
Python
import numpy as np
|
|
from main import get_raw_data, get_discrete_data
|
|
from utils.files.file_data import Object
|
|
from utils.files.output import save_output_file, format_data
|
|
from utils.files.parsers import parse_obj_file, parse_xyz_file
|
|
from integration_tests import data_test
|
|
import time
|
|
import os
|
|
|
|
def test_get_raw_data(obj:Object, expected_file:str, ndigits:int = 6, eps:float = 0.0001):
|
|
"""
|
|
Test the get_raw_data function
|
|
"""
|
|
|
|
# Calculate raw data and save it in a file
|
|
now = time.time()
|
|
data = get_raw_data(obj, ndigits)
|
|
print()
|
|
print("Time to calculate raw data: ", time.time() - now)
|
|
save_output_file('tmp_analyse_brute.txt', format_data(data, '\t', ["X (en mm)", "Y (en mm)", "Z (en mm)", "teta (en rad)", "rayon (en mm)","Xi-Xmoy","Yi-Ymoy"] ))
|
|
data_test.check_raw_data(expected_file, 'tmp_analyse_brute.txt', ndigits, eps)
|
|
os.remove('tmp_analyse_brute.txt')
|
|
|
|
def test_get_discrete_data(obj: Object,expected_file:str, ndigits:int = 6, eps:float = 0.0001):
|
|
"""
|
|
Test the get_discrete_data function
|
|
"""
|
|
|
|
# Calculate discrete data and save it in a file
|
|
now = time.time()
|
|
data = get_discrete_data(obj, ndigits)
|
|
print()
|
|
print("Time to calculate discrete data: ", time.time() - now)
|
|
save_output_file('tmp_analyse_discrete.txt', format_data(data, '\t', ["X moy (en mm)", "Y moy (en mm)", "Z moy (en mm)","Rayon moyen (en mm)","Rayon ecart type (en mm)"] ))
|
|
data_test.check_discrete_data(expected_file, 'tmp_analyse_discrete.txt', ndigits, eps)
|
|
os.remove('tmp_analyse_discrete.txt')
|
|
|
|
def test():
|
|
eps = 0.000001
|
|
|
|
#obj = parse_obj_file("datasets/Barette/3 - BARETTE v1.obj",normalised='z')
|
|
#obj = parse_xyz_file("datasets/Barette/4 - BARETTE v1.xyz",normalised='z')
|
|
obj = parse_xyz_file("datasets/Barette/4 - BARETTE v1.xyz","datasets/Barette/BARETTE_Delta 1,0_analyse rayon.txt",normalised='z')
|
|
|
|
test_get_raw_data(obj,
|
|
"datasets/Barette/BARETTE_Delta 1,0_analyse brute.txt",
|
|
eps=eps)
|
|
|
|
test_get_discrete_data(obj,
|
|
"datasets/Barette/BARETTE_Delta 1,0_analyse rayon.txt",
|
|
eps=eps)
|
|
|
|
def show_diff_between_obj_and_xyz():
|
|
obj1 = parse_obj_file("datasets/Barette/3 - BARETTE v1.obj",normalised='z')
|
|
obj2 = parse_xyz_file("datasets/Barette/4 - BARETTE v1.xyz",normalised='z')
|
|
obj2verts = obj2.get_vertices(sort=True)
|
|
for count, values in enumerate(obj1.get_vertices(sort=True)):
|
|
L = [abs(values[i] - obj2verts[count][i]) for i in range(len(values))]
|
|
print(*L,sep="\t")
|
|
|
|
|
|
def count_elements_in_discrete_array():
|
|
obj = parse_xyz_file("datasets/Barette/4 - BARETTE v1.xyz","datasets/Barette/BARETTE_Delta 1,0_analyse rayon.txt",normalised='z')
|
|
cpt = 0
|
|
for i in obj.bruteforce_discretization():
|
|
print(f"nb of element in z{cpt} to z{cpt+1}:",len(i))
|
|
cpt += 1
|
|
|
|
if __name__ == "__main__":
|
|
test() |