Commit e6ad2cb77d589ebfa70f48068d66a42f4aa858f2
1 parent
d8cd5af60b
Exists in
master
-
Showing 1 changed file with 1 additions and 1 deletions Inline Diff
allanplot.py
#!/usr/bin/env python | 1 | 1 | #!/usr/bin/env python | |
2 | 2 | |||
import argparse, allantools, numpy, csv, glob, Gnuplot | 3 | 3 | import argparse, allantools, numpy, csv, glob, Gnuplot | |
4 | 4 | |||
#============================================================================== | 5 | 5 | #============================================================================== | |
6 | 6 | |||
# Default filename | 7 | 7 | # Default filename | |
FILENAME = '*.dat' | 8 | 8 | FILENAME = '*.dat' | |
COLUMNS = [2] | 9 | 9 | COLUMNS = [2] | |
RATE = 1 | 10 | 10 | RATE = 1 | |
11 | 11 | |||
#============================================================================== | 12 | 12 | #============================================================================== | |
13 | 13 | |||
def parse(): | 14 | 14 | def parse(): | |
""" | 15 | 15 | """ | |
Specific parsing procedure for Allan Deviation plotting tool. | 16 | 16 | Specific parsing procedure for Allan Deviation plotting tool. | |
:returns: populated namespace (parser) | 17 | 17 | :returns: populated namespace (parser) | |
""" | 18 | 18 | """ | |
parser = argparse.ArgumentParser(description = 'Plot Allan Deviation from timeseries file', | 19 | 19 | parser = argparse.ArgumentParser(description = 'Plot Allan Deviation from timeseries file', | |
epilog = 'Example: \'./allanplot.py -f toto.dat\' compute and plot Allan Deviation form toto.dat values') | 20 | 20 | epilog = 'Example: \'./allanplot.py -f toto.dat\' compute and plot Allan Deviation form toto.dat values') | |
21 | 21 | |||
parser.add_argument('-f', | 22 | 22 | parser.add_argument('-f', | |
action='store', | 23 | 23 | action='store', | |
dest='filename', | 24 | 24 | dest='filename', | |
default=FILENAME, | 25 | 25 | default=FILENAME, | |
help='File(s) to import (default '+FILENAME+')') | 26 | 26 | help='File(s) to import (default '+FILENAME+')') | |
27 | 27 | |||
parser.add_argument('-c', | 28 | 28 | parser.add_argument('-c', | |
nargs = '+', | 29 | 29 | nargs = '+', | |
action='store', | 30 | 30 | action='store', | |
dest='columns', | 31 | 31 | dest='columns', | |
default=COLUMNS, | 32 | 32 | default=COLUMNS, | |
help='Columns to import (default '+str(COLUMNS)+')') | 33 | 33 | help='Columns to import (default '+str(COLUMNS)+')') | |
34 | 34 | |||
parser.add_argument('-r', | 35 | 35 | parser.add_argument('-r', | |
action='store', | 36 | 36 | action='store', | |
dest='rate', | 37 | 37 | dest='rate', | |
default=RATE, | 38 | 38 | default=RATE, | |
help='Time rate in seconds (default '+str(RATE)+')') | 39 | 39 | help='Time rate in seconds (default '+str(RATE)+')') | |
40 | 40 | |||
args = parser.parse_args() | 41 | 41 | args = parser.parse_args() | |
return args | 42 | 42 | return args | |
43 | 43 | |||
#============================================================================== | 44 | 44 | #============================================================================== | |
45 | 45 | |||
def main(): | 46 | 46 | def main(): | |
""" | 47 | 47 | """ | |
Main script | 48 | 48 | Main script | |
""" | 49 | 49 | """ | |
# Parse command line | 50 | 50 | # Parse command line | |
args = parse() | 51 | 51 | args = parse() | |
# filename | 52 | 52 | # filename | |
filename = args.filename | 53 | 53 | filename = args.filename | |
# columns | 54 | 54 | # columns | |
columns = args.columns | 55 | 55 | columns = map(int, args.columns) | |
# rate | 56 | 56 | # rate | |
rate = int(args.rate) | 57 | 57 | rate = int(args.rate) | |
58 | 58 | |||
try: | 59 | 59 | try: | |
list_files = [] | 60 | 60 | list_files = [] | |
filename = filename.split() | 61 | 61 | filename = filename.split() | |
for name in filename: | 62 | 62 | for name in filename: | |
list_files.extend(sorted(glob.glob(name))) | 63 | 63 | list_files.extend(sorted(glob.glob(name))) | |
64 | 64 | |||
data = [] | 65 | 65 | data = [] | |
66 | 66 | |||
for f in list_files: | 67 | 67 | for f in list_files: | |
with open(f, 'r') as dest_f: | 68 | 68 | with open(f, 'r') as dest_f: | |
data_iter = csv.reader(dest_f, delimiter = '\t', quotechar = '"') | 69 | 69 | data_iter = csv.reader(dest_f, delimiter = '\t', quotechar = '"') | |
temp_data = [value for value in data_iter] | 70 | 70 | temp_data = [value for value in data_iter] | |
data.extend(temp_data) | 71 | 71 | data.extend(temp_data) | |
72 | 72 | |||
data = numpy.asarray(data, dtype = float) | 73 | 73 | data = numpy.asarray(data, dtype = float) | |
74 | 74 | |||
del(temp_data, list_files, value, f) | 75 | 75 | del(temp_data, list_files, value, f) | |
76 | 76 |