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