Skip to content

Commit 8205a86

Browse files
birkholz-cubertBenjamin Müller
andauthored
Restructured Input Arguments for Examples (#8)
* switched default paths to pathlib.Path * fixing examples * use new cube getter * Update README.md Co-authored-by: Benjamin Müller <mueller@cubert-gmbh.de>
1 parent cc30448 commit 8205a86

10 files changed

Lines changed: 275 additions & 339 deletions

EX01_loadMeasurement.py

Lines changed: 20 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,16 @@
11
import os
22
import platform
3+
from pathlib import Path
34

45
import matplotlib.pyplot as plt
56
import numpy as np
67

78
import cuvis
89

9-
### default directories and files
10-
data_dir = None
11-
12-
if platform.system() == "Windows":
13-
lib_dir = os.getenv("CUVIS")
14-
data_dir = os.path.normpath(os.path.join(lib_dir, os.path.pardir, "sdk",
15-
"sample_data", "set_examples"))
16-
elif platform.system() == "Linux":
17-
lib_dir = os.getenv("CUVIS_DATA")
18-
data_dir = os.path.normpath(
19-
os.path.join(lib_dir, "sample_data", "set_examples"))
20-
21-
# default image
22-
loc_file = os.path.join(data_dir,
23-
"set0_single",
24-
"single.cu3s")
25-
# default settings
26-
loc_settings = os.path.join(data_dir, "settings")
27-
2810

2911
def run_example_loadMeasurement(
30-
userSettingsDir=loc_settings,
31-
measurementLoc=loc_file):
12+
userSettingsDir,
13+
measurementLoc):
3214
print("loading user settings...")
3315
cuvis.init(userSettingsDir)
3416
cuvis.set_log_level("info")
@@ -44,13 +26,13 @@ def run_example_loadMeasurement(
4426
mesu.integration_time,
4527
mesu.processing_mode.name,
4628
))
47-
29+
4830
if isinstance(mesu.measurement_flags, cuvis.MeasurementFlags):
4931
print(f"Flags: {mesu.measurement_flags}")
5032
for v in cuvis.MeasurementFlags.supremum():
5133
print(f'{v}: {v in mesu.measurement_flags}')
5234

53-
cube = mesu.data.get("cube", None)
35+
cube = mesu.cube
5436
if cube is None:
5537
raise Exception("Cube not found")
5638

