91 lines
2.4 KiB
Python
91 lines
2.4 KiB
Python
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)
|