Automatic commit. Wed Aug 22 16:00:04 WST 2012
[matches/honours.git] / research / TCS / process.py
1 #!/usr/bin/python -u
2
3 #
4 # @file process.py
5 # @purpose Process TCS data
6 #               Takes S(E) = dI/dE
7 # @author Sam Moore
8 # @date August 2012
9 #
10
11 import sys
12 import os
13 import re # Regular expressions - for removing comments
14 import odict #ordered dictionary
15
16 import Gnuplot, Gnuplot.funcutils
17
18 gnuplot = Gnuplot.Gnuplot()
19
20 def GetData(filename):
21         input_file = open(filename, "r")
22         data = []
23         for line in input_file:
24                 line = re.sub("#.*", "", line).strip("\r\n ")
25                 if len(line) == 0:
26                         continue
27                 data.append(map(lambda e : float(e), line.split("\t")))
28         return data
29
30 def GetTCS(data):
31         result = []
32         n = 0
33         for i in range(2, len(data)-1):
34                 dE = data[i+1][1] - data[i-1][1]
35                 if (dE != 0):
36                         n = 0
37                         dI = 0
38                 
39                 n += 1
40                 dI += data[i+1][2] - data[i-1][2]                       
41                 if (dE != 0):                   
42                         result.append([data[i][1], dI / (n * dE)])
43         return result
44
45
46 def main():
47                 
48         if (len(sys.argv) != 2):
49                 sys.stderr.write(sys.argv[0] + " - Require 1 argument (filename)\n")
50                 return 1
51
52         tcs = GetTCS(GetData(sys.argv[1]))
53         gnuplot.plot(tcs)
54
55         print("Press enter to exit")
56         sys.stdin.readline()
57                 
58         return 0
59
60
61 if __name__ == "__main__":
62         sys.exit(main())

UCC git Repository :: git.ucc.asn.au