Cat
ADCMeasurement.py
Go to the documentation of this file.
1 import wx
2 from proc import *
3 from plotter import *
4 from libCatKernel import *
5 import matplotlib as mpl
6 import matplotlib.patches as patches
7 from matplotlib.path import Path
8 import matplotlib.pyplot as plt
9 import numpy as np
10 
12  def __init__(self, cat, obj, panel, path):
13  proc.__init__(self,cat,obj,panel,path)
14  self.loadxrc()
15  self.s1=self.getControl("s1")
16  self.s2=self.getControl("s2")
17  self.s3=self.getControl("s3")
18  self.s4=self.getControl("s4")
19  self.update()
20  self.panel.Bind(wx.EVT_BUTTON, self.onApply, id=xrc.XRCID("Apply"))
21 
22  def onApply(self, event):
23  v1 = float(self.s1.GetValue())
24  v2 = float(self.s2.GetValue())
25  v3 = float(self.s3.GetValue())
26  v4 = float(self.s4.GetValue())
27  self.obj.setSigma(v1,v2,v3,v4)
28 
29  def update(self):
30  v1=self.obj.sigma(0)
31  v2=self.obj.sigma(1)
32  v3=self.obj.sigma(2)
33  v4=self.obj.sigma(3)
34 
35  self.s1.SetValue(str(v1))
36  self.s2.SetValue(str(v2))
37  self.s3.SetValue(str(v3))
38  self.s4.SetValue(str(v4))
39 
40 #----------------------------------------------------------------------
41 
42 def Edit (cat, obj, panel, path):
43  return ADCMeasurement(cat, obj, panel, path)
44 
45 #----------------------------------------------------------------------
46 
47 def createPlot(cat, obj, run):
48  fig = plt.figure(figsize=(10,10))
49  fig.suptitle("Run "+str(run), fontsize=14, fontweight='bold')
50  print "create plot", obj
51 
52  ax = fig.add_subplot(2,2,1)
53  plt.ylabel("voltage (V)")
54  ax.set_autoscaley_on(False)
55  ax.grid()
56 
57  ax = fig.add_subplot(2,2,3)
58  plt.ylabel("Ramp Setting")
59  plt.xlabel("time (s)")
60 # ax.set_autoscaley_on(False)
61  ax.grid()
62 
63  ax = fig.add_subplot(2,2,2)
64  plt.ylabel("Ramp Measurement")
65 # ax.set_autoscaley_on(False)
66  ax.grid()
67 
68  ax = fig.add_subplot(2,2,4)
69  plt.ylabel("Ramp Ratio")
70  plt.xlabel("time (s)")
71  # ax.set_autoscaley_on(False)
72  ax.grid()
73 
74  fig.show()
75  return fig
76 
77 def updatePlot(fig, obj):
78  ax = fig.add_subplot(2, 2, 1)
79  l = ax.plot([], [], 'co-', [], [], 'g^-')
80  l[0].set_xdata(obj.data(0))
81  l[0].set_ydata(obj.data(1))
82  l[1].set_xdata(obj.data(0))
83  l[1].set_ydata(obj.data(2))
84  ax.relim()
85  ax.autoscale_view()
86  ax.set_ylim(0.,0.2)
87 
88  ax = fig.add_subplot(2, 2, 3)
89  l, = ax.plot([], [], 'co-' )
90  l.set_xdata(obj.data(0))
91  l.set_ydata(obj.data(3))
92  ax.relim()
93  ax.autoscale_view()
94 
95  ax = fig.add_subplot(2, 2, 2)
96  l = ax.plot([], [], 'ro-', [], [], 'b^-')
97  l[0].set_xdata(obj.data(0))
98  l[0].set_ydata(obj.data(4))
99  l[1].set_xdata(obj.data(0))
100  l[1].set_ydata(obj.data(5))
101  ax.relim()
102  ax.autoscale_view()
103 # ax.set_ylim(2000.,4096)
104 
105  ax = fig.add_subplot(2, 2, 4)
106  l = ax.plot([], [], 'ro-', [], [], 'b^-')
107  l[0].set_xdata(obj.data(0))
108  l[0].set_ydata(obj.data(6))
109  l[1].set_xdata(obj.data(0))
110  l[1].set_ydata(obj.data(7))
111  ax.relim()
112  ax.autoscale_view()
113 # ax.set_ylim(0.,0.001)
114 
115  fig.canvas.draw()
116 # fig.canvas.flush_events()
117 
118 #----------------------------------------------------------------------
def updatePlot(fig, obj)
def __init__(self, cat, obj, panel, path)
def createPlot(cat, obj, run)
def Edit(cat, obj, panel, path)
Definition: proc.py:1