import sys if sys.version_info.major > 2: from PYME.Acquire.Hardware.Piezos import offsetPiezoREST as offsetPiezo else: from PYME.Acquire.Hardware.Piezos import offsetPiezo scope.piFoc = offsetPiezo.getClient() scope.register_piezo(scope.piFoc, 'z') @init_gui('Drift tracking') def drift_tracking(MainFrame, scope): from PYME.Acquire.Hardware import driftTracking, driftTrackGUI scope.dt = driftTracking.Correlator(scope, scope.piFoc) dtp = driftTrackGUI.DriftTrackingControl(MainFrame, scope.dt) MainFrame.camPanels.append((dtp, 'Focus Lock')) MainFrame.time1.WantNotification.append(dtp.refresh) @init_gui('Focus Keys') def focus_keys(MainFrame, scope): from PYME.Acquire.Hardware import focusKeys fk = focusKeys.FocusKeys(MainFrame, scope.piezos[0]) #must be here!!! joinBGInit() #wait for anyhting which was being done in a separate thread #scope.SetCamera('A') time.sleep(.5) scope.initDone = True
cam = PcoEdge42LT(0) cam.Init() # flip and rotate on primary camera should always be false - make the stage match the camera reference frame instead # as it's much easier # TODO - make flip, rotate etc actually work for tiling in case we have two cameras scope.register_camera(cam, 'PcoEdge42LT', rotate=False, flipx=False, flipy=False) logger.debug('here') @init_gui('sCMOS Camera controls') def pco_cam_controls(MainFrame, scope): import wx # Generate an empty, dummy control panel # TODO - adapt PYME.Acquire.Hardware.AndorNeo.ZylaControlPanel or similar to allow options to be set. # As it stands, we just use the default gain and readout settings. scope.camControls['PcoEdge42LT'] = wx.Panel(MainFrame) MainFrame.camPanels.append( (scope.camControls['PcoEdge42LT'], 'pco.edge 4.2 LT Properties')) joinBGInit() scope.initDone = True