Skip to content

Commit 9cbcfd0

Browse files
reformatting + fixing attribute
1 parent b1cb45d commit 9cbcfd0

File tree

18 files changed

+307
-255
lines changed

18 files changed

+307
-255
lines changed

examples/python/Evaluation Simulation SEC2/evaluation.py

Lines changed: 108 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -5,147 +5,167 @@
55
import numpy as np
66
import re
77

8+
89
def read_sec2_resultat(file: str):
910
res_sec2 = []
1011
with open(file, "r") as f:
1112
lines = f.readlines()
1213
for i in range(len(lines)):
13-
if(lines[i].startswith("nb particules")):
14+
if lines[i].startswith("nb particules"):
1415
li = lines[i].split(None)
1516
nb_photon = int(li[3])
1617
res_sec2.append(nb_photon)
17-
18+
1819
return res_sec2
1920

21+
2022
def read_current_resultat(file: str):
2123
res_current_1000 = []
2224
res_current_1400 = []
23-
25+
2426
df = pd.read_csv(file)
2527
for index, r in df.iterrows():
2628
if r["elevation"] == 1000:
2729
res_current_1000.append(r["n_photons"])
2830
else:
2931
res_current_1400.append(r["n_photons"])
30-
32+
3133
return res_current_1000, res_current_1400
3234

35+
3336
def read_resultat_plant(file: str):
3437
id = []
3538
photons = []
3639
df = pd.read_csv(file)
3740
for index, r in df.iterrows():
3841
id.append(r[id])
3942
photons.append(r[n_photons])
40-
43+
4144
return id, photons
4245

