MCPcopy Create free account
hub / github.com/TheMariday/marimapper / DetectorProcess

Class DetectorProcess

marimapper/detector_process.py:81–240  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

79
80
81class DetectorProcess(Process):
82
83 def __init__(
84 self,
85 device: str,
86 dark_exposure: int,
87 threshold: int,
88 backend_factory: partial,
89 display: bool = True,
90 check_movement=True,
91 ):
92 super().__init__()
93 self._request_detections_queue = RequestDetectionsQueue() # {led_id, view_id}
94 self._output_queues: list[Queue2D] = [] # LED3D
95 self._led_count: Queue = Queue()
96 self._led_count.cancel_join_thread()
97 self._input_3d_info_queue = Queue3DInfo()
98 self._exit_event = Event()
99
100 self._device = device
101 self._dark_exposure = dark_exposure
102 self._threshold = threshold
103 self._led_backend_factory = backend_factory
104 self._display = display
105 self._check_movement = check_movement
106
107 def get_input_3d_info_queue(self):
108 return self._input_3d_info_queue
109
110 def get_request_detections_queue(self) -> RequestDetectionsQueue:
111 return self._request_detections_queue
112
113 def add_output_queue(self, queue: Queue2D):
114 self._output_queues.append(queue)
115
116 def detect(self, led_id_from: int, led_id_to: int, view_id: int):
117 self._request_detections_queue.request(led_id_from, led_id_to, view_id)
118
119 def get_led_count(self):
120 return self._led_count.get()
121
122 def stop(self):
123 self._exit_event.set()
124
125 def put_in_all_output_queues(self, control: DetectionControlEnum, data):
126 for queue in self._output_queues:
127 queue.put(control, data)
128
129 def run(self):
130
131 led_backend = self._led_backend_factory()
132
133 self._led_count.put(led_backend.get_led_count())
134
135 cam = Camera(self._device)
136
137 timeout_controller = TimeoutController()
138

Callers 1

__init__Method · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected