from ijutils import Roi #from sim import * import traceback run ("imaging/shifts") """ roi=Roi(256,0,128,128) stack = load_test_stack(show=False, size=9) ipr, ipi = complex_edge_filtering(stack, show=False) shifts = (ipr, ipi, roi, java_code=True) #shifts= load_shifts("{images}/TestObjAligner/shifts.mat") #stack = load_test_stack(show=True) r=translate(stack, shifts, show=True) ref = "{images}/TestObjAligner/i210517_040#001.tif" img = "{images}/TestObjAligner/i210517_041#001.tif" #ref = stack.getStack().getProcessor(1) #img = stack.getStack().getProcessor(2) #roi=Roi(0,0,32, 32) #ref=image2.data.getRoi(Rectangle(Point(0,0),image.data.getSize(False))) #time.sleep(0.2) #img =image.data """ def eval_shift(roi, obj=None, stiga=None, stigb=None, wait=3.0): ref = image.data if obj is not None: objective.write(obj) if stiga is not None: obj_stig_a.write(stiga) if stigb is not None: obj_stig_b.write(stigb) time.sleep(wait) image.waitNext(10000) img = image.data xoff, yoff, error, diffphase, _ = calculate_shift(ref,img, roi) print "xoff: ", xoff print "yoff: ", yoff print "error: ", error print "diffphase: ", diffphase """ roi=Roi(300,240,64,64) eval_shift(roi, obj=1493.5) eval_shift(roi, obj=1494.8) """ def eval_shift_obj(roi, obj1, obj2, wait=3.0): cur = objective.read() if abs(obj1-cur) > 0.001: objective.write(obj1) time.sleep(wait) image.waitNext(10000) ref = image.data objective.write(obj2) time.sleep(wait) image.waitNext(10000) img = image.data xoff, yoff, error, diffphase, _ = calculate_shift(ref,img, roi) print "Ref obj: ", obj1, " img obj: ", obj2 print "xoff: ", xoff print "yoff: ", yoff print "error: ", error print "diffphase: ", diffphase def get_roi_overlay(): pn=show_panel(image) for ov in pn.overlays: if type(ov) is Overlays.Rect: return ov return None def get_roi(): #return Roi(300,240,64,64) roi_ov=get_roi_overlay(); return Roi(roi_ov.position.x, roi_ov.position.y, roi_ov.width, roi_ov.height) def set_roi_size(size): pn=show_panel(image) roi = get_roi_overlay() if roi is None: raise Exception("No ROI defined") roi.width = size roi.height = size pn.refresh() #set_roi_size(128) eval_shift_obj(get_roi(), 1494.8, 1493.5) eval_shift_obj(get_roi(), 1493.5, 1494.8)