add workbench autofocus.py
This commit is contained in:
28
swissmx.py
28
swissmx.py
@@ -100,8 +100,7 @@ import epics
|
||||
from epics.ca import pend_event
|
||||
import camera,backlight,zoom,illumination,geometry
|
||||
ts.log('Import part 7/8:')
|
||||
import deltatau
|
||||
import detector
|
||||
import psi_device
|
||||
ts.log('Import part 8/8:')
|
||||
|
||||
def tdstamp():
|
||||
@@ -362,7 +361,7 @@ class WndSwissMx(QMainWindow, Ui_MainWindow):
|
||||
grp.setTransform(tr) # assign transform
|
||||
|
||||
#--- image ---
|
||||
self._goImg=img=pg.ImageItem()
|
||||
self._goImg=img=pg.ImageItem() #border=pg.mkPen('r',width=2))
|
||||
grp.addItem(img)
|
||||
|
||||
#--- opctical center ----
|
||||
@@ -1080,7 +1079,7 @@ class WndSwissMx(QMainWindow, Ui_MainWindow):
|
||||
|
||||
|
||||
#create trace
|
||||
self.add_camera_trace()
|
||||
self.add_camera_trace(pFix)
|
||||
|
||||
_log.debug(f'dist to beam ({pFix[0]:>0.6g} {pFix[1]:>0.6g}mm)')
|
||||
fx_motor=self.tweakers["fast_x"]
|
||||
@@ -1301,7 +1300,7 @@ class WndSwissMx(QMainWindow, Ui_MainWindow):
|
||||
grp.setTransform(tr)
|
||||
grpTrc.setTransform(tr)
|
||||
|
||||
def add_camera_trace(self):
|
||||
def add_camera_trace(self,delta_mm):
|
||||
# add up to tracelen image when moveing motors to new positions
|
||||
try:
|
||||
tracelen=self._goTrace._tracelen
|
||||
@@ -1316,7 +1315,8 @@ class WndSwissMx(QMainWindow, Ui_MainWindow):
|
||||
trImg=self._goImgGrp.transform()
|
||||
trTrk=self._goTracked.transform()
|
||||
tr=trImg*trTrk.inverted()[0] # TODO: check if oder correct !!!
|
||||
img=pg.ImageItem(self._goImg.image)
|
||||
cm=pg.ColorMap((0,255),((0,0,64),(255,255,128)))#,opacity=.5)
|
||||
img=pg.ImageItem(self._goImg.image,lut=cm.getLookupTable(0,255))
|
||||
img.setTransform(tr)
|
||||
self._goTrace.addItem(img) # automatically added to self.vb
|
||||
|
||||
@@ -1598,13 +1598,18 @@ Author Thierry Zamofing (thierry.zamofing@psi.ch)
|
||||
plt.stem(x, y)
|
||||
plt.show(block=False)
|
||||
|
||||
step=1
|
||||
step=2
|
||||
if step==0:
|
||||
vb=self.vb
|
||||
vb.autoRange(items=(self._goImg,))
|
||||
elif step==1:
|
||||
testMatplotlib()
|
||||
if step==3:
|
||||
elif step==2:
|
||||
app=QApplication.instance()
|
||||
cfg=app._cfg
|
||||
geo=app._geometry
|
||||
geo.autofocus(app._camera, self.tweakers['base_z'])
|
||||
elif step==3:
|
||||
grp=pg.ItemGroup()
|
||||
vb.addItem(grp)
|
||||
obj=UsrGO.Marker((100, 100), (100, 100), mode=1)
|
||||
@@ -2019,11 +2024,11 @@ Author Thierry Zamofing (thierry.zamofing@psi.ch)
|
||||
try:
|
||||
dt=app._deltatau
|
||||
except AttributeError:
|
||||
app._deltatau=dt=deltatau.Deltatau()
|
||||
app._deltatau=dt=psi_device.Deltatau()
|
||||
try:
|
||||
jf=app._jungfrau
|
||||
except AttributeError:
|
||||
app._jungfrau=jf=detector.Jungfrau()
|
||||
app._jungfrau=jf=psi_device.Jungfrau()
|
||||
|
||||
sp=dt._shapepath
|
||||
sp.verbose=dt_misc['verbose']
|
||||
@@ -2042,7 +2047,8 @@ Author Thierry Zamofing (thierry.zamofing@psi.ch)
|
||||
sp.homing() # homing if needed
|
||||
sp.run() # start motion program
|
||||
sp.wait_armed() # wait until motors are at first position
|
||||
sp.trigger(0.5) # send a start trigger (if needed) ater given time
|
||||
sp.trigger(0.5) # send a start trigger (if needed) after given time
|
||||
jf.acquire('filename.tmp',sp.points.shape[0])
|
||||
if not dt._comm is None:
|
||||
while True:
|
||||
p=sp.progress()
|
||||
|
||||
Reference in New Issue
Block a user