class CameraPlot: def __init__(self): self.vimba = Vimba() self.vimba.startup() self.system = self.vimba.getSystem() self.cameraIds = self.vimba.getCameraIds() self.init_win() self.init_camera() def init_win(self): self.win = QtGui.QMainWindow() self.win.show() self.win.resize(600, 400) self.win.setWindowTitle("pymba + pyqtgraph") self.img = pg.ImageView() self.win.setCentralWidget(self.img) def init_camera(self): print("Vimba version:", self.vimba.getVersion()) print("Found {:d} cameras.".format(len(self.cameraIds))) self.cam = self.vimba.getCamera(self.cameraIds[0]) self.cam.openCamera() info = self.cam.getInfo() print("cameraName:", info.cameraName.decode("ascii")) print("interfaceIdString:", info.interfaceIdString.decode("ascii")) print("modelName:", info.modelName.decode("ascii")) def start_camera(self): self.cam.AcquisitionMode = "Continuous" self.cam.IIDCPhyspeed = "S800" self.cam.PixelFormat = "Mono16" self.cam.TriggerMode = "Off" self.cam.AcquisitionFrameRate = 20.0 self.frame = self.cam.getFrame() self.frame.announceFrame() self.cam.startCapture() self.cam.runFeatureCommand("AcquisitionStart") def process_images(self): QtCore.QTimer.singleShot(50, self.process_images) self.frame.queueFrameCapture() self.frame.waitFrameCapture() im = self.frame.getImage().T self.img.setImage(im, autoRange=False, autoLevels=False, autoHistogramRange=False) def stop_camera(self): self.cam.runFeatureCommand("AcquisitionStop") self.cam.endCapture() self.cam.revokeAllFrames() def deinit_camera(self): self.vimba.shutdown()
def test_installation(): vimba = Vimba() version = vimba.getVersion() assert version == '1.2.0'