46+
4347
if __name__ == "__main__":
4448
res_sec2 = read_sec2_resultat("res_sec2/mesures.txt")
45-
res_current_1000, res_current_1400 = read_current_resultat("res_final/captor_result-1000000000-655-665-nm.csv")
49+
res_current_1000, res_current_1400 = read_current_resultat(
50+
"res_final/captor_result-1000000000-655-665-nm.csv"
51+
)
4652
res_cur = res_current_1000 + res_current_1400
47-
53+
4854
res_sec2 = read_sec2_resultat("res_sec2/mesures.txt")
49-
res_old_1000, res_old_1400 = read_current_resultat("res_final/captor_result-1000000000-655-665-nm_ancien.csv")
55+
res_old_1000, res_old_1400 = read_current_resultat(
56+
"res_final/captor_result-1000000000-655-665-nm_ancien.csv"
57+
)
5058
res_old = res_old_1000 + res_old_1400
51-
52-
res_cor_diffuse_1000, res_cor_diffuse_1400 = read_current_resultat("res_final/captor_result-1000000000-655-665-nm_correctDiffuse.csv")
59+
60+
res_cor_diffuse_1000, res_cor_diffuse_1400 = read_current_resultat(
61+
"res_final/captor_result-1000000000-655-665-nm_correctDiffuse.csv"
62+
)
5363
res_cor_diffuse = res_cor_diffuse_1000 + res_cor_diffuse_1400
54-
55-
res_cor_tnear_1000, res_cor_tnear_1400 = read_current_resultat("res_final/captor_result-1000000000-655-665-nm_correctTnear.csv")
64+
65+
res_cor_tnear_1000, res_cor_tnear_1400 = read_current_resultat(
66+
"res_final/captor_result-1000000000-655-665-nm_correctTnear.csv"
67+
)
5668
res_cor_tnear = res_cor_tnear_1000 + res_cor_tnear_1400
57-
58-
res_cor_captor_dir_1000, res_cor_captor_dir_1400 = read_current_resultat("res_final/captor_result-1000000000-655-665-nm_BackfaceCaptor.csv")
69+
70+
res_cor_captor_dir_1000, res_cor_captor_dir_1400 = read_current_resultat(
71+
"res_final/captor_result-1000000000-655-665-nm_BackfaceCaptor.csv"
72+
)
5973
res_cor_captor_dir = res_cor_captor_dir_1000 + res_cor_captor_dir_1400
60-
61-
res_cor_captor_geo_1000, res_cor_captor_geo_1400 = read_current_resultat("res_final/captor_result-1000000000-655-665-nm.csv")
74+
75+
res_cor_captor_geo_1000, res_cor_captor_geo_1400 = read_current_resultat(
76+
"res_final/captor_result-1000000000-655-665-nm.csv"
77+
)
6278
res_cor_captor_geo = res_cor_captor_geo_1000 + res_cor_captor_geo_1400
63-
64-
res_cor_illum_1000, res_cor_illum_1400 = read_current_resultat("res_final/captor_result-1000000000-655-665-nm_correctIllumination.csv")
79+
80+
res_cor_illum_1000, res_cor_illum_1400 = read_current_resultat(
81+
"res_final/captor_result-1000000000-655-665-nm_correctIllumination.csv"
82+
)
6583
res_cor_illum = res_cor_illum_1000 + res_cor_illum_1400
66-
67-
res_lcg_1000, res_lcg_1400 = read_current_resultat("res_final/captor_result-1000000000-655-665-nm_RAND.csv")
84+
85+
res_lcg_1000, res_lcg_1400 = read_current_resultat(
86+
"res_final/captor_result-1000000000-655-665-nm_RAND.csv"
87+
)
6888
res_lcg = res_lcg_1000 + res_lcg_1400
69-
70-
res_xoroshiro_1000, res_xoroshiro_1400 = read_current_resultat("res_final/captor_result-1000000000-655-665-nm_xoroshiro.csv")
89+
90+
res_xoroshiro_1000, res_xoroshiro_1400 = read_current_resultat(
91+
"res_final/captor_result-1000000000-655-665-nm_xoroshiro.csv"
92+
)
7193
res_xoroshiro = res_xoroshiro_1000 + res_xoroshiro_1400
72-
73-
res_splitmix_1000, res_splitmix_1400 = read_current_resultat("res_final/captor_result-1000000000-655-665-nm_SplitMix.csv")
94+
95+
res_splitmix_1000, res_splitmix_1400 = read_current_resultat(
96+
"res_final/captor_result-1000000000-655-665-nm_SplitMix.csv"
97+
)
7498
res_splitmix = res_splitmix_1000 + res_splitmix_1400
75-
99+
76100
x = range(0, len(res_sec2))
77-
plt.plot(x, res_sec2, 'r')
78-
plt.plot(x, res_cur, 'g')
101+
plt.plot(x, res_sec2, "r")
102+
plt.plot(x, res_cur, "g")
79103
plt.legend(["Resultat SEC2", "Current resultat"])
80104
plt.title("Wavelength 655-665 nm")
81105
plt.ylabel("Nb of photon")
82106
plt.xlabel("Index of captor")
83107
plt.show()
84-
108+
85109
res_dif = [
86-
# Correct Bug
87-
#np.subtract(res_cor_diffuse, res_sec2),
88-
#np.subtract(res_cor_tnear, res_sec2),
89-
#np.subtract(res_cor_captor_dir, res_sec2),
90-
#np.subtract(res_cor_captor_geo, res_sec2)
91-
np.subtract(res_cor_captor_dir, res_sec2),
92-
np.subtract(res_cor_captor_geo, res_sec2)
93-
94-
#PRNG test
95-
#np.subtract(res_cur, res_sec2),
96-
#np.subtract(res_lcg, res_sec2),
97-
#np.subtract(res_splitmix, res_sec2),
98-
#np.subtract(res_xoroshiro, res_sec2)
110+
# Correct Bug
111+
# np.subtract(res_cor_diffuse, res_sec2),
112+
# np.subtract(res_cor_tnear, res_sec2),
113+
# np.subtract(res_cor_captor_dir, res_sec2),
114+
# np.subtract(res_cor_captor_geo, res_sec2)
115+
np.subtract(res_cor_captor_dir, res_sec2),
116+
np.subtract(res_cor_captor_geo, res_sec2),
117+
# PRNG test
118+
# np.subtract(res_cur, res_sec2),
119+
# np.subtract(res_lcg, res_sec2),
120+
# np.subtract(res_splitmix, res_sec2),
121+
# np.subtract(res_xoroshiro, res_sec2)
99122
]
100123
labels = [
101-
# Correct Bug
102-
#"Correct Diffuse & Speculaire",
103-
#"Correct Tnear",
104-
#"Correct Back-face Culling",
105-
#"Correct Captor Geo",
106-
107-
108-
"Ignorer les faces arrière",
109-
"Modifier la géométrie de capteur"
110-
111-
# PRNG test
112-
#"PCG",
113-
#"LCG",
114-
#"SplitMix",
115-
#"Xoroshiro"
124+
# Correct Bug
125+
# "Correct Diffuse & Speculaire",
126+
# "Correct Tnear",
127+
# "Correct Back-face Culling",
128+
# "Correct Captor Geo",
129+
"Ignorer les faces arrière",
130+
"Modifier la géométrie de capteur",
131+
# PRNG test
132+
# "PCG",
133+
# "LCG",
134+
# "SplitMix",
135+
# "Xoroshiro"
116136
]
117-
118-
#plt.title("La différence entre le résultat de notre moteur et SEC2")
119-
#plt.ylabel("Nb of photon")
120-
#plt.boxplot(res_dif, patch_artist=False, labels=labels)
121-
#plt.show()
122-
123-
#x = ["PCG", "LCG", "SplitMix", "Xoroshiro"]
124-
#y = [288.5, 292.2, 298.1, 291.8]
125-
#plt.bar(x, y)
126-
#plt.title("Performance according to PRNG")
127-
#plt.ylabel("Times (s)")
128-
#plt.xlabel("Pseudo random number generator")
129-
#plt.show()
130-
131-
#x = [1,2,4,8]
132-
#y = [1298.5, 662.6, 346.4, 263.72]
133-
#y = [1442.3, 734.8, 380.4, 286.3]
134-
#plt.plot(x, y, '-s')
135-
#plt.title("Performances avec des différents nombre de threads")
136-
#plt.ylabel("Temps (s)")
137-
#plt.xlabel("Nombre de threads")
138-
#plt.show()
139-
140-
#x = ["SEC2", "Notre moteur original", "Notre moteur courrant"]
141-
#y = [2113, 1264, 286]
142-
#plt.bar(x, y)
143-
#plt.title("Performance de chaque version de moteur")
144-
#plt.ylabel("Temps (s)")
145-
#plt.xlabel("Version de moteur")
146-
#plt.show()
147-
148-
# xls = pd.ExcelFile(r"simuMesureExpes12_tout.xls") # use r before absolute file path
137+
138+
# plt.title("La différence entre le résultat de notre moteur et SEC2")
139+
# plt.ylabel("Nb of photon")
140+
# plt.boxplot(res_dif, patch_artist=False, labels=labels)
141+
# plt.show()
142+
143+
# x = ["PCG", "LCG", "SplitMix", "Xoroshiro"]
144+
# y = [288.5, 292.2, 298.1, 291.8]
145+
# plt.bar(x, y)
146+
# plt.title("Performance according to PRNG")
147+
# plt.ylabel("Times (s)")
148+
# plt.xlabel("Pseudo random number generator")
149+
# plt.show()
150+
151+
# x = [1,2,4,8]
152+
# y = [1298.5, 662.6, 346.4, 263.72]
153+
# y = [1442.3, 734.8, 380.4, 286.3]
154+
# plt.plot(x, y, '-s')
155+
# plt.title("Performances avec des différents nombre de threads")
156+
# plt.ylabel("Temps (s)")
157+
# plt.xlabel("Nombre de threads")
158+
# plt.show()
159+
160+
# x = ["SEC2", "Notre moteur original", "Notre moteur courrant"]
161+
# y = [2113, 1264, 286]
162+
# plt.bar(x, y)
163+
# plt.title("Performance de chaque version de moteur")
164+
# plt.ylabel("Temps (s)")
165+
# plt.xlabel("Version de moteur")
166+
# plt.show()
167+
168+
# xls = pd.ExcelFile(r"simuMesureExpes12_tout.xls") # use r before absolute file path
149169

