Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file added .cuvis/log.cfg
Empty file.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/.venv
/.venv39
/exit
6 changes: 3 additions & 3 deletions EX05_recordSingleImages.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

import cuvis

### default directories and files
# default directories and files
data_dir = None
lib_dir = None

Expand All @@ -29,7 +29,7 @@
loc_output = os.path.join(os.getcwd(), "EX05_images")

# parameters
loc_exptime = 100 #in ms
loc_exptime = 100 # in ms
loc_nimgs = 10


Expand All @@ -50,7 +50,7 @@ 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:
Expand Down
35 changes: 17 additions & 18 deletions EX06_recordVideo.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import cuvis


### default directories and files
# default directories and files
data_dir = None
lib_dir = None

Expand All @@ -30,7 +30,7 @@
loc_output = os.path.join(os.getcwd(), "EX06_video")

# parameters
loc_exptime = 100 #in ms
loc_exptime = 100 # in ms
loc_autoexp = False
loc_fps = 2

Expand All @@ -50,15 +50,15 @@ def run_example_recordVideo(userSettingsDir=loc_settings,

print("loading acquisition context...")
acquisitionContext = cuvis.AcquisitionContext(calibration)
session_info = cuvis.SessionData("video",0,0)
session_info = cuvis.SessionData("video", 0, 0)
acquisitionContext.session_info = session_info

print("prepare saving of measurements...")
saveArgs = cuvis.SaveArgs(export_dir=recDir,
allow_overwrite=True,
allow_session_file=True,
fps=fps,
operation_mode=cuvis.OperationMode.Software)
allow_overwrite=True,
allow_session_file=True,
fps=fps,
operation_mode=cuvis.OperationMode.Software)

