Commit 9706dd154119fcb622b0106875d83cc4c38ba23d

Authored by mer0m
Committed by GitHub
1 parent 7ba967f278
Exists in master

Add files via upload

Showing 1 changed file with 95 additions and 0 deletions Inline Diff

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