restructure shapepath data format

This commit is contained in:
2018-11-20 08:29:00 +01:00
parent 0a5ec9b004
commit 882ac3a66e
5 changed files with 124 additions and 106 deletions

View File

@@ -133,8 +133,8 @@ class MAErrorFrame(wx.Frame):
err=doc.err
except AttributeError:
rec=doc.fh['rec']
errx = (rec[:, 1] - rec[:, 4])
erry = (rec[:, 2] - rec[:, 5])
errx = (rec[:, 1] - rec[:, 3])
erry = (rec[:, 0] - rec[:, 2])
errxy = np.sqrt(errx ** 2 + erry ** 2)
doc.err = err = (errx, erry, errxy)
canvas.InitChild(meta,err)
@@ -178,15 +178,15 @@ class MAErrorFrame(wx.Frame):
idx = usrData
err = self.doc.err
hl = canvas.hl
#hl[0].set_data(rec[:len, 4], rec[:len, 5])
#hl[3].set_data(rec[:len, 1], rec[:len, 2])
#hl[0].set_data(rec[:len, 3], rec[:len, 2])
#hl[3].set_data(rec[:len, 1], rec[:len, 0])
# ax.draw_artist(hl[2])
x = ax.get_xlim();
x = (x[1] - x[0]) / 2;
#y = ax.get_ylim();
#y = (y[1] - y[0]) / 2;
ax.set_xlim(idx-x, idx + x,emit=True)
#ax.set_ylim(rec[len, 2] - y, rec[len, 2] + y)
#ax.set_ylim(rec[len, 0] - y, rec[len, 0] + y)
canvas.draw()
@staticmethod

View File

@@ -148,10 +148,10 @@ class MAVelocityFrame(wx.Frame):
#datapoint timebase: 2 ms () per data point
#velocity: um/ms (deltatau desVel= motor units per serco cycle)
rec=doc.fh['rec']
velyAct = np.diff(rec[:, 0])/tb
velxAct = np.diff(rec[:, 1])/tb
velxDes = np.diff(rec[:, 4])/tb
velyAct = np.diff(rec[:, 2])/tb
velyDes = np.diff(rec[:, 5])/tb
velyDes = np.diff(rec[:, 2])/tb
velxDes = np.diff(rec[:, 3])/tb
velAct = np.sqrt(velxAct**2+velyAct**2)
velDes = np.sqrt(velxDes**2+velyDes**2)
doc.vel = vel = (velxAct,velxDes,velyAct,velyDes,velAct,velDes)

View File

@@ -55,13 +55,13 @@ class MPLCanvasImg(FigureCanvas):
#idx 0 1 2 3 4 5
#idx=np.ndarray(shape=len(pts),dtype=np.int32)
#for i in range(len(pts)):
# l=rec[:,4:6]-pts[i,:]
# l=rec[:,(3,2)]-pts[i,:]
# l2=l[:,0]**2+l[:,1]**2
# idx[i]=np.argmin(l2)
idx=[]
for i in range(len(pts)):
l=rec[:,4:6]-pts[i,:]
l=rec[:,(3,2)]-pts[i,:]
l2=l[:,0]**2+l[:,1]**2
idx.extend(np.where(l2<1)[0].tolist())
#print idx
@@ -69,9 +69,9 @@ class MPLCanvasImg(FigureCanvas):
#f2 = plt.figure()
#a2 = f2.add_axes([0.075,0.075,0.85,0.85])
#a2.plot(rec[:,1],'r-',label='ptsDot') #,picker=5 default value
#a2.plot(rec[:,2],'g-',label='ptsDot') #,picker=5 default value
#a2.plot(rec[:,4],'r--',label='ptsDot') #,picker=5 default value
#a2.plot(rec[:,5],'g--',label='ptsDot') #,picker=5 default value
#a2.plot(rec[:,0],'g-',label='ptsDot') #,picker=5 default value
#a2.plot(rec[:,3],'r--',label='ptsDot') #,picker=5 default value
#a2.plot(rec[:,2],'g--',label='ptsDot') #,picker=5 default value
#plt.show()
@@ -84,12 +84,12 @@ class MPLCanvasImg(FigureCanvas):
ax.add_collection(ec)
hl+=ax.plot(rec[:, 4], rec[:, 5], 'b-',label='recDesPos')
hl+=ax.plot(rec[:,1],rec[:,2],'g-',label='recActPos')
hl+=ax.plot(recPts[:,1],recPts[:,2],'g.',label='recDot')
hl+=ax.plot(rec[:, 3], rec[:, 2], 'b-',label='recDesPos')
hl+=ax.plot(rec[:,1],rec[:,0],'g-',label='recActPos')
hl+=ax.plot(recPts[:,1],recPts[:,0],'g.',label='recDot')
ax.xaxis.set_label_text('x-pos um')
ax.yaxis.set_label_text('y-pos um')
ax.axis('equal')
fig.obj=self
self.ax=ax
self.hl=hl
@@ -293,13 +293,13 @@ class MAxyPlotFrame(wx.Frame):
idx=usrData
rec=self.doc.fh['rec']
hl=canvas.hl
hl[2].set_data(rec[:idx+1, 4], rec[:idx+1, 5])
hl[3].set_data(rec[:idx+1, 1], rec[:idx+1, 2])
hl[2].set_data(rec[:idx+1, 3], rec[:idx+1, 2])
hl[3].set_data(rec[:idx+1, 1], rec[:idx+1, 0])
#ax.draw_artist(hl[2])
x=ax.get_xlim();x=(x[1]-x[0])/2;
y=ax.get_ylim();y=(y[1]-y[0])/2;
ax.set_xlim(rec[idx, 1]-x,rec[idx, 1]+x)
ax.set_ylim(rec[idx, 2]-y,rec[idx, 2]+y)
ax.set_ylim(rec[idx, 0]-y,rec[idx, 0]+y)
canvas.draw()
@staticmethod

View File

@@ -24,11 +24,18 @@ class MADoc():
lenRec=fh['rec']
lenPts=fh['pts']
pts= X,Y array
#rec=Motor[1].ActPos,Motor[2].ActPos,Motor[3].ActPos,Motor[1].DesPos,Motor[2].DesPos,Motor[3].DesPos
#res=rot.ActPos,y.ActPos,x.ActPos,rot.DesPos,y.DesPos,x.DesPos
#idx 0 1 2 3 4 5
idx 0 1 2 3 4 5 6
OLD Motor[3].ActPos Motor[2].ActPos Motor[1].ActPos Motor[3].DesPos Motor[2].DesPos Motor[1].DesPos Gate3[1].Chan[1].UserFlag
NEW Motor[1].ActPos Motor[2].ActPos Motor[1].DesPos Motor[2].DesPos Gate3[1].Chan[1].UserFlag
NEW y.ActPos x.ActPos y.DesPos x.DesPos Gate3[1].Chan[1].UserFlag
OLD->NEW
0->none
1->1
2->0
3->none
4->3
5->2
Implemented messages
0: The time slider has changed. usrData=index

File diff suppressed because one or more lines are too long