@@ -78,6 +60,20 @@ def run_example_loadMeasurement(
7860

7961
if __name__ == "__main__":
8062

63+
if platform.system() == "Windows":
64+
data_dir = Path(os.getenv("CUVIS")).parent / "sdk" / \
65+
"sample_data" / "set_examples"
66+
67+
elif platform.system() == "Linux":
68+
data_dir = Path(os.getenv("CUVIS_DATA")) / \
69+
"sample_data" / "set_examples"
70+
71+
# default image
72+
loc_file = data_dir / "set0_single" / "single.cu3s"
73+
74+
# default settings
75+
loc_settings = data_dir / "settings"
76+
8177
print("Example 01: Load Measurement. Please provide:")
8278

8379
userSettingsDir = input(
@@ -90,4 +86,4 @@ def run_example_loadMeasurement(
9086
if measurementLoc.strip().lower() in ["", "default"]:
9187
measurementLoc = loc_file
9288

93-
run_example_loadMeasurement(userSettingsDir, measurementLoc)
89+
run_example_loadMeasurement(str(userSettingsDir), str(measurementLoc))

EX02_reprocessMeasurement.py

Lines changed: 40 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,17 @@
11
import os
22
import platform
3+
from pathlib import Path
34

45
import cuvis
56

6-
### default directories and files
7-
data_dir = None
8-
9-
if platform.system() == "Windows":
10-
lib_dir = os.getenv("CUVIS")
11-
data_dir = os.path.normpath(os.path.join(lib_dir, os.path.pardir, "sdk",
12-
"sample_data", "set_examples"))
13-
elif platform.system() == "Linux":
14-
lib_dir = os.getenv("CUVIS_DATA")
15-
data_dir = os.path.normpath(
16-
os.path.join(lib_dir, "sample_data", "set_examples"))
17-
18-
# default images
19-
loc_file = os.path.join(data_dir,
20-
"set0_single",
21-
"single_raw.cu3s")
22-
loc_dark = os.path.join(data_dir,
23-
"set0_single",
24-
"single_dark.cu3s")
25-
loc_white = os.path.join(data_dir,
26-
"set0_single",
27-
"single_white.cu3s")
28-
loc_distance = os.path.join(data_dir,
29-
"set0_single",
30-
"single_distance.cu3s")
31-
32-
# default settings
33-
loc_settings = os.path.join(data_dir, "settings")
34-
35-
# default output
36-
loc_output = os.path.join(os.getcwd(), "EX02_reprocessed")
37-
387

398
def run_example_reprocessMeasurement(
40-
userSettingsDir=loc_settings,
41-
measurementLoc=loc_file,
42-
darkLoc=loc_dark,
43-
whiteLoc=loc_white,
44-
distanceLoc=loc_distance,
45-
outDir=loc_output):
9+
userSettingsDir,
10+
measurementLoc,
11+
darkLoc,
12+
whiteLoc,
13+
distanceLoc,
14+
outDir):
4615
print("loading user settings...")
4716
cuvis.init(userSettingsDir)
4817
cuvis.set_log_level("info")
@@ -82,8 +51,8 @@ def run_example_reprocessMeasurement(
8251

8352
procArgs = cuvis.ProcessingArgs()
8453
saveArgs = cuvis.SaveArgs(allow_overwrite=True,
85-
allow_session_file=True,
86-
allow_info_file=False)
54+
allow_session_file=True,
55+
allow_info_file=False)
8756

8857
modes = [cuvis.ProcessingMode.Raw,
8958
cuvis.ProcessingMode.DarkSubtract,
@@ -99,8 +68,8 @@ def run_example_reprocessMeasurement(
9968
print("processing to mode {}...".format(mode))
10069
processingContext.set_processing_args(procArgs)
10170
mesu = processingContext.apply(mesu)
102-
mesu.set_name(mode)
103-
saveArgs.export_dir = os.path.join(outDir, mode)
71+
mesu.set_name(mode.name)
72+
saveArgs.export_dir = str(Path(outDir) / mode.name)
10473
exporter = cuvis.Export.CubeExporter(saveArgs)
10574
exporter.apply(mesu)
10675

@@ -113,7 +82,29 @@ def run_example_reprocessMeasurement(
11382

11483
if __name__ == "__main__":
11584

116-
print("Example 02: Reprocess Measurement. Please provide:")
85+
if platform.system() == "Windows":
86+
data_dir = Path(os.getenv("CUVIS")).parent / "sdk" / \
87+
"sample_data" / "set_examples"
88+
89+
elif platform.system() == "Linux":
90+
data_dir = Path(os.getenv("CUVIS_DATA")) / \
91+
"sample_data" / "set_examples"
92+
93+
# default images
94+
loc_file = data_dir / "set0_single" / "single_raw.cu3s"
95+
loc_dark = data_dir / "set0_single" / "single_dark.cu3s"
96+
loc_white = data_dir / "set0_single" / "single_white.cu3s"
97+
98+
loc_distance = data_dir / "set0_single" / "single_distance.cu3s"
99+
100+
# default settings
101+
loc_settings = data_dir / "settings"
102+
103+
# default output
104+
loc_output = Path(os.getcwd()) / "EX02_reprocessed"
105+
106+
print(
107+
"Example 02: Reprocess Measurement. Please provide:")
117108

118109
userSettingsDir = input(
119110
"User settings directory (default: {}): ".format(loc_settings))
@@ -143,9 +134,9 @@ def run_example_reprocessMeasurement(
143134
if outDir.strip().lower() in ["", "default"]:
144135
outDir = loc_output
145136

146-
run_example_reprocessMeasurement(userSettingsDir,
147-
measurementLoc,
148-
darkLoc,
149-
whiteLoc,
150-
distanceLoc,
151-
outDir)
137+
run_example_reprocessMeasurement(str(userSettingsDir),
138+
str(measurementLoc),
139+
str(darkLoc),
140+
str(whiteLoc),
141+
str(distanceLoc),
142+
str(outDir))

EX03_exportMeasurement.py

Lines changed: 32 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,14 @@
11
import os
22
import platform
3+
from pathlib import Path
34

45
import cuvis
56

6-
### default directories and files
7-
data_dir = None
8-
plugin_dir = None
9-
10-
if platform.system() == "Windows":
11-
lib_dir = os.getenv("CUVIS")
12-
data_dir = os.path.normpath(os.path.join(lib_dir, os.path.pardir, "sdk",
13-
"sample_data", "set_examples"))
14-
plugin_dir = os.path.normpath(os.path.join(lib_dir, os.path.pardir, "sdk",
15-
"sample_data", "set_examples",
16-
"userplugin"))
17-
18-
elif platform.system() == "Linux":
19-
lib_dir = os.getenv("CUVIS_DATA")
20-
data_dir = os.path.normpath(
21-
os.path.join(lib_dir, "sample_data", "set_examples"))
22-
plugin_dir = os.path.normpath(os.path.join(lib_dir, "sdk",
23-
"sample_data", "set_examples",
24-
"plugin"))
25-
26-
# default images
27-
loc_file = os.path.join(data_dir,
28-
"set0_single",
29-
"single.cu3s")
30-
loc_plugin = os.path.join(plugin_dir,"ref", "cai.xml")
31-
32-
# default settings
33-
loc_settings = os.path.join(data_dir, "settings")
34-
35-
# default output
36-
loc_output = os.path.join(os.getcwd(), "EX03_export")
37-
38-
39-
def run_example_exportMeasurement(userSettingsDir=loc_settings,
40-
measurementLoc=loc_file,
41-
pluginLoc=loc_plugin,
42-
exportDir=loc_output):
7+
8+
def run_example_exportMeasurement(userSettingsDir,
9+
measurementLoc,
10+
pluginLoc,
11+
exportDir):
4312
print("loading user settings...")
4413
cuvis.init(userSettingsDir)
4514
cuvis.set_log_level("info")
@@ -60,13 +29,13 @@ def run_example_exportMeasurement(userSettingsDir=loc_settings,
6029

6130
print("Export to Multi-Channel Tiff...")
6231
multi_tiff_settings = cuvis.TiffExportSettings(
63-
export_dir=os.path.join(exportDir, "multi"), format="MultiChannel")
32+
export_dir=os.path.join(exportDir, "multi"), format=cuvis.TiffFormat.MultiChannel)
6433
multiTiffExporter = cuvis.TiffExporter(multi_tiff_settings)
6534
multiTiffExporter.apply(mesu)
6635

6736
print("Export to separate Tiffs...")
6837
single_tiff_settings = cuvis.TiffExportSettings(
69-
export_dir=os.path.join(exportDir, "single"), format="Single")
38+
export_dir=os.path.join(exportDir, "single"), format=cuvis.TiffFormat.Single)
7039
singleTiffExporter = cuvis.TiffExporter(single_tiff_settings)
7140
singleTiffExporter.apply(mesu)
7241

@@ -90,6 +59,28 @@ def run_example_exportMeasurement(userSettingsDir=loc_settings,
9059

9160
if __name__ == "__main__":
9261

62+
if platform.system() == "Windows":
63+
lib_dir = Path(os.getenv("CUVIS"))
64+
data_dir = lib_dir.parent / "sdk" / \
65+
"sample_data" / "set_examples"
66+
plugin_dir = lib_dir.parent / "user" / "plugin"
67+
68+
elif platform.system() == "Linux":
69+
lib_dir = Path(os.getenv("CUVIS_DATA"))
70+
data_dir = lib_dir / \
71+
"sample_data" / "set_examples"
72+
plugin_dir = lib_dir / "user" / "plugin"
73+
74+
# default images
75+
loc_file = data_dir / "set0_single" / "single.cu3s"
76+
loc_plugin = plugin_dir / "ref" / "cai.xml"
77+
78+
# default settings
79+
loc_settings = data_dir / "settings"
80+
81+
# default output
82+
loc_output = Path(os.getcwd()) / "EX03_export"
83+
9384
print("Example 03: Export Measurement. Please provide:")
9485

9586
userSettingsDir = input(
@@ -112,5 +103,5 @@ def run_example_exportMeasurement(userSettingsDir=loc_settings,
112103
if exportDir.strip().lower() in ["", "default"]:
113104
exportDir = loc_output
114105

115-
run_example_exportMeasurement(userSettingsDir, measurementLoc, pluginLoc,
116-
exportDir)
106+
run_example_exportMeasurement(str(userSettingsDir), str(measurementLoc), str(pluginLoc),
107+
str(exportDir))

0 commit comments

Comments
 (0)