-
Notifications
You must be signed in to change notification settings - Fork 3
/
run_non_iterative.py
61 lines (48 loc) · 1.69 KB
/
run_non_iterative.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
from scipy.spatial import Delaunay
import numpy as np
import math
import subprocess
from cloud_to_gts import input_triangulation
from cloud_to_gts import gts_write
from cloud_to_gts import gts_to_cloud
def run_non_iterative(testing):
print("***************************************")
print("Running Non Iterative Mesh Smoothing...")
print("***************************************")
arg1 = "1"
arg2 = "1"
dist_mode = "1"
if (not testing):
print()
print("Probability distribution options:")
print("1: Gaussian")
print("2: Exponential")
print("3: Gamma")
dist_mode = input("selection: ")
print()
arg1 = input("sigma_f: ")
arg2 = input("sigma_g: ")
tri, points = input_triangulation(testing)
gts_in = gts_write(tri, points, testing)
in_file = gts_in
out_file = "bunny_smooth.gts"
if (not testing):
out_file = input("Smoothed GTS filename: ")
with open(in_file, 'r') as f:
with open(out_file, 'w') as o:
system_id = 0
print()
print("******** Select System *******")
print("1: Linux")
print("2: MacOS")
print("******************************")
system_id = int(input("Selection: "))
print()
if (system_id == 2):
subprocess.run(["./smoother_mac", arg1, arg2, dist_mode], stdin=f, stdout=o)
if (system_id == 1):
subprocess.run(["./smoother", arg1, arg2, dist_mode], stdin=f, stdout=o)
out_xyz = "bunny_nims_smoothed.xyz"
if (not testing):
out_xyz = input("Output .xyz filename: ")
gts_to_cloud(out_file, out_xyz)