• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

int-brain-lab / iblrig / 9031936551

10 May 2024 12:05PM UTC coverage: 48.538% (+1.7%) from 46.79%
9031936551

Pull #643

github

53c3e3
web-flow
Merge 3c8214f78 into ec2d8e4fe
Pull Request #643: 8.19.0

377 of 1073 new or added lines in 38 files covered. (35.14%)

977 existing lines in 19 files now uncovered.

3253 of 6702 relevant lines covered (48.54%)

0.97 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

35.48
/iblrig/video_pyspin.py
1
import logging
2✔
2

3
import PySpin
2✔
4

5
log = logging.getLogger(__name__)
2✔
6

7

8
class Cameras:
2✔
9
    _instance = None
2✔
10

11
    def __init__(self, init_cameras: bool = True):
2✔
12
        self._instance = PySpin.System.GetInstance()
×
13
        self._cameras = self._instance.GetCameras()
×
14
        if not init_cameras:
×
15
            return
×
16
        for camera in self._cameras:
×
17
            camera.Init()
×
18

19
    def __enter__(self) -> PySpin.CameraList:
2✔
20
        return self._cameras
×
21

22
    def __exit__(self, *_):
2✔
23
        self._cameras.Clear()
×
24
        self._instance.ReleaseInstance()
×
25

26
    @property
2✔
27
    def instance(self):
2✔
28
        return self._instance
×
29

30

31
def enable_camera_trigger(enable: bool, camera: PySpin.CameraPtr | None = None):
2✔
32
    if camera is None:
×
33
        with Cameras() as cameras:
×
34
            for camera in cameras:
×
35
                enable_camera_trigger(enable=enable, camera=camera)
×
36
            del camera
×
37
    else:
38
        node_map = camera.GetNodeMap()
×
39
        node_trigger_mode = PySpin.CEnumerationPtr(node_map.GetNode('TriggerMode'))
×
40
        node_trigger_mode_value = node_trigger_mode.GetEntryByName('On' if enable else 'Off').GetValue()
×
41
        node_trigger_mode.SetIntValue(node_trigger_mode_value)
×
NEW
42
        log.debug(('Enabled' if enable else 'Disabled') + f' trigger for camera #{camera.DeviceID.ToString()}.')
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc