From b1b26e015555d2daf6a641af0e70d0941ed3564f Mon Sep 17 00:00:00 2001 From: Simon Birkholz Date: Mon, 18 Nov 2024 11:45:36 +0100 Subject: [PATCH 1/4] switched default paths to pathlib.Path --- EX01_loadMeasurement.py | 42 +++++++-------- EX02_reprocessMeasurement.py | 85 +++++++++++++----------------- EX03_exportMeasurement.py | 67 ++++++++++------------- EX04_changeDistance.py | 59 ++++++++++----------- EX05_recordSingleImages.py | 64 ++++++++++------------ EX05_recordSingleImages_async.py | 69 +++++++++++------------- EX06_recordVideo.py | 70 +++++++++++------------- EX06_recordVideo_async.py | 71 +++++++++++-------------- EX07_recordVideoFromSessionFile.py | 72 +++++++++++-------------- 9 files changed, 267 insertions(+), 332 deletions(-) diff --git a/EX01_loadMeasurement.py b/EX01_loadMeasurement.py index e971a57..b175739 100644 --- a/EX01_loadMeasurement.py +++ b/EX01_loadMeasurement.py @@ -1,34 +1,16 @@ import os import platform +from pathlib import Path import matplotlib.pyplot as plt import numpy as np import cuvis -### default directories and files -data_dir = None - -if platform.system() == "Windows": - lib_dir = os.getenv("CUVIS") - data_dir = os.path.normpath(os.path.join(lib_dir, os.path.pardir, "sdk", - "sample_data", "set_examples")) -elif platform.system() == "Linux": - lib_dir = os.getenv("CUVIS_DATA") - data_dir = os.path.normpath( - os.path.join(lib_dir, "sample_data", "set_examples")) - -# default image -loc_file = os.path.join(data_dir, - "set0_single", - "single.cu3s") -# default settings -loc_settings = os.path.join(data_dir, "settings") - def run_example_loadMeasurement( - userSettingsDir=loc_settings, - measurementLoc=loc_file): + userSettingsDir, + measurementLoc): print("loading user settings...") cuvis.init(userSettingsDir) cuvis.set_log_level("info") @@ -44,7 +26,7 @@ def run_example_loadMeasurement( mesu.integration_time, mesu.processing_mode.name, )) - + if isinstance(mesu.measurement_flags, cuvis.MeasurementFlags): print(f"Flags: {mesu.measurement_flags}") for v in cuvis.MeasurementFlags.supremum(): @@ -78,6 +60,20 @@ def run_example_loadMeasurement( if __name__ == "__main__": + if platform.system() == "Windows": + data_dir = Path(os.getenv("CUVIS")).parent / "sdk" / \ + "sample_data" / "set_examples" + + elif platform.system() == "Linux": + data_dir = Path(os.getenv("CUVIS_DATA")) / \ + "sample_data" / "set_examples" + + # default image + loc_file = data_dir / "set0_single" / "single.cu3s" + + # default settings + loc_settings = data_dir / "settings" + print("Example 01: Load Measurement. Please provide:") userSettingsDir = input( @@ -90,4 +86,4 @@ def run_example_loadMeasurement( if measurementLoc.strip().lower() in ["", "default"]: measurementLoc = loc_file - run_example_loadMeasurement(userSettingsDir, measurementLoc) + run_example_loadMeasurement(str(userSettingsDir), str(measurementLoc)) diff --git a/EX02_reprocessMeasurement.py b/EX02_reprocessMeasurement.py index f0e8617..7773506 100644 --- a/EX02_reprocessMeasurement.py +++ b/EX02_reprocessMeasurement.py @@ -1,48 +1,17 @@ import os import platform +from pathlib import Path import cuvis -### default directories and files -data_dir = None - -if platform.system() == "Windows": - lib_dir = os.getenv("CUVIS") - data_dir = os.path.normpath(os.path.join(lib_dir, os.path.pardir, "sdk", - "sample_data", "set_examples")) -elif platform.system() == "Linux": - lib_dir = os.getenv("CUVIS_DATA") - data_dir = os.path.normpath( - os.path.join(lib_dir, "sample_data", "set_examples")) - -# default images -loc_file = os.path.join(data_dir, - "set0_single", - "single_raw.cu3s") -loc_dark = os.path.join(data_dir, - "set0_single", - "single_dark.cu3s") -loc_white = os.path.join(data_dir, - "set0_single", - "single_white.cu3s") -loc_distance = os.path.join(data_dir, - "set0_single", - "single_distance.cu3s") - -# default settings -loc_settings = os.path.join(data_dir, "settings") - -# default output -loc_output = os.path.join(os.getcwd(), "EX02_reprocessed") - def run_example_reprocessMeasurement( - userSettingsDir=loc_settings, - measurementLoc=loc_file, - darkLoc=loc_dark, - whiteLoc=loc_white, - distanceLoc=loc_distance, - outDir=loc_output): + userSettingsDir, + measurementLoc, + darkLoc, + whiteLoc, + distanceLoc, + outDir): print("loading user settings...") cuvis.init(userSettingsDir) cuvis.set_log_level("info") @@ -82,8 +51,8 @@ def run_example_reprocessMeasurement( procArgs = cuvis.ProcessingArgs() saveArgs = cuvis.SaveArgs(allow_overwrite=True, - allow_session_file=True, - allow_info_file=False) + allow_session_file=True, + allow_info_file=False) modes = [cuvis.ProcessingMode.Raw, cuvis.ProcessingMode.DarkSubtract, @@ -113,7 +82,29 @@ def run_example_reprocessMeasurement( if __name__ == "__main__": - print("Example 02: Reprocess Measurement. Please provide:") + if platform.system() == "Windows": + data_dir = Path(os.getenv("CUVIS")).parent / "sdk" / \ + "sample_data" / "set_examples" + + elif platform.system() == "Linux": + data_dir = Path(os.getenv("CUVIS_DATA")) / \ + "sample_data" / "set_examples" + + # default images + loc_file = data_dir / "set0_single" / "single_raw.cu3s" + loc_dark = data_dir / "set0_single" / "single_dark.cu3s" + loc_white = data_dir / "set0_single" / "single_white.cu3s" + + loc_distance = data_dir / "set0_single" / "single_distance.cu3s" + + # default settings + loc_settings = data_dir / "settings" + + # default output + loc_output = Path(os.getcwd()) / "EX02_reprocessed" + + print( + "Example 02: Reprocess Measurement. Please provide:") userSettingsDir = input( "User settings directory (default: {}): ".format(loc_settings)) @@ -143,9 +134,9 @@ def run_example_reprocessMeasurement( if outDir.strip().lower() in ["", "default"]: outDir = loc_output - run_example_reprocessMeasurement(userSettingsDir, - measurementLoc, - darkLoc, - whiteLoc, - distanceLoc, - outDir) + run_example_reprocessMeasurement(str(userSettingsDir), + str(measurementLoc), + str(darkLoc), + str(whiteLoc), + str(distanceLoc), + str(outDir)) diff --git a/EX03_exportMeasurement.py b/EX03_exportMeasurement.py index 1c502ac..b4668a9 100644 --- a/EX03_exportMeasurement.py +++ b/EX03_exportMeasurement.py @@ -1,45 +1,14 @@ import os import platform +from pathlib import Path import cuvis -### default directories and files -data_dir = None -plugin_dir = None - -if platform.system() == "Windows": - lib_dir = os.getenv("CUVIS") - data_dir = os.path.normpath(os.path.join(lib_dir, os.path.pardir, "sdk", - "sample_data", "set_examples")) - plugin_dir = os.path.normpath(os.path.join(lib_dir, os.path.pardir, "sdk", - "sample_data", "set_examples", - "userplugin")) - -elif platform.system() == "Linux": - lib_dir = os.getenv("CUVIS_DATA") - data_dir = os.path.normpath( - os.path.join(lib_dir, "sample_data", "set_examples")) - plugin_dir = os.path.normpath(os.path.join(lib_dir, "sdk", - "sample_data", "set_examples", - "plugin")) - -# default images -loc_file = os.path.join(data_dir, - "set0_single", - "single.cu3s") -loc_plugin = os.path.join(plugin_dir,"ref", "cai.xml") - -# default settings -loc_settings = os.path.join(data_dir, "settings") - -# default output -loc_output = os.path.join(os.getcwd(), "EX03_export") - - -def run_example_exportMeasurement(userSettingsDir=loc_settings, - measurementLoc=loc_file, - pluginLoc=loc_plugin, - exportDir=loc_output): + +def run_example_exportMeasurement(userSettingsDir, + measurementLoc, + pluginLoc, + exportDir): print("loading user settings...") cuvis.init(userSettingsDir) cuvis.set_log_level("info") @@ -90,6 +59,26 @@ def run_example_exportMeasurement(userSettingsDir=loc_settings, if __name__ == "__main__": + if platform.system() == "Windows": + data_dir = Path(os.getenv("CUVIS")).parent / "sdk" / \ + "sample_data" / "set_examples" + plugin_dir = data_dir / "userplugin" + + elif platform.system() == "Linux": + data_dir = Path(os.getenv("CUVIS_DATA")) / \ + "sample_data" / "set_examples" + plugin_dir = data_dir / "plugin" + + # default images + loc_file = data_dir / "set0_single" / "single.cu3s" + loc_plugin = plugin_dir / "ref" / "cai.xml" + + # default settings + loc_settings = data_dir / "settings" + + # default output + loc_output = Path(os.getcwd()) / "EX03_export" + print("Example 03: Export Measurement. Please provide:") userSettingsDir = input( @@ -112,5 +101,5 @@ def run_example_exportMeasurement(userSettingsDir=loc_settings, if exportDir.strip().lower() in ["", "default"]: exportDir = loc_output - run_example_exportMeasurement(userSettingsDir, measurementLoc, pluginLoc, - exportDir) + run_example_exportMeasurement(str(userSettingsDir), str(measurementLoc), str(pluginLoc), + str(exportDir)) diff --git a/EX04_changeDistance.py b/EX04_changeDistance.py index b665bb0..77b9ee9 100644 --- a/EX04_changeDistance.py +++ b/EX04_changeDistance.py @@ -1,37 +1,14 @@ import os import platform +from pathlib import Path import cuvis -### default directories and files -data_dir = None -if platform.system() == "Windows": - lib_dir = os.getenv("CUVIS") - data_dir = os.path.normpath(os.path.join(lib_dir, os.path.pardir, "sdk", - "sample_data", "set_examples")) -elif platform.system() == "Linux": - lib_dir = os.getenv("CUVIS_DATA") - data_dir = os.path.normpath( - os.path.join(lib_dir, "sample_data", "set_examples")) - -# default image -loc_file = os.path.join(data_dir, - "set0_single", - "single.cu3s") -# default settings -loc_settings = os.path.join(data_dir, "settings") - -loc_distance = int(1000) - -# default output -loc_output = os.path.join(os.getcwd(), "EX04_distance_changed") - - -def run_example_changeDistance(userSettingsDir=loc_settings, - measurementLoc=loc_file, - distance=loc_distance, - exportDir=loc_output): +def run_example_changeDistance(userSettingsDir, + measurementLoc, + distance, + exportDir): print("loading user settings...") cuvis.init(userSettingsDir) cuvis.set_log_level("info") @@ -57,7 +34,7 @@ def run_example_changeDistance(userSettingsDir=loc_settings, saveArgs = cuvis.SaveArgs(export_dir=exportDir, allow_overwrite=True) assert processingContext.is_capable(mesu, - processingContext.get_processing_args()) + processingContext.get_processing_args()) print("changing distance...") print("original distance...") @@ -67,13 +44,31 @@ def run_example_changeDistance(userSettingsDir=loc_settings, print(mesu.distance) print("saving...") mesu.save(saveArgs) - + cuvis.shutdown() print("finished.") if __name__ == "__main__": + if platform.system() == "Windows": + data_dir = Path(os.getenv("CUVIS")).parent / "sdk" / \ + "sample_data" / "set_examples" + + elif platform.system() == "Linux": + data_dir = Path(os.getenv("CUVIS_DATA")) / \ + "sample_data" / "set_examples" + + # default image + loc_file = data_dir / "set0_single" / "single.cu3s" + # default settings + loc_settings = data_dir / "settings" + + loc_distance = int(1000) + + # default output + loc_output = Path(os.getcwd()) / "EX04_distance_changed" + print("Example 04: Change distance. Please provide:") userSettingsDir = input( @@ -96,5 +91,5 @@ def run_example_changeDistance(userSettingsDir=loc_settings, if exportDir.strip().lower() in ["", "default"]: exportDir = loc_output - run_example_changeDistance(userSettingsDir, measurementLoc, - distance, exportDir) + run_example_changeDistance(str(userSettingsDir), str(measurementLoc), + distance, str(exportDir)) diff --git a/EX05_recordSingleImages.py b/EX05_recordSingleImages.py index 3590043..ca47822 100644 --- a/EX05_recordSingleImages.py +++ b/EX05_recordSingleImages.py @@ -3,42 +3,17 @@ import sys import time from datetime import timedelta +from pathlib import Path import cuvis -# default directories and files -data_dir = None -lib_dir = None - -if platform.system() == "Windows": - lib_dir = os.getenv("CUVIS") - data_dir = os.path.normpath(os.path.join(lib_dir, os.path.pardir, "sdk", - "sample_data", "set_examples")) -elif platform.system() == "Linux": - lib_dir = os.getenv("CUVIS_DATA") - data_dir = os.path.normpath( - os.path.join(lib_dir, "sample_data", "set_examples")) - -# default factory -loc_factory = os.path.join(lib_dir, os.pardir, - "factory") -# default settings -loc_settings = os.path.join(data_dir, "settings") - -# default output -loc_output = os.path.join(os.getcwd(), "EX05_images") - -# parameters -loc_exptime = 100 # in ms -loc_nimgs = 10 - def run_example_recordSingleImage( - userSettingsDir=loc_settings, - factoryDir=loc_factory, - recDir=loc_output, - exposure=loc_exptime, - nrImgs=loc_nimgs): + userSettingsDir, + factoryDir, + recDir, + exposure, + nrImgs): print("loading user settings...") cuvis.init(userSettingsDir) cuvis.set_log_level("info") @@ -82,6 +57,28 @@ def run_example_recordSingleImage( if __name__ == "__main__": + + if platform.system() == "Windows": + lib_dir = Path(os.getenv("CUVIS")) + data_dir = lib_dir.parent / "sdk" / \ + "sample_data" / "set_examples" + elif platform.system() == "Linux": + lib_dir = os.getenv("CUVIS_DATA") + data_dir = lib_dir / \ + "sample_data" / "set_examples" + + # default factory + loc_factory = lib_dir.parent / "factory" + # default settings + loc_settings = data_dir / "settings" + + # default output + loc_output = Path(os.getcwd()) / "EX05_images" + + # parameters + loc_exptime = 100 # in msw + loc_nimgs = 10 + print("Example 05: Record single image. Please provide:") userSettingsDir = input( @@ -109,8 +106,5 @@ def run_example_recordSingleImage( nrImgs = loc_nimgs nrImgs = int(nrImgs) - run_example_recordSingleImage(userSettingsDir, factoryDir, recDir, exposure, + run_example_recordSingleImage(str(userSettingsDir), str(factoryDir), str(recDir), exposure, nrImgs) - - while 1: - sys.exit(0) diff --git a/EX05_recordSingleImages_async.py b/EX05_recordSingleImages_async.py index 9d8338d..b7af5c9 100644 --- a/EX05_recordSingleImages_async.py +++ b/EX05_recordSingleImages_async.py @@ -1,46 +1,20 @@ import os import platform -import sys import time from datetime import timedelta +from pathlib import Path import cuvis import asyncio as a -### default directories and files -data_dir = None -lib_dir = None - -if platform.system() == "Windows": - lib_dir = os.getenv("CUVIS") - data_dir = os.path.normpath(os.path.join(lib_dir, os.path.pardir, "sdk", - "sample_data", "set_examples")) -elif platform.system() == "Linux": - lib_dir = os.getenv("CUVIS_DATA") - data_dir = os.path.normpath( - os.path.join(lib_dir, "sample_data", "set_examples")) - -# default factory -loc_factory = os.path.join(lib_dir, os.pardir, - "factory") -# default settings -loc_settings = os.path.join(data_dir, "settings") - -# default output -loc_output = os.path.join(os.getcwd(), "EX05_images") - -# parameters -loc_exptime = 100 #in msw -loc_nimgs = 10 - async def run_example_recordSingleImage( - userSettingsDir=loc_settings, - factoryDir=loc_factory, - recDir=loc_output, - exposure=loc_exptime, - nrImgs=loc_nimgs): + userSettingsDir, + factoryDir, + recDir, + exposure, + nrImgs): print("loading user settings...") cuvis.init(userSettingsDir) cuvis.set_log_level("info") @@ -52,7 +26,7 @@ async def run_example_recordSingleImage( acquisitionContext = cuvis.AcquisitionContext(calibration) saveArgs = cuvis.SaveArgs(export_dir=recDir, allow_overwrite=True, - allow_session_file=True) + allow_session_file=True) cubeExporter = cuvis.CubeExporter(saveArgs) while acquisitionContext.state == cuvis.HardwareState.Offline: @@ -81,6 +55,28 @@ async def run_example_recordSingleImage( if __name__ == "__main__": + + if platform.system() == "Windows": + lib_dir = Path(os.getenv("CUVIS")) + data_dir = lib_dir.parent / "sdk" / \ + "sample_data" / "set_examples" + elif platform.system() == "Linux": + lib_dir = os.getenv("CUVIS_DATA") + data_dir = lib_dir / \ + "sample_data" / "set_examples" + + # default factory + loc_factory = lib_dir.parent / "factory" + # default settings + loc_settings = data_dir / "settings" + + # default output + loc_output = Path(os.getcwd()) / "EX05_images" + + # parameters + loc_exptime = 100 # in msw + loc_nimgs = 10 + print("Example 05: Record single image. Please provide:") userSettingsDir = input( @@ -108,8 +104,5 @@ async def run_example_recordSingleImage( nrImgs = loc_nimgs nrImgs = int(nrImgs) - a.run(run_example_recordSingleImage(userSettingsDir, factoryDir, recDir, exposure, - nrImgs)) - - while 1: - sys.exit(0) + a.run(run_example_recordSingleImage(str(userSettingsDir), str(factoryDir), str(recDir), exposure, + nrImgs)) diff --git a/EX06_recordVideo.py b/EX06_recordVideo.py index ed5009a..1822fd6 100644 --- a/EX06_recordVideo.py +++ b/EX06_recordVideo.py @@ -1,46 +1,18 @@ import os import platform -import sys import time from datetime import datetime, timedelta +from pathlib import Path import cuvis -# default directories and files -data_dir = None -lib_dir = None - -if platform.system() == "Windows": - lib_dir = os.getenv("CUVIS") - data_dir = os.path.normpath(os.path.join(lib_dir, os.path.pardir, "sdk", - "sample_data", "set_examples")) -elif platform.system() == "Linux": - lib_dir = os.getenv("CUVIS_DATA") - data_dir = os.path.normpath( - os.path.join(lib_dir, "sample_data", "set_examples")) - -# default factory -loc_factory = os.path.join(lib_dir, os.pardir, - "factory") -# default settings -loc_settings = os.path.join(data_dir, "settings") - -# default output -loc_output = os.path.join(os.getcwd(), "EX06_video") - -# parameters -loc_exptime = 100 # in ms -loc_autoexp = False -loc_fps = 2 - - -def run_example_recordVideo(userSettingsDir=loc_settings, - factoryDir=loc_factory, - recDir=loc_output, - exposure=loc_exptime, - autoExp=loc_autoexp, - fps=loc_fps): +def run_example_recordVideo(userSettingsDir, + factoryDir, + recDir, + exposure, + autoExp, + fps): print("loading user settings...") cuvis.init(userSettingsDir) cuvis.set_log_level("info") @@ -129,6 +101,29 @@ def run_example_recordVideo(userSettingsDir=loc_settings, if __name__ == "__main__": + + if platform.system() == "Windows": + lib_dir = Path(os.getenv("CUVIS")) + data_dir = lib_dir.parent / "sdk" / \ + "sample_data" / "set_examples" + elif platform.system() == "Linux": + lib_dir = os.getenv("CUVIS_DATA") + data_dir = lib_dir / \ + "sample_data" / "set_examples" + + # default factory + loc_factory = lib_dir.parent / "factory" + # default settings + loc_settings = data_dir / "settings" + + # default output + loc_output = Path(os.getcwd()) / "EX06_video" + + # parameters + loc_exptime = 100 # in ms + loc_autoexp = False + loc_fps = 2 + print("Example 06: Record video file. Please provide:") userSettingsDir = input( @@ -163,8 +158,5 @@ def run_example_recordVideo(userSettingsDir=loc_settings, fps = loc_fps fps = int(fps) - run_example_recordVideo(userSettingsDir, factoryDir, recDir, exposure, + run_example_recordVideo(str(userSettingsDir), str(factoryDir), str(recDir), exposure, autoExp, fps) - - while 1: - sys.exit(0) diff --git a/EX06_recordVideo_async.py b/EX06_recordVideo_async.py index 6fb32e9..c16b824 100644 --- a/EX06_recordVideo_async.py +++ b/EX06_recordVideo_async.py @@ -1,38 +1,11 @@ import os import platform -import sys import time from datetime import datetime, timedelta import asyncio as a -import cuvis - - -# default directories and files -data_dir = None -lib_dir = None - -if platform.system() == "Windows": - lib_dir = os.getenv("CUVIS") - data_dir = os.path.normpath(os.path.join(lib_dir, os.path.pardir, "sdk", - "sample_data", "set_examples")) -elif platform.system() == "Linux": - lib_dir = os.getenv("CUVIS_DATA") - data_dir = os.path.normpath( - os.path.join(lib_dir, "sample_data", "set_examples")) +from pathlib import Path -# default factory -loc_factory = os.path.join(lib_dir, os.pardir, - "factory") -# default settings -loc_settings = os.path.join(data_dir, "settings") - -# default output -loc_output = os.path.join(os.getcwd(), "EX06_video") - -# parameters -loc_exptime = 100 # in ms -loc_autoexp = False -loc_fps = 2 +import cuvis async def state_changed_callback(state, component_states): @@ -45,12 +18,12 @@ async def worker_collect_mesu_task(workerContainer: cuvis.WorkerResult): workerContainer.mesu.session_info.sequence_number)) -async def run_example_recordVideo(userSettingsDir=loc_settings, - factoryDir=loc_factory, - recDir=loc_output, - exposure=loc_exptime, - autoExp=loc_autoexp, - fps=loc_fps): +async def run_example_recordVideo(userSettingsDir, + factoryDir, + recDir, + exposure, + autoExp, + fps): print("loading user settings...") cuvis.init(userSettingsDir) cuvis.set_log_level("info") @@ -124,6 +97,29 @@ async def run_example_recordVideo(userSettingsDir=loc_settings, if __name__ == "__main__": + + if platform.system() == "Windows": + lib_dir = Path(os.getenv("CUVIS")) + data_dir = lib_dir.parent / "sdk" / \ + "sample_data" / "set_examples" + elif platform.system() == "Linux": + lib_dir = os.getenv("CUVIS_DATA") + data_dir = lib_dir / \ + "sample_data" / "set_examples" + + # default factory + loc_factory = lib_dir.parent / "factory" + # default settings + loc_settings = data_dir / "settings" + + # default output + loc_output = Path(os.getcwd()) / "EX06_video" + + # parameters + loc_exptime = 100 # in ms + loc_autoexp = False + loc_fps = 2 + print("Example 06: Record video file. Please provide:") userSettingsDir = input( @@ -158,8 +154,5 @@ async def run_example_recordVideo(userSettingsDir=loc_settings, fps = loc_fps fps = int(fps) - a.run(run_example_recordVideo(userSettingsDir, factoryDir, recDir, exposure, + a.run(run_example_recordVideo(str(userSettingsDir), str(factoryDir), str(recDir), exposure, autoExp, fps)) - - while 1: - sys.exit(0) diff --git a/EX07_recordVideoFromSessionFile.py b/EX07_recordVideoFromSessionFile.py index ba6d624..ade2a86 100644 --- a/EX07_recordVideoFromSessionFile.py +++ b/EX07_recordVideoFromSessionFile.py @@ -1,46 +1,18 @@ import os import platform -import sys import time from datetime import datetime, timedelta +from pathlib import Path import cuvis -# default directories and files -data_dir = None -lib_dir = None - -if platform.system() == "Windows": - lib_dir = os.getenv("CUVIS") - data_dir = os.path.normpath(os.path.join(lib_dir, os.path.pardir, "sdk", - "sample_data", "set_examples")) -elif platform.system() == "Linux": - lib_dir = os.getenv("CUVIS_DATA") - data_dir = os.path.normpath( - os.path.join(lib_dir, "sample_data", "set_examples")) - -# default image -loc_file = os.path.join(data_dir, - "set1_video", - "video.cu3s") -# default settings -loc_settings = os.path.join(data_dir, "settings") - -# default output -loc_output = os.path.join(os.getcwd(), "EX07_video") - -# parameters -loc_exptime = 100 # in ms -loc_autoexp = False -loc_fps = 2 - - -def run_example_recordVideoFromSessionFile(userSettingsDir=loc_settings, - measurementLoc=loc_file, - recDir=loc_output, - exposure=loc_exptime, - autoExp=loc_autoexp, - fps=loc_fps): + +def run_example_recordVideoFromSessionFile(userSettingsDir, + measurementLoc, + recDir, + exposure, + autoExp, + fps): print("loading user settings...") cuvis.init(userSettingsDir) cuvis.set_log_level("info") @@ -131,6 +103,29 @@ def run_example_recordVideoFromSessionFile(userSettingsDir=loc_settings, if __name__ == "__main__": + + if platform.system() == "Windows": + lib_dir = Path(os.getenv("CUVIS")) + data_dir = lib_dir.parent / "sdk" / \ + "sample_data" / "set_examples" + elif platform.system() == "Linux": + lib_dir = os.getenv("CUVIS_DATA") + data_dir = lib_dir / \ + "sample_data" / "set_examples" + + # default video + loc_file = data_dir / "set1_video" / "video.cu3s" + # default settings + loc_settings = data_dir / "settings" + + # default output + loc_output = Path(os.getcwd()) / "EX07_video" + + # parameters + loc_exptime = 100 # in ms + loc_autoexp = False + loc_fps = 2 + print("Example 07: Record video from session file. Please provide:") userSettingsDir = input( @@ -165,8 +160,5 @@ def run_example_recordVideoFromSessionFile(userSettingsDir=loc_settings, fps = loc_fps fps = int(fps) - run_example_recordVideoFromSessionFile(userSettingsDir, factoryDir, recDir, exposure, + run_example_recordVideoFromSessionFile(str(userSettingsDir), str(factoryDir), str(recDir), exposure, autoExp, fps) - - while 1: - sys.exit(0) From 88bfd6dfe8d1bf5874e8bff12d8f312732f2d4a7 Mon Sep 17 00:00:00 2001 From: Simon Birkholz Date: Mon, 18 Nov 2024 14:26:38 +0100 Subject: [PATCH 2/4] fixing examples --- EX02_reprocessMeasurement.py | 4 ++-- EX03_exportMeasurement.py | 14 ++++++++------ EX05_recordSingleImages.py | 1 - 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/EX02_reprocessMeasurement.py b/EX02_reprocessMeasurement.py index 7773506..b1eb0a7 100644 --- a/EX02_reprocessMeasurement.py +++ b/EX02_reprocessMeasurement.py @@ -68,8 +68,8 @@ def run_example_reprocessMeasurement( print("processing to mode {}...".format(mode)) processingContext.set_processing_args(procArgs) mesu = processingContext.apply(mesu) - mesu.set_name(mode) - saveArgs.export_dir = os.path.join(outDir, mode) + mesu.set_name(mode.name) + saveArgs.export_dir = str(Path(outDir) / mode.name) exporter = cuvis.Export.CubeExporter(saveArgs) exporter.apply(mesu) diff --git a/EX03_exportMeasurement.py b/EX03_exportMeasurement.py index b4668a9..f31856d 100644 --- a/EX03_exportMeasurement.py +++ b/EX03_exportMeasurement.py @@ -29,13 +29,13 @@ def run_example_exportMeasurement(userSettingsDir, print("Export to Multi-Channel Tiff...") multi_tiff_settings = cuvis.TiffExportSettings( - export_dir=os.path.join(exportDir, "multi"), format="MultiChannel") + export_dir=os.path.join(exportDir, "multi"), format=cuvis.TiffFormat.MultiChannel) multiTiffExporter = cuvis.TiffExporter(multi_tiff_settings) multiTiffExporter.apply(mesu) print("Export to separate Tiffs...") single_tiff_settings = cuvis.TiffExportSettings( - export_dir=os.path.join(exportDir, "single"), format="Single") + export_dir=os.path.join(exportDir, "single"), format=cuvis.TiffFormat.Single) singleTiffExporter = cuvis.TiffExporter(single_tiff_settings) singleTiffExporter.apply(mesu) @@ -60,14 +60,16 @@ def run_example_exportMeasurement(userSettingsDir, if __name__ == "__main__": if platform.system() == "Windows": - data_dir = Path(os.getenv("CUVIS")).parent / "sdk" / \ + lib_dir = Path(os.getenv("CUVIS")) + data_dir = lib_dir.parent / "sdk" / \ "sample_data" / "set_examples" - plugin_dir = data_dir / "userplugin" + plugin_dir = lib_dir.parent / "user" / "plugin" elif platform.system() == "Linux": - data_dir = Path(os.getenv("CUVIS_DATA")) / \ + lib_dir = Path(os.getenv("CUVIS_DATA")) + data_dir = lib_dir / \ "sample_data" / "set_examples" - plugin_dir = data_dir / "plugin" + plugin_dir = lib_dir / "user" / "plugin" # default images loc_file = data_dir / "set0_single" / "single.cu3s" diff --git a/EX05_recordSingleImages.py b/EX05_recordSingleImages.py index ca47822..5ad2c90 100644 --- a/EX05_recordSingleImages.py +++ b/EX05_recordSingleImages.py @@ -1,6 +1,5 @@ import os import platform -import sys import time from datetime import timedelta from pathlib import Path From 72cceb5ab186628c6d33c0063669052babedeb28 Mon Sep 17 00:00:00 2001 From: Simon Birkholz Date: Tue, 19 Nov 2024 15:51:22 +0100 Subject: [PATCH 3/4] use new cube getter --- EX01_loadMeasurement.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EX01_loadMeasurement.py b/EX01_loadMeasurement.py index b175739..b722ea4 100644 --- a/EX01_loadMeasurement.py +++ b/EX01_loadMeasurement.py @@ -32,7 +32,7 @@ def run_example_loadMeasurement( for v in cuvis.MeasurementFlags.supremum(): print(f'{v}: {v in mesu.measurement_flags}') - cube = mesu.data.get("cube", None) + cube = mesu.cube if cube is None: raise Exception("Cube not found") From 6b177465915b3a2e002267b98416563dbe6d54b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20M=C3=BCller?= Date: Tue, 3 Dec 2024 11:08:09 +0100 Subject: [PATCH 4/4] Update README.md reroute to sample data subdirectory (as the upper directory notes as Cuvis 3.2 data which could be identified as the wrong one). --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6f5751f..901c61d 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ pip install -r requirements.txt Alternatively to pip, take a look on how to install the python wrapper manually [here](https://github.com/cubert-hyperspectral/cuvis.python). -For running some of the examples, you have to use sample data (provided [here](https://cloud.cubert-gmbh.de/s/SrkSRja5FKGS2Tw)). +For running some of the examples, you have to use sample data (provided [here](https://cloud.cubert-gmbh.de/s/SrkSRja5FKGS2Tw?path=%2FCuvis%203.2%20Sample%20Data)). ## Inventory