38 lines
1.0 KiB
Python
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) |