Files
x11ma/script/templates/ObjectiveScan.py
gac-x11ma d6803e82ba
2022-10-05 09:33:25 +02:00

42 lines
1.3 KiB
Python

SCAN_RANGE = [1455.0, 1475.0]
STEP_SIZE = 0.2
EXPOSURE_TIME = 1.0
SETTLING_TIME = 0.1
start = time.time()
objective = microscope.get_child("Objective")
add_device(objective, True)
objective.polling=1000
class CoefficientOfVariation(Readable):
def read(self):
d = image.data
ip = load_array(d.array, d.width, d.height)
img_stddev = get_measurement(ip, "StdDev")
img_mean= get_measurement(ip, "Mean")
try:
return img_stddev/img_mean
except:
return float('nan')
variation = CoefficientOfVariation()
sensors = [variation]
if not get_dry_run() and str(get_setting("AUTO_SWITCH_VALVE")).lower() == "true":
open_vg10()
if not get_dry_run() and str(get_setting("AUTO_SWITCH_SHUTTER")).lower() == "true":
caput(FAST_SHTR, 'Open')
init_eiger(EXPOSURE_TIME)
try:
lscan(objective, sensors, SCAN_RANGE[0], SCAN_RANGE[1], float(STEP_SIZE), latency=SETTLING_TIME, before_read=trigger_eiger, keep=False)
finally:
if not get_dry_run() and str(get_setting("AUTO_SWITCH_VALVE")).lower() == "true":
close_vg10()
if not get_dry_run() and str(get_setting("AUTO_SWITCH_SHUTTER")).lower() == "true":
caput(FAST_SHTR, 'Close')
restore_eiger()
print "Running time: " + str(time.time() - start)