print("writing files to: {}".format(recDir))
cubeExporter = cuvis.CubeExporter(saveArgs)
Expand Down Expand Up @@ -90,16 +90,12 @@ def run_example_recordVideo(userSettingsDir=loc_settings,
acquisitionContext.set_continuous(True)

print("configuring worker...")
workerSettings = cuvis.WorkerSettings(keep_out_of_sequence=False,
poll_intervall=10,
worker_count=0,
hard_limit=10,
soft_limit=10,
can_drop=True)
workerSettings = cuvis.WorkerSettings()
worker = cuvis.Worker(workerSettings)
worker.set_acquisition_context(acquisitionContext)
worker.set_processing_context(processingContext)
worker.set_exporter(cubeExporter)
worker.start_processing()

print("recording...! (will stop after 2 minutes)")
start = datetime.now()
Expand All @@ -111,20 +107,23 @@ def run_example_recordVideo(userSettingsDir=loc_settings,
else:
time.sleep(0.001)

workerContainer = worker.get_next_result(1000) #in ms
workerContainer = worker.get_next_result(1000) # in ms
if workerContainer.mesu.data is not None:
print("current handle index: {}".format(
workerContainer.mesu.session_info.sequence_number))
if worker.queue_limits[1] == worker.queue_used:
print("worker queue is full! Main() loop can not keep up!")

workerState = worker.state
if workerState.resultsInQueue == worker.output_queue_limit:
print("worker output queue is full! Main() loop can not keep up!")
break
if acquisitionContext.queue_size == acquisitionContext.queue_used:

if workerState.measurementsInQueue == worker.mandatory_queue_limit:
print("acquisition queue is full! Worker can not keep up!")
break

print("acquisition stopped...")
acquisitionContext.set_continuous(False)

worker.stop_processing()
cuvis.shutdown()
print("finished.")

Expand Down
44 changes: 20 additions & 24 deletions EX06_recordVideo_async.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@
import cuvis



### default directories and files
# default directories and files
data_dir = None
lib_dir = None

Expand All @@ -31,44 +30,45 @@
loc_output = os.path.join(os.getcwd(), "EX06_video")

# parameters
loc_exptime = 100 #in ms
loc_exptime = 100 # in ms
loc_autoexp = False
loc_fps = 2


async def state_changed_callback(state, component_states):
print(f'camera is {state.name}')


async def worker_collect_mesu_task(workerContainer: cuvis.WorkerResult):
if workerContainer.mesu.data is not None:
print("current handle index: {}".format(
workerContainer.mesu.session_info.sequence_number))
print("current handle index: {}".format(
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):
factoryDir=loc_factory,
recDir=loc_output,
exposure=loc_exptime,
autoExp=loc_autoexp,
fps=loc_fps):
print("loading user settings...")
cuvis.init(userSettingsDir)
cuvis.set_log_level("info")

print("loading calibration (factory)...")
calibration = cuvis.Calibration(factoryDir)

print("loading acquisition context...")
acquisitionContext = cuvis.AcquisitionContext(calibration)
session_info = cuvis.SessionData('video',0,0)
session_info = cuvis.SessionData('video', 0, 0)
acquisitionContext.session_info = session_info

print("prepare saving of measurements...")
saveArgs = cuvis.SaveArgs(export_dir=recDir,
allow_overwrite=True,
allow_session_file=True,
fps=fps,
operation_mode=cuvis.OperationMode.Software)
allow_overwrite=True,
allow_session_file=True,
fps=fps,
operation_mode=cuvis.OperationMode.Software)

print("writing files to: {}".format(recDir))
cubeExporter = cuvis.CubeExporter(saveArgs)
Expand Down Expand Up @@ -102,12 +102,7 @@ async def run_example_recordVideo(userSettingsDir=loc_settings,
await acquisitionContext.set_continuous_async(True)

print("configuring worker...")
workerSettings = cuvis.WorkerSettings(keep_out_of_sequence=False,
poll_intervall=10,
worker_count=0,
hard_limit=10,
soft_limit=10,
can_drop=True)
workerSettings = cuvis.WorkerSettings()
worker = cuvis.Worker(workerSettings)
worker.set_acquisition_context(acquisitionContext)
worker.set_processing_context(processingContext)
Expand All @@ -116,13 +111,14 @@ async def run_example_recordVideo(userSettingsDir=loc_settings,
print("recording...! (will stop after 2 minutes)")

worker.register_worker_callback(worker_collect_mesu_task)
worker.start_processing()

await a.sleep(2 * 60)
worker.reset_worker_callback()

print("acquisition stopped...")
await acquisitionContext.set_continuous_async(False)

worker.stop_processing()
cuvis.shutdown()
print("finished.")

Expand Down Expand Up @@ -163,7 +159,7 @@ async def run_example_recordVideo(userSettingsDir=loc_settings,
fps = int(fps)

a.run(run_example_recordVideo(userSettingsDir, factoryDir, recDir, exposure,
autoExp, fps))
autoExp, fps))

while 1:
sys.exit(0)
39 changes: 19 additions & 20 deletions EX07_recordVideoFromSessionFile.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

import cuvis

### default directories and files
# default directories and files
data_dir = None
lib_dir = None

Expand All @@ -30,7 +30,7 @@
loc_output = os.path.join(os.getcwd(), "EX07_video")

# parameters
loc_exptime = 100 #in ms
loc_exptime = 100 # in ms
loc_autoexp = False
loc_fps = 2

Expand All @@ -51,15 +51,15 @@ def run_example_recordVideoFromSessionFile(userSettingsDir=loc_settings,
print("loading acquisition context...")
acquisitionContext = cuvis.AcquisitionContext(session, simulate=True) #
# using images from session file instead of camera
session_info = cuvis.SessionData("video",0,0)
session_info = cuvis.SessionData("video", 0, 0)
acquisitionContext.session_info = session_info

print("prepare saving of measurements...")
saveArgs = cuvis.SaveArgs(export_dir=recDir,
allow_overwrite=True,
allow_session_file=True,
fps=fps,
operation_mode=cuvis.OperationMode.Internal)
allow_overwrite=True,
allow_session_file=True,
fps=fps,
operation_mode=cuvis.OperationMode.Internal)

print("writing files to: {}".format(recDir))
cubeExporter = cuvis.CubeExporter(saveArgs)
Expand All @@ -86,22 +86,18 @@ def run_example_recordVideoFromSessionFile(userSettingsDir=loc_settings,

print("initializing simulated hardware...")
acquisitionContext.integration_time = exposure
acquisitionContext.operation_mode =cuvis.OperationMode.Internal
acquisitionContext.operation_mode = cuvis.OperationMode.Internal
acquisitionContext.fps = fps
acquisitionContext.auto_exp = autoExp
acquisitionContext.set_continuous(True)

print("configuring worker...")
workerSettings = cuvis.WorkerSettings(keep_out_of_sequence=False,
poll_intervall=10,
worker_count=0,
hard_limit=10,
soft_limit=10,
can_drop=True)
workerSettings = cuvis.WorkerSettings()
worker = cuvis.Worker(workerSettings)
worker.set_acquisition_context(acquisitionContext)
worker.set_processing_context(processingContext)
worker.set_exporter(cubeExporter)
worker.start_processing()

print("recording...! (will stop after 2 minutes)")
start = datetime.now()
Expand All @@ -113,20 +109,23 @@ def run_example_recordVideoFromSessionFile(userSettingsDir=loc_settings,
else:
time.sleep(0.001)

workerContainer = worker.get_next_result()
workerContainer = worker.get_next_result(0)
if workerContainer.mesu.data is not None:
print("current handle index: {}".format(
workerContainer.mesu.session_info.sequence_number))
if worker.get_queue_limits()["soft_limit"] == worker.get_queue_used():
print("worker queue is full! Main() loop can not keep up!")

workerState = worker.state
if workerState.resultsInQueue == worker.output_queue_limit:
print("worker output queue is full! Main() loop can not keep up!")
break
if acquisitionContext.queue_size == acquisitionContext.queue_used:

if workerState.measurementsInQueue == worker.mandatory_queue_limit:
print("acquisition queue is full! Worker can not keep up!")
break

print("acquisition stopped...")
acquisitionContext.set_continuous(False)

worker.stop_processing()
cuvis.shutdown()
print("finished.")

Expand Down Expand Up @@ -167,7 +166,7 @@ def run_example_recordVideoFromSessionFile(userSettingsDir=loc_settings,
fps = int(fps)

run_example_recordVideoFromSessionFile(userSettingsDir, factoryDir, recDir, exposure,
autoExp, fps)
autoExp, fps)

while 1:
sys.exit(0)