Commit e6ad2cb77d589ebfa70f48068d66a42f4aa858f2

Authored by bmarechal
1 parent d8cd5af60b
Exists in master

-

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

#!/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