Beispiel #1
0
    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