forked from pgriffin17/cameraControl
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathviewfinder.py
More file actions
37 lines (29 loc) · 1.13 KB
/
viewfinder.py
File metadata and controls
37 lines (29 loc) · 1.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import pyqtgraph as pg
from Viewbox import Viewbox
from roi_manager import ROI_Manager
from camera import CameraController
from diffractometer_tools import Diffractometer_Tools
from viewfinder_buttons import ViewfinderButtons
class Viewfinder(pg.GraphicsLayoutWidget):
"""
Displays a feed from a camera with a histogram.
"""
def __init__(self, roi_manager: ROI_Manager = None, camera: CameraController = None, diff_tools: Diffractometer_Tools = None, vf_buttons : ViewfinderButtons = None):
super().__init__(parent=None)
# Instantiate Children
if camera:
imi = camera.imi
else:
print("No Camera connected to Viewfinder")
imi = None
self.viewbox = Viewbox(roi_manager=roi_manager, diff_tools=diff_tools, camera=camera)
self.hist = pg.HistogramLUTItem(imi)
self.hist.setHistogramRange(0, 65535) # Max pixel value in RAW16
# Arrange in layout
self.addItem(self.viewbox)
self.addItem(self.hist)
if __name__ == "__main__":
app = pg.mkQApp()
widget = Viewfinder()
widget.show()
app.exec()