Mercurial > ~darius > hgwebdir.cgi > pyinst
view find.py @ 46:a6e5c97b4767
Add noise test
author | Daniel O'Connor <darius@dons.net.au> |
---|---|
date | Thu, 20 Dec 2012 11:48:19 +1030 |
parents | df1b4d7e988f |
children | 91b476ebc0f2 |
line wrap: on
line source
#!/usr/bin/env python import datafile import getopt import numpy import sys if __name__ == "__main__": opts, args = getopt.getopt(sys.argv[1:], "e:hm:s") minlev = None exptag = None dostats = False for o, a in opts: if o == "-h": print """Find data files with certain characteristics %s [-h] [-e exp] [-m min] [-s] file [file ..] exp Limit to experiment tag exp min Find files with power greater than min -s Print stats about files """ elif o == "-e": exptag = a elif o == "-m": minlev = float(a) elif o == "-s": dostats = True else: print "Unknown option " + o sys.exit(1) if len(args) == 0: print "Need at least one file to analyse" sys.exit(1) minfiles = [] if dostats: print "%-50s %7s %7s %7s (dBm)" % ("Name", "Min", "Mean", "Max") for fn in args: dfile = datafile.DataFile(fn) if exptag != None and dfile['TAG'] != exptag: continue if minlev != None: if reduce(lambda x, y: x or y, dfile.powers > minlev): minfiles.append(fn) if dostats: print "%-50s %7.2f %7.2f %7.2f" % (fn, dfile.powers.min(), dfile.powers.mean(), dfile.powers.max()) if minlev != None: if dostats: print "" print "Files with any sample exceeding %.2f dBm:" % (minlev) for fn in minfiles: print fn