Files
@ 655956f6ba89
Branch filter:
Location: OneEye/overview.md - annotation
655956f6ba89
1008 B
text/markdown
training and testing model
52d1a214c032 52d1a214c032 52d1a214c032 dc1ed8ff56ef dc1ed8ff56ef dc1ed8ff56ef dc1ed8ff56ef dc1ed8ff56ef dc1ed8ff56ef dc1ed8ff56ef dc1ed8ff56ef dc1ed8ff56ef dc1ed8ff56ef 52d1a214c032 52d1a214c032 52d1a214c032 52d1a214c032 52d1a214c032 52d1a214c032 52d1a214c032 52d1a214c032 52d1a214c032 52d1a214c032 52d1a214c032 52d1a214c032 52d1a214c032 52d1a214c032 52d1a214c032 52d1a214c032 52d1a214c032 52d1a214c032 | Processes and threads
=====================
Processes communicate through MsgQueues (a wrapper around multiprocessing.Queue).
Each owns one incoming and holds any number of outcoming queues.
The queue runs in one thread, reads messages and calls handlers on its owner.
A shutdown is initiated by closing the GUI.
It closes its MsgQueue and exits its mainloop.
End of GUI process is waited on by the Core.
It follows by sending VideoCapture process an "shutdown" order and then waits on its end.
The VideoCapture closes its MsgQueue and sets its main loop for a break with its _shutdown attribute.
Finally the Core closes its MsgQueue and exits.
Core
----
* Main process, starts GUI and VideoCapture. Waits for them to finish.
* Runs ImageAnalyzer and StateBag.
* Messages API:
* putFrame(frame)
* setParams(params)
* fetchFrame(key)
* fetchParams(params)
GUI
---
* Presents data for the user, handles user input.
VideoCapture
------------
* Consumes a video stream, sending captured frames to Core.
|