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()