Tilt homing
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
FOV_ARROWS = { \
|
||||
"120um[0.0]": [84.0], \
|
||||
"100um[0.0]": [82.0], \
|
||||
"75um[0.0]": [77.0], \
|
||||
"50um[0.0]": [72.0], \
|
||||
"40um[0.0]": [66.0], \
|
||||
"30um[0.0]": [61.0], \
|
||||
"25um[0.0]": [50.0], \
|
||||
"20um[0.0]": [45.0], \
|
||||
"15um[0.0]": [32.0], \
|
||||
"10um[0.0]": [5.0], \
|
||||
"7.5um[0.0]": [15.0], \
|
||||
"5m[0.0]": [10.0], \
|
||||
"2.5m[0.0]": [5.0], \
|
||||
"1.25m[0.0]": [0.0], \
|
||||
"new_entry": [0.0] \
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
arrows_renderer = arrow_x = arrow_y = None
|
||||
|
||||
FOV_ARROWS = { \
|
||||
"50um[0.0]": [20.0] \
|
||||
}
|
||||
|
||||
|
||||
FOV_ARROWS_SIZE=100
|
||||
FOV_ARROWS_ORIGIN=Point(image.getData().width/4, image.getData().height*3/4)
|
||||
FOV_FUTURE=None
|
||||
|
||||
def update_arrows():
|
||||
global arrows_renderer, arrow_x, arrow_y
|
||||
if arrows_renderer is not None:
|
||||
fov = microscope.get_preset_label()
|
||||
args = FOV_ARROWS.get(fov, None)
|
||||
if args is not None:
|
||||
angle=args[0]
|
||||
x,y = FOV_ARROWS_ORIGIN.x, FOV_ARROWS_ORIGIN.y
|
||||
a=math.radians(angle)
|
||||
xa,ya=int(x+FOV_ARROWS_SIZE*math.cos(a)), int(y-FOV_ARROWS_SIZE*math.sin(a))
|
||||
arrow_x.update(FOV_ARROWS_ORIGIN, Point(xa,ya))
|
||||
angle=angle+90
|
||||
a=math.radians(angle)
|
||||
xa,ya=int(x+FOV_ARROWS_SIZE*math.cos(a)), int(y-FOV_ARROWS_SIZE*math.sin(a))
|
||||
arrow_y.update(FOV_ARROWS_ORIGIN, Point(xa,ya))
|
||||
else:
|
||||
arrow_x.update(FOV_ARROWS_ORIGIN, FOV_ARROWS_ORIGIN)
|
||||
arrow_y.update(FOV_ARROWS_ORIGIN, FOV_ARROWS_ORIGIN)
|
||||
|
||||
def task_update_arrows():
|
||||
global arrows_renderer
|
||||
while arrows_renderer is not None:
|
||||
try:
|
||||
if arrows_renderer.isShowing():
|
||||
update_arrows()
|
||||
time.sleep(5.0)
|
||||
time.sleep(1.0)
|
||||
except:
|
||||
pass
|
||||
|
||||
|
||||
def start_arrows(renderer=None):
|
||||
global arrows_renderer, arrow_x, arrow_y, FOV_FUTURE
|
||||
if arrows_renderer is None:
|
||||
arrows_renderer = renderer if renderer else show_panel(image)
|
||||
arrow_x = Overlays.Arrow(Pen(Color.GREEN))
|
||||
arrow_y = Overlays.Arrow(Pen(Color.GREEN.darker().darker()))
|
||||
arrows_renderer.addOverlays([arrow_x,arrow_y])
|
||||
#update_arrows()
|
||||
FOV_FUTURE = fork(task_update_arrows,)[0]
|
||||
|
||||
|
||||
def stop_arrows(renderer=None):
|
||||
global arrows_renderer, arrow_x, arrow_y, FOV_FUTURE
|
||||
if arrows_renderer is not None:
|
||||
arrows_renderer.removeOverlays([arrow_x,arrow_y])
|
||||
arrows_renderer=None
|
||||
FOV_FUTURE.cancel(True)
|
||||
try:
|
||||
join(FOV_FUTURE)
|
||||
except:
|
||||
pass
|
||||
|
||||
+1
-25
@@ -1,25 +1 @@
|
||||
set_exec_pars(path="/sls/X11MA/data/X11MA/Data1/XAS/25Feb2020/test/")
|
||||
|
||||
open_vg13()
|
||||
time.sleep(1)
|
||||
|
||||
#caput('X11MA-KEI10:RANGE', 7)
|
||||
#caput('X11MA-KEI11:RANGE', 8)
|
||||
#caput('X11MA-KEI12:RANGE', 9)
|
||||
#otf(start=440, end=480, time=2, delay=10, mode='CIRC +', alpha = 0.0, offset=-2.5, name='FeSTOUV_Ti_cp_range', folder='./')
|
||||
#otf(start=440, end=480, time=2, delay=10, mode='CIRC -', alpha = 0.0, offset=-2.5, name='FeSTOUV_Ti_cm_range', folder='./')
|
||||
|
||||
|
||||
#caput('X11MA-KEI10:RANGE', 7)
|
||||
#caput('X11MA-KEI11:RANGE', 7)
|
||||
#caput('X11MA-KEI12:RANGE', 8)
|
||||
#otf(start=520, end=590, time=2, delay=10, mode='CIRC +', alpha = 0.0, offset=-2.5, name='FeSTOUV_O_cp_range', folder='./')
|
||||
#otf(start=520, end=590, time=2, delay=10, mode='CIRC -', alpha = 0.0, offset=-2.5, name='FeSTOUV_O_cm_range', folder='./')
|
||||
|
||||
|
||||
caput('X11MA-KEI10:RANGE', 7)
|
||||
caput('X11MA-KEI11:RANGE', 8)
|
||||
caput('X11MA-KEI12:RANGE', 8)
|
||||
otf(start=690, end=750, time=2, delay=10, mode='CIRC +', alpha = 0.0, offset=-2.5, name='FeSTOUV_Fe_cp_range', folder='./')
|
||||
otf(start=690, end=750, time=2, delay=10, mode='CIRC -', alpha = 0.0, offset=-2.5, name='FeSTOUV_Fe_cm_range', folder='./')
|
||||
|
||||
otf2(start=520, end=570, time=5, delay=10, mode='LINEAR', alpha=0.0, offset=-1.0, name='test')
|
||||
Reference in New Issue
Block a user