Source code for QVideo.cameras.Basler._tree
from QVideo.cameras.Genicam import QGenicamTree
from QVideo.cameras.Basler import QBaslerCamera
from QVideo.lib.QCameraTree import Source
__all__ = ['QBaslerTree']
[docs]
class QBaslerTree(QGenicamTree):
'''Camera property tree for :class:`~QVideo.cameras.Basler.QBaslerCamera`.
Builds a :class:`~QVideo.lib.QCameraTree.QCameraTree` with a curated
set of controls and sensible default settings for Basler cameras.
Parameters
----------
camera : QBaslerCamera or None
Camera instance to use. If ``None``, a new :class:`QBaslerCamera`
is created from ``cameraID``.
cameraID : int
Index of the Basler camera to open. Used only when *camera* is
``None``. Default: ``0``.
controls : list of str or None
Names of GenICam nodes to show. Default: :attr:`_DEFAULT_CONTROLS`.
'''
_DEFAULT_CONTROLS = [
'ReverseX',
'ReverseY',
'AcquisitionFrameRate',
'AcquisitionResultingFrameRate',
'ExposureTime',
'ExposureAuto',
'Gain',
'GainAuto',
'Gamma',
'BlackLevel',
'Width',
'Height',
'OffsetX',
'OffsetY',
]
_DEFAULT_SETTINGS = dict(
AcquisitionFrameRateEnable=True,
BlackLevelSelector='All',
GammaEnable=True,
ExposureAuto='Off',
GainAuto='Off',
)
def __init__(self, *args,
camera: Source | None = None,
cameraID: int = 0,
controls: list[str] | None = None,
**kwargs) -> None:
camera = camera or QBaslerCamera(cameraID=cameraID)
camera.settings = self._DEFAULT_SETTINGS
super().__init__(*args,
camera=camera,
controls=controls or self._DEFAULT_CONTROLS,
**kwargs)
if __name__ == '__main__': # pragma: no cover
QBaslerTree.example()