Source code for QVideo.cameras.IDS._camera
from QVideo.cameras.Genicam import QGenicamCamera, QGenicamSource
__all__ = ['QIDSCamera', 'QIDSSource']
[docs]
class QIDSCamera(QGenicamCamera):
'''Camera backed by an IDS Imaging device via the IDS peak GenTL producer.
`IDS peak <https://www.ids-imaging.com/ids-peak.html>`_ is IDS Imaging's
SDK for USB3 Vision and GigE Vision cameras. It installs GenTL producers
whose paths are discovered automatically from the ``GENICAM_GENTL64_PATH``
environment variable set by the IDS peak installer.
If IDS peak is not installed, instantiation raises :exc:`TypeError`.
Parameters
----------
cameraID : int
Index of the IDS camera to open. Default: ``0``.
'''
_producer_filenames = ('ids_u3vgentl.cti', 'ids_gevgentl.cti')
[docs]
class QIDSSource(QGenicamSource):
'''Threaded video source backed by :class:`QIDSCamera`.
Parameters
----------
camera : QIDSCamera or None
Camera instance to wrap. If ``None``, a new
:class:`QIDSCamera` is created from ``cameraID``.
cameraID : int
Index of the camera to open. Used only when *camera* is ``None``.
Default: ``0``.
'''
def __init__(self, camera: QIDSCamera | None = None,
cameraID: int = 0) -> None:
camera = camera or QIDSCamera(cameraID=cameraID)
super().__init__(camera)
if __name__ == '__main__': # pragma: no cover
QIDSCamera.example()