-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patheodreader.py
More file actions
79 lines (68 loc) · 1.63 KB
/
eodreader.py
File metadata and controls
79 lines (68 loc) · 1.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#!/usr/bin/env python
import array
import struct
import sys
import pylab
import matplotlib.pyplot as plt
inputfile = sys.argv[1]
k=0
versions=[]
nchars=[]
wavetexts=[]
nbitss=[]
nbytess=[]
polarities=[]
userdatas=[]
samprates=[]
adranges=[]
nptss=[]
waves=[]
with open(inputfile, 'rb') as data:
while True:
try:
version, nchar = struct.unpack('<ch', data.read(3))
wavetext=data.read(nchar)
nbits,nbytes,polarity=struct.unpack('<ccc', data.read(3))
userdata=struct.unpack('<6f',data.read(24))
samprate=struct.unpack('<L',data.read(4))[0]
adrange=struct.unpack('<f',data.read(4))[0]
npts=struct.unpack('<l',data.read(4))[0]
mynpts="<"+str(npts)+"h"
wave=struct.unpack(mynpts,data.read(2*npts))
versions.append(version)
nchars.append(nchar)
wavetexts.append(wavetext)
nbitss.append(nbits)
nbytess.append(nbytes)
polarities.append(polarity)
userdatas.append(userdata)
samprates.append(samprate)
adranges.append(adrange)
nptss.append(npts)
waves.append(wave)
# print "version=",version,"\n"
# print "nchar=",nchar,"\n"
# print wavetext,"\n"
# print "nbits=",nbits,"\n"
# print "nbytes=",nbytes,"\n"
# print "userdata=",userdata,"\n"
# print "samprate=",samprate,"\n"
# print "adrange=", adrange, "\n"
# print "npts=", npts, "\n"
# print "wave=",wave,"\n"
k=k+1
except :
break
print "EOF Reached."
# print nchars
# print k
for i in range(0,k):
fig = plt.figure()
ax=fig.add_subplot(111)
x_points=xrange(0,nptss[i])
y_points=waves[i]
p=ax.plot(x_points,y_points,'b')
ax.set_xlabel('time')
ax.set_ylabel('voltage')
ax.set_title(wavetexts[i])
fig.show()