Remove silly tex/ directory.
[thesis.git] / src / figures / fit-space / extract_fit_valley.py
1 #!/usr/bin/python
2
3 import sys
4
5 current_k = None
6 best_x = None
7 best_residual = None
8
9 data_filename = sys.argv[1]
10
11 data = {}
12 header = None
13 for line in file(data_filename, 'r'):
14     if len(line.strip()) == 0:
15         continue
16     if line.startswith('#'):
17         if header == None:
18             header = line.strip()
19             continue
20     k,x,residual = [float(z) for z in line.split()]
21     data[(k,x)] = residual
22
23 ks = sorted(set([k for k,x in data.keys()]))
24 max_k = max(ks)
25 min_k = min(ks)
26 xs = sorted(set([x for k,x in data.keys()]))
27 max_x = max(xs)
28 min_x = min(xs)
29 border_xs = xs[:3] + xs[-3:]
30
31 print header
32 for k in ks:
33     best_x = xs[0]
34     best_residual = data[(k,x)]
35     for x in xs[1:]:
36         residual = data[(k,x)]
37         if residual < best_residual:
38             best_x = x
39             best_residual = residual
40     if best_x in border_xs:
41         continue # don't print minimums up against the data boundaries
42     print '\t'.join([str(z) for z in [k,best_x,best_residual]])