Package dics :: Module trackviewer
[hide private]
[frames] | no frames]

Source Code for Module dics.trackviewer

 1  #!/usr/bin/env python 
 2   
 3  import datetime 
 4  import re 
 5  import sys 
 6  import matplotlib 
 7  matplotlib.use('GTKAgg')  # or 'GTK' 
 8   
 9  # switch comments for gtk over gtkagg 
10  #from matplotlib.backends.backend_gtk import FigureCanvasGTK as FigureCanvas 
11  from matplotlib.backends.backend_gtkagg import FigureCanvasGTKAgg as FigureCanvas 
12   
13  # or NavigationToolbar for classic 
14  from matplotlib.backends.backend_gtk import NavigationToolbar2GTK as NavigationToolbar 
15   
16  from matplotlib.axes import Subplot 
17  from matplotlib.figure import Figure 
18   
19  import gtk 
20   
21  win = gtk.Window() 
22  win.set_default_size(400,300) 
23  win.set_title("dictrack.log") 
24  win.connect("destroy", lambda x: gtk.main_quit()) 
25   
26  vbox = gtk.VBox() 
27  win.add(vbox) 
28   
29  fig = Figure(figsize=(5,4), dpi=100) 
30  ax = fig.add_subplot(111) 
31   
32  times = [] 
33  azs = [] 
34  zds = [] 
35  pas = [] 
36  has = [] 
37  decs = [] 
38  ras = [] 
39  positions = [] 
40  errors = [] 
41   
42  f = file(sys.argv[1], 'r') 
43  lines = f.readlines() 
44   
45  pattern = re.compile(\ 
46      r'(\d{4})\D(\d{2})\D(\d{2})\D(\d{2})\D(\d{2})\D(\d{2})\D?(\d*)') 
47   
48  for line in lines: 
49      try: 
50          parts = line.split() 
51          parts[1:] = [float(part) for part in parts[1:]] 
52          errors.append(parts[8]) 
53          positions.append(parts[7]) 
54          ras.append(parts[6]) 
55          decs.append(parts[5]) 
56          has.append(parts[4]) 
57          pas.append(parts[3]) 
58          zds.append(parts[2]) 
59          azs.append(parts[1]) 
60          times.append(datetime.datetime(\ 
61              *[int(bit) for bit in pattern.match(parts[0]).groups()])) 
62      except IndexError: 
63          pass 
64   
65  print len(times) 
66  print len(positions) 
67   
68  upper = [1.1e-2, 1.1e-2] 
69  lower = [-1.1e-2, -1.1e-2] 
70  range = [times[0], times[-1]]  
71   
72  #ax.plot_date(matplotlib.dates.date2num(times), azs, 'b-', label='az') 
73  ax.plot_date(matplotlib.dates.date2num(times), zds, 'b-', label='zd') 
74  #ax.plot_date(matplotlib.dates.date2num(times), pas, 'r-', label='pa') 
75  ax.plot_date(matplotlib.dates.date2num(times), has, 'g-', label='ha') 
76  #ax.plot_date(matplotlib.dates.date2num(times), decs, 'm-', label='dec') 
77  #ax.plot_date(matplotlib.dates.date2num(times), ras, 'b-', label='ra') 
78  ax.plot_date(matplotlib.dates.date2num(times), positions, 'c-', label='pos') 
79  ax.plot_date(matplotlib.dates.date2num(times), errors, 'm-', label='err') 
80  ax.plot_date(matplotlib.dates.date2num(range), upper, 'r--') 
81  ax.plot_date(matplotlib.dates.date2num(range), lower, 'r--') 
82   
83  ax.legend() 
84   
85  canvas = FigureCanvas(fig)  # a gtk.DrawingArea 
86  vbox.pack_start(canvas) 
87   
88  toolbar = NavigationToolbar(canvas, win) 
89  vbox.pack_start(toolbar, False, False) 
90   
91  win.show_all() 
92  gtk.main() 
93