150170
# res_simulation = xls.parse(0) #2 is the sheet number+1 thus if the file has only 1 sheet write 0 in paranthesis
151171

@@ -164,7 +184,6 @@ def read_resultat_plant(file: str):
164184
# res_725_735 = res_simulation['725_735_cptNormM2_sim']
165185
# res_735_800 = res_simulation['735_800_cptNormM2_sim']
166186

167-
168187
# res_exp_1_1000 = {
169188
# '400_445': [],
170189
# '655_665': [],
@@ -200,7 +219,6 @@ def read_resultat_plant(file: str):
200219
# res_exp_1_1400['655_665'].append(res_655_665[i])
201220
# res_exp_1_1400['735_800'].append(res_735_800[i])
202221

203-
204222
# dir = "./res/"
205223
# for file in os.listdir(dir):
206224
# if file.startswith("captor_result"):
@@ -217,7 +235,6 @@ def read_resultat_plant(file: str):
217235
# else:
218236
# cur_res_exp_1_1400[band].append(r["n_photons"])
219237

220-
221238
# x1_1000 = res_exp_1_1000['400_445']
222239
# x2_1000 = res_exp_1_1000['655_665']
223240
# x3_1000 = res_exp_1_1000['735_800']

examples/python/Evaluation Simulation SEC2/evaluation_Nmes.py

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -15,46 +15,47 @@ def read_resultat_nmes(file: str):
1515
ids.append(r["id"])
1616
nmes_600_655.append(r["N_mes_600_655"])
1717
nmes_655_665.append(r["N_mes_655_665"])
18-
18+
1919
return ids, nmes_600_655, nmes_655_665
20-
20+
21+
2122
def read_prop_optique(file: str):
2223
_lambda = []
2324
val = []
2425
df = pd.read_csv(file)
2526
for index, r in df.iterrows():
2627
_lambda.append(r["lambda"])
2728
val.append(r["moy"])
28-
29+
2930
return _lambda, val
3031

