Files
x11ma/script/templates/ObjectiveScan.py
gac-x11ma caccd1e648
2020-12-15 09:42:24 +01:00

38 lines
1.0 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()
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 DRY_RUN and str(get_setting("AUTO_SWITCH_VALVE")).lower() == "true":
close_vg10()
restore_eiger()
print "Running time: " + str(time.time() - start)