Mercurial > ~darius > hgwebdir.cgi > pyinst
annotate find.py @ 38:7d76b1d70096
Add file to generate stats on data files.
author | Daniel O'Connor <darius@dons.net.au> |
---|---|
date | Wed, 28 Sep 2011 12:30:20 +0930 |
parents | |
children | df1b4d7e988f |
rev | line source |
---|---|
38
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
1 #!/usr/bin/env python |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
2 |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
3 import datafile |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
4 import getopt |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
5 import numpy |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
6 import sys |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
7 |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
8 if __name__ == "__main__": |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
9 opts, args = getopt.getopt(sys.argv[1:], "e:hm:s") |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
10 |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
11 minlev = None |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
12 exptag = None |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
13 dostats = False |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
14 for o, a in opts: |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
15 if o == "-h": |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
16 print """Find data files with certain characteristics |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
17 |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
18 %s [-h] [-e exp] [-m min] [-s] file [file ..] |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
19 exp Limit to experiment tag exp |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
20 min Find files with power greater than min |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
21 -s Print stats about files |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
22 """ |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
23 elif o == "-e": |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
24 exptag = a |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
25 elif o == "-m": |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
26 minlev = float(a) |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
27 elif o == "-s": |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
28 dostats = True |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
29 else: |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
30 print "Unknown option " + o |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
31 sys.exit(1) |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
32 |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
33 if len(args) == 0: |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
34 print "Need at least one file to analyse" |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
35 sys.exit(1) |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
36 |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
37 minfiles = [] |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
38 if dostats: |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
39 print "%-50s %7s %7s %7s (dBm)" % ("Name", "Min", "Mean", "Max") |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
40 for fn in args: |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
41 dfile = datafile.DataFile(fn) |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
42 |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
43 if exptag != None and dfile['TAG'] != exptag: |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
44 continue |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
45 |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
46 if minlev != None: |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
47 if reduce(lambda x, y: x or y, dfile.powers > minlev): |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
48 minfiles.append(fn) |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
49 |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
50 if dostats: |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
51 print "%-50s %7.2f %7.2f %7.2f" % (fn, dfile.powers.min(), dfile.powers.mean(), dfile.powers.max()) |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
52 |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
53 if minlev != None: |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
54 if dostats: |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
55 print "" |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
56 print "Files with any element exceeding %.2f dBm:" % (minlev) |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
57 for fn in minfiles: |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
58 print fn |
7d76b1d70096
Add file to generate stats on data files.
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
59 |