Vimba camera device
civiq6.devices provides classes to manage physical camera devices
controlled by Vimba SDK.
To access the camera, Vimba instance must be run first by VimbaRunner.
After that the user can get the list of available camera devices and their
information using VimbaDevices and VimbaCameraDevice, just as
one would use QMediaDevices and QCameraDevice.
- class civiq6.devices.VimbaRunner(parent=None)[source]
Bases:
QObjectClass to run the Vimba instance.
VimbaRunneris a singleton object which runs the Vimba instance in an event loop to activate the API and to manage the camera change event. This object must be run before any Vimba-related operation.The typical usage is to call
runVimba()in a dedicated thread:vimbaThread = QThread() vimbaRunner = VimbaRunner() vimbaRunner.moveToThread(vimbaThread) vimbaThread.started.connect(vimbaRunner.runVimba) vimbaThread.start()
Once the Vimba instance is successfully started,
vimbaReadysignal is emitted.- runVimba()
Run the Vimba instance.
This method registers
cameraChangeHandler()to the camera change handler of Vimba instance, and loades all connected cameras toVimbaDevices.When Vimba is successfully run,
vimbaReadysignal is emitted and event loop is executed. If event loop is finished or Vimba fails to run, camera change handler is unregistered.To finish the event loop, run
stopVimba().
- stopVimba()
Stop all running cameras and quit the Vimba event loop.
- cameraChangeHandler(camera: vimba.Camera, event: vimba.CameraEvent)[source]
Refresh the list of camera of
VimbaDevices.
- class civiq6.devices.VimbaDevices(parent=None)[source]
Bases:
QObjectClass to provide information about available camera devices.
VimbaDevicesprovides access to the available camera devices.videoInputs()returns a list of available devices, anddefaultVideoInput()returns a default device among them.When a new devices has been connected or and attached device has been disconnected, the change is notified by
videoInputsChangedsignal.VimbaDevicesis a singleton object.- static videoInputs() List[VimbaCameraDevice][source]
Return a list of available cameras on the system.
- static defaultVideoInput() VimbaCameraDevice[source]
Return the default camera.
The default device is the first item in
videoInputs(). If no camera is available, invalidVimbaCameraDeviceis returned.
- class civiq6.devices.VimbaCameraDevice(*args: Any, **kwargs: Any)[source]
Bases:
QObjectClass to provide general information about camera devices.
VimbaCameraDevicerepresents a physical camera device managed by Vimba, and its properties.Camera device can be discovered by
VimbaDevicesclass.This example prints the name of all available cameras:
cameras = VimbaDevices.videoInputs() for cameraDevice in cameras: print(cameraDevice.description())
A VimbaCameraDevice can be used to construct a
VimbaCamera. The following example instantiates aVimbaCamerawhose camera device is namedmycamera:cameras = VimbaDevices.videoInputs() for cameraDevice in cameras: if (cameraDevice.description() == "mycamera") camera = VimbaCamera(cameraDevice)
You can also use VimbaCameraDevice to get general information about a camera device such as frame rate, resolution or pixel format.
device = VimbaDevices.defaultVideoInput() print(device.frameRate()) print(device.resolution())
- isNull() bool[source]
Return true if this
VimbaCameraDeviceis null or invalid.
- frameRate() float[source]
Return the acquisition frame rate of camera device. -1 indicates invalid device.