32+
3133
if __name__ == "__main__":
32-
33-
34-
xls = pd.ExcelFile(r"simuMesureExpes12_tout.xls") # use r before absolute file path
35-
36-
res_simulation = xls.parse(0) #2 is the sheet number+1 thus if the file has only 1 sheet write 0 in paranthesis
37-
res_captor_rayon = res_simulation['rayonCapteur']
38-
res_600_655 = res_simulation['600_655_mumolM2S_mes']
39-
res_655_665 = res_simulation['655_665_mumolM2S_mes']
40-
34+
xls = pd.ExcelFile(r"simuMesureExpes12_tout.xls") # use r before absolute file path
35+
36+
res_simulation = xls.parse(
37+
0
38+
) # 2 is the sheet number+1 thus if the file has only 1 sheet write 0 in paranthesis
39+
res_captor_rayon = res_simulation["rayonCapteur"]
40+
res_600_655 = res_simulation["600_655_mumolM2S_mes"]
41+
res_655_665 = res_simulation["655_665_mumolM2S_mes"]
42+
4143
res_sec2_600_655 = []
4244
res_sec2_655_665 = []
4345
for i in range(len(res_600_655)):
44-
if (res_captor_rayon[i] == 10):
45-
res_sec2_600_655.append(res_600_655[i])
46-
res_sec2_655_665.append(res_655_665[i])
47-
48-
ids, cur_mes_600_655, cur_mes_655_665 = read_resultat_nmes("captor_result-1000000000.csv")
49-
46+
if res_captor_rayon[i] == 10:
47+
res_sec2_600_655.append(res_600_655[i])
48+
res_sec2_655_665.append(res_655_665[i])
49+
50+
ids, cur_mes_600_655, cur_mes_655_665 = read_resultat_nmes(
51+
"captor_result-1000000000.csv"
52+
)
53+
5054
z3 = np.polyfit(res_sec2_600_655, cur_mes_600_655, 1)
5155
p3 = np.poly1d(z3)
52-
plt.scatter(res_sec2_600_655, cur_mes_600_655, 20, 'b')
53-
plt.plot(res_sec2_600_655, p3(res_sec2_600_655), 'r')
56+
plt.scatter(res_sec2_600_655, cur_mes_600_655, 20, "b")
57+
plt.plot(res_sec2_600_655, p3(res_sec2_600_655), "r")
5458
plt.title("Wavelength 600-655 nm / Mmol par m² par s ")
5559
plt.ylabel("Current res")
5660
plt.xlabel("Res sec2")
5761
plt.show()
58-
59-
60-

0 commit comments

Comments
 (0)