This commit is contained in:
2022-08-24 08:53:54 +02:00
parent 1c1e93a4d2
commit df53197d01
6 changed files with 153 additions and 24 deletions

View File

@@ -342,8 +342,12 @@ class Main(QMainWindow, Ui_MainWindow):
#--- grid ---
try:
self._goGrid=grid=pg.GridItem(pen=(0,255,0),textPen=(0,255,0)) #green grid and labels
except:
self._goGrid=grid=pg.GridItem()
except NameError:
_log.debug('workaround for typo in pyqtgraph:0.11.0')
from PyQt5.QtGui import QPen,QColor
self._goGrid=grid=pg.GridItem() # green grid and labels
grid.opts['pen']=QPen(QColor(0, 255, 0))
grid.opts['textPen']=QPen(QColor(0, 255, 0))
tr.reset()
grid.setTransform(tr) # assign transform
vb.addItem(grid)
@@ -361,7 +365,8 @@ class Main(QMainWindow, Ui_MainWindow):
#--- testing scan grid ---
self.track_objects() # first call is needed to initialize the structure self._goTracked
go=UsrGO.Grid((120, -100), (200, 150), (30, 22), 2)
#go=UsrGO.Grid((120, -100), (200, 150), (30, 22), 2)
go=UsrGO.Grid((120, -100), (1000, 500), (10, 5), 2)
go.setTransform(tr) # assign transform
vb.addItem(go)
self._goTracked['objLst'].append(go)
@@ -2124,16 +2129,37 @@ class Main(QMainWindow, Ui_MainWindow):
ystep = self._sb_grid_y_step.value()
xoffset = self._sb_grid_x_offset.value()
yoffset = self._sb_grid_y_offset.value()
grid = CstROI.Grid( x_step=xstep, y_step=ystep, x_offset=xoffset, y_offset=yoffset, gonio_xy=(gx, gy), grid_index=grid_index, parent=self,)
self._grids.append(grid)
grid.calculate_gonio_xy()
grid.sigRemoveRequested.connect(lambda g=grid: self.remove_grid(g))
self.vb.addItem(grid)
app=QApplication.instance()
geo=app._geometry
oc=geo._opt_ctr
if xstep==0:
go=UsrGO.Grid((120, -100), (200, 150), (30, 22), 2)
elif xstep==1:
go=UsrGO.FixTargetFrame((120, -100), (200, 150), tpl='test')
elif xstep==2:
v=geo.pos2pix((12.5, 0))
l=np.linalg.norm(v)
go=UsrGO.FixTargetFrame(-oc, (l,l), tpl='12.5x12.5')
elif xstep==3:
v=geo.pos2pix((23, 0))
l=np.linalg.norm(v)
go=UsrGO.FixTargetFrame(-oc, (l,l), tpl='23.0x23.0')
else:
_log.error('set xstep 0..2 for tests')
self.vb.addItem(go)
self._goTracked['objLst'].append(go)
#grid = CstROI.Grid( x_step=xstep, y_step=ystep, x_offset=xoffset, y_offset=yoffset, gonio_xy=(gx, gy), grid_index=grid_index, parent=self,)
#self.vb.addItem(grid)
#grid.calculate_gonio_xy()
#grid.sigRemoveRequested.connect(lambda g=grid: self.remove_grid(g))
def daq_grid_remove_all(self):
for grid in self._grids:
grid.sigRemoveRequested.emit(grid) # ugly hack
self._grids = []
vb=self.vb
for go in self._goTracked['objLst']:
vb.removeItem(go)
self._goTracked['objLst']=[]
def grids_pause_stage_tracking(self):
for grid in self._grids:
@@ -2231,7 +2257,8 @@ class Main(QMainWindow, Ui_MainWindow):
app._jungfrau=jf=detector.Jungfrau()
sp=dt._shapepath
sp.gen_grid_points(w=15, h=15, pitch=3, rnd=0, ofs=(0, +2000));
sp.gen_grid_points(w=15, h=15, pitch=3, rnd=0, ofs=(0, +2000))
#sp.gen_grid_points(w=5, h=10, pitch=1, rnd=0, ofs=(0, 0));sp.sort_points(False, 10);sp.points
sp.sort_points(False, 15);
sp.meta['pt2pt_time']=10
sp.setup_gather()
@@ -2754,6 +2781,8 @@ class Main(QMainWindow, Ui_MainWindow):
self.re_connect_collect_button()
def execute_collection(self):
app=QApplication.instance()
geo=app._geometry
task = self.active_task()
self._is_aborted = False
method = self._tabs_daq_methods.currentWidget().accessibleName()
@@ -2766,8 +2795,28 @@ class Main(QMainWindow, Ui_MainWindow):
)
self._inspect = self._grid_inspect_area
self._inspect.setPlainText("")
for fixTrg in self._goTracked['objLst']:
points=fixTrg.get_points()
geo=app._geometry
zoom=app._zoom.get_val()
fast_x=self.tweakers["fast_x"];
fast_y=self.tweakers["fast_y"]
fx=fast_x.get_val()
fy=fast_y.get_val()
opt_ctr=geo._opt_ctr
for go in self._goTracked['objLst']:
points=go.get_points() #points in coordinate system of ROI
# names consists of abrevations
# part 0: po=position sz=size dt=delta
# part 1: px=pixel eu=engineering units (e.g. mm)
po_px=go.pos()
sz_px=go.size()
tr=go.transform() # TODO: this is not yet used
UsrGO.obj_info(tr)
dt_px=-opt_ctr-po_px
dt_eu=geo.pix2pos(dt_px)+(fx,fy)
for i in range(points.shape[0]):
points[i,:]=dt_eu+geo.pix2pos(points[i,:])#*tr
method="grid"
params=None #grid._grid_dimensions
# params = ([grid._grid_dimensions[0]], [grid._grid_dimensions[1]]) # FIXME something wrong here<