diff options
| author | morefigs <morefigs@gmail.com> | 2019-01-30 15:12:13 +1100 |
|---|---|---|
| committer | morefigs <morefigs@gmail.com> | 2019-01-30 15:12:13 +1100 |
| commit | 8001a079833ff96b855cb6f618b1c23a5b05ad7d (patch) | |
| tree | c145667c5e9d32d90655689549d1072c0af1a61b /examples | |
| parent | 87a55df00f138e0b3f5b8469c2a43f868704426c (diff) | |
| parent | 7a915f3af6af7a3a8ef6c9d28aeb87392df3c8b4 (diff) | |
| download | pymba-8001a079833ff96b855cb6f618b1c23a5b05ad7d.tar.gz pymba-8001a079833ff96b855cb6f618b1c23a5b05ad7d.zip | |
v0.2 to master
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/camera/get_camera_object.py | 9 | ||||
| -rw-r--r-- | examples/camera/list_camera_ids.py | 7 | ||||
| -rw-r--r-- | examples/camera/list_feature_infos.py | 14 | ||||
| -rw-r--r-- | examples/camera/list_feature_names.py | 13 | ||||
| -rw-r--r-- | examples/camera/list_feature_values_and_ranges.py | 34 | ||||
| -rw-r--r-- | examples/camera/opencv_capture_image.py | 34 | ||||
| -rw-r--r-- | examples/camera/opencv_capture_image_with_callback.py | 44 | ||||
| -rw-r--r-- | examples/camera/write_feature_value.py | 22 | ||||
| -rw-r--r-- | examples/interface/get_interface_object.py | 9 | ||||
| -rw-r--r-- | examples/interface/list_feature_infos.py | 14 | ||||
| -rw-r--r-- | examples/interface/list_feature_names.py | 13 | ||||
| -rw-r--r-- | examples/interface/list_feature_values_and_ranges.py | 33 | ||||
| -rw-r--r-- | examples/interface/list_interface_ids.py | 7 | ||||
| -rw-r--r-- | examples/interface/write_feature_value.py | 22 | ||||
| -rw-r--r-- | examples/show_version.py | 6 | ||||
| -rw-r--r-- | examples/system/get_system_object.py | 8 | ||||
| -rw-r--r-- | examples/system/list_feature_values_and_ranges.py | 30 |
17 files changed, 319 insertions, 0 deletions
diff --git a/examples/camera/get_camera_object.py b/examples/camera/get_camera_object.py new file mode 100644 index 0000000..7a830f7 --- /dev/null +++ b/examples/camera/get_camera_object.py @@ -0,0 +1,9 @@ +from pymba import Vimba + + +if __name__ == '__main__': + + with Vimba() as vimba: + # provide camera index or id + camera = vimba.camera(0) + print(camera) diff --git a/examples/camera/list_camera_ids.py b/examples/camera/list_camera_ids.py new file mode 100644 index 0000000..670d71f --- /dev/null +++ b/examples/camera/list_camera_ids.py @@ -0,0 +1,7 @@ +from pymba import Vimba + + +if __name__ == '__main__': + + with Vimba() as vimba: + print(vimba.camera_ids()) diff --git a/examples/camera/list_feature_infos.py b/examples/camera/list_feature_infos.py new file mode 100644 index 0000000..03ad935 --- /dev/null +++ b/examples/camera/list_feature_infos.py @@ -0,0 +1,14 @@ +from pymba import Vimba + + +if __name__ == '__main__': + + with Vimba() as vimba: + camera = vimba.camera(0) + camera.open() + + for feature_name in camera.feature_names(): + feature = camera.feature(feature_name) + print(feature.info) + + camera.close() diff --git a/examples/camera/list_feature_names.py b/examples/camera/list_feature_names.py new file mode 100644 index 0000000..d3415dc --- /dev/null +++ b/examples/camera/list_feature_names.py @@ -0,0 +1,13 @@ +from pymba import Vimba + + +if __name__ == '__main__': + + with Vimba() as vimba: + camera = vimba.camera(0) + camera.open() + + for feature_name in camera.feature_names(): + print(feature_name) + + camera.close() diff --git a/examples/camera/list_feature_values_and_ranges.py b/examples/camera/list_feature_values_and_ranges.py new file mode 100644 index 0000000..353d48e --- /dev/null +++ b/examples/camera/list_feature_values_and_ranges.py @@ -0,0 +1,34 @@ +from pymba import Vimba, VimbaException + + +if __name__ == '__main__': + + with Vimba() as vimba: + camera = vimba.camera(0) + camera.open() + + # get feature value via feature object + for feature_name in camera.feature_names(): + feature = camera.feature(feature_name) + + try: + value = feature.value + range_ = feature.range + + # alternatively the feature value can be read as an object attribute + # value = getattr(camera, feature_name) + # or + # value = camera.someFeatureName + + except VimbaException as e: + value = e + range_ = None + + print('\n\t'.join( + str(x) for x in ( + feature_name, + f'value: {value}', + f'range: {range_}') + if x is not None)) + + camera.close() diff --git a/examples/camera/opencv_capture_image.py b/examples/camera/opencv_capture_image.py new file mode 100644 index 0000000..e8bf3d5 --- /dev/null +++ b/examples/camera/opencv_capture_image.py @@ -0,0 +1,34 @@ +import cv2 +from pymba import Vimba + + +if __name__ == '__main__': + + with Vimba() as vimba: + camera = vimba.camera(0) + camera.open() + + # setup camera and frame and capture a single image + camera.AcquisitionMode = 'SingleFrame' + frame = camera.create_frame() + frame.announce() + camera.start_capture() + frame.queue_for_capture() + camera.run_feature_command('AcquisitionStart') + camera.run_feature_command('AcquisitionStop') + frame.wait_for_capture() + + # get the image data as a numpy array + image = frame.image_numpy_array() + + # display image + cv2.imshow(camera.camera_id, image) + # waits for user to close image + cv2.waitKey(0) + + # stop capturing and clean up + camera.end_capture() + camera.flush_capture_queue() + camera.revoke_all_frames() + + camera.close() diff --git a/examples/camera/opencv_capture_image_with_callback.py b/examples/camera/opencv_capture_image_with_callback.py new file mode 100644 index 0000000..4d5fa28 --- /dev/null +++ b/examples/camera/opencv_capture_image_with_callback.py @@ -0,0 +1,44 @@ +from time import sleep +import cv2 +from pymba import Vimba +from pymba.frame import Frame + + +def on_callback(completed_frame: Frame): + print('Callback called!') + + # get the image data as a numpy array + image = completed_frame.image_numpy_array() + + # display image + cv2.imshow(camera.camera_id, image) + # waits for user to close image + cv2.waitKey(0) + + +if __name__ == '__main__': + + with Vimba() as vimba: + camera = vimba.camera(0) + camera.open() + + # setup camera and frame and capture a single image + camera.AcquisitionMode = 'SingleFrame' + frame = camera.create_frame() + frame.announce() + camera.start_capture() + frame.queue_for_capture(on_callback) + camera.run_feature_command('AcquisitionStart') + camera.run_feature_command('AcquisitionStop') + + # wait long enough for the frame callback to be called + for _ in range(100): + sleep(0.1) + print('.', end='') + + # stop capturing and clean up + camera.end_capture() + camera.flush_capture_queue() + camera.revoke_all_frames() + + camera.close() diff --git a/examples/camera/write_feature_value.py b/examples/camera/write_feature_value.py new file mode 100644 index 0000000..77f8ce5 --- /dev/null +++ b/examples/camera/write_feature_value.py @@ -0,0 +1,22 @@ +from pymba import Vimba + + +if __name__ == '__main__': + + with Vimba() as vimba: + camera = vimba.camera(0) + camera.open() + + # read a feature value + feature = camera.feature('ExposureAuto') + value = feature.value + + # set the feature value + feature.value = value + + print(feature.name, '=', feature.value) + + # alternatively the feature value can be set as an object attribute + camera.ExposureAuto = feature.value + + camera.close() diff --git a/examples/interface/get_interface_object.py b/examples/interface/get_interface_object.py new file mode 100644 index 0000000..0465223 --- /dev/null +++ b/examples/interface/get_interface_object.py @@ -0,0 +1,9 @@ +from pymba import Vimba + + +if __name__ == '__main__': + + with Vimba() as vimba: + # provide interface index or id + interface = vimba.interface(0) + print(interface) diff --git a/examples/interface/list_feature_infos.py b/examples/interface/list_feature_infos.py new file mode 100644 index 0000000..fefa079 --- /dev/null +++ b/examples/interface/list_feature_infos.py @@ -0,0 +1,14 @@ +from pymba import Vimba + + +if __name__ == '__main__': + + with Vimba() as vimba: + interface = vimba.interface(0) + interface.open() + + for feature_name in interface.feature_names(): + feature = interface.feature(feature_name) + print(feature.info) + + interface.close() diff --git a/examples/interface/list_feature_names.py b/examples/interface/list_feature_names.py new file mode 100644 index 0000000..6f0347d --- /dev/null +++ b/examples/interface/list_feature_names.py @@ -0,0 +1,13 @@ +from pymba import Vimba + + +if __name__ == '__main__': + + with Vimba() as vimba: + interface = vimba.interface(0) + interface.open() + + for feature_name in interface.feature_names(): + print(feature_name) + + interface.close() diff --git a/examples/interface/list_feature_values_and_ranges.py b/examples/interface/list_feature_values_and_ranges.py new file mode 100644 index 0000000..b33c76a --- /dev/null +++ b/examples/interface/list_feature_values_and_ranges.py @@ -0,0 +1,33 @@ +from pymba import Vimba, VimbaException + + +if __name__ == '__main__': + + with Vimba() as vimba: + interface = vimba.interface(0) + interface.open() + + # get feature value via feature object + for feature_name in interface.feature_names(): + feature = interface.feature(feature_name) + try: + value = feature.value + range_ = feature.range + + # alternatively the feature value can be read as an object attribute + # value = getattr(interface, feature_name) + # or + # value = interface.someFeatureName + + except VimbaException as e: + value = e + range_ = None + + print('\n\t'.join( + str(x) for x in ( + feature_name, + f'value: {value}', + f'range: {range_}') + if x is not None)) + + interface.close() diff --git a/examples/interface/list_interface_ids.py b/examples/interface/list_interface_ids.py new file mode 100644 index 0000000..9a7cbec --- /dev/null +++ b/examples/interface/list_interface_ids.py @@ -0,0 +1,7 @@ +from pymba import Vimba + + +if __name__ == '__main__': + + with Vimba() as vimba: + print(vimba.interface_ids()) diff --git a/examples/interface/write_feature_value.py b/examples/interface/write_feature_value.py new file mode 100644 index 0000000..0c71da2 --- /dev/null +++ b/examples/interface/write_feature_value.py @@ -0,0 +1,22 @@ +from pymba import Vimba + + +if __name__ == '__main__': + + with Vimba() as vimba: + interface = vimba.interface(0) + interface.open() + + # set a feature value by feature name + feature = interface.feature('InterfacePingPace') + value = feature.value + + # set the feature value + feature.value = value + + print(feature.name, '=', feature.value) + + # alternatively the feature value can be set as an object attribute + interface.InterfacePingPace = 3 + + interface.close() diff --git a/examples/show_version.py b/examples/show_version.py new file mode 100644 index 0000000..643dc1c --- /dev/null +++ b/examples/show_version.py @@ -0,0 +1,6 @@ +from pymba import Vimba, PYMBA_VERSION + + +if __name__ == '__main__': + print(f'Pymba version: {PYMBA_VERSION}') + print(f'Vimba version: {Vimba.version()}') diff --git a/examples/system/get_system_object.py b/examples/system/get_system_object.py new file mode 100644 index 0000000..2d59001 --- /dev/null +++ b/examples/system/get_system_object.py @@ -0,0 +1,8 @@ +from pymba import Vimba + + +if __name__ == '__main__': + + with Vimba() as vimba: + system = vimba.system() + print(system) diff --git a/examples/system/list_feature_values_and_ranges.py b/examples/system/list_feature_values_and_ranges.py new file mode 100644 index 0000000..ef4da34 --- /dev/null +++ b/examples/system/list_feature_values_and_ranges.py @@ -0,0 +1,30 @@ +from pymba import Vimba, VimbaException + + +if __name__ == '__main__': + + with Vimba() as vimba: + system = vimba.system() + + # get feature value via feature object + for feature_name in system.feature_names(): + feature = system.feature(feature_name) + try: + value = feature.value + range_ = feature.range + + # alternatively the feature value can be read as an object attribute + # value = getattr(system, feature_name) + # or + # value = system.someFeatureName + + except VimbaException as e: + value = e + range_ = None + + print('\n\t'.join( + str(x) for x in ( + feature_name, + f'value: {value}', + f'range: {range_}') + if x is not None)) |
