4413 |
kaklik |
1 |
{ |
|
|
2 |
"metadata": { |
|
|
3 |
"name": "", |
4446 |
kaklik |
4 |
"signature": "sha256:9453f2d297004717b7b0ab5bb80d8d05d3ff319f7e609fa9565e753aa36cef87" |
4413 |
kaklik |
5 |
}, |
|
|
6 |
"nbformat": 3, |
|
|
7 |
"nbformat_minor": 0, |
|
|
8 |
"worksheets": [ |
|
|
9 |
{ |
|
|
10 |
"cells": [ |
|
|
11 |
{ |
|
|
12 |
"cell_type": "code", |
|
|
13 |
"collapsed": false, |
|
|
14 |
"input": [ |
|
|
15 |
"import h5py\n", |
|
|
16 |
"import numpy as np\n", |
|
|
17 |
"import matplotlib.pyplot as plt" |
|
|
18 |
], |
|
|
19 |
"language": "python", |
|
|
20 |
"metadata": {}, |
|
|
21 |
"outputs": [], |
4423 |
kaklik |
22 |
"prompt_number": 1 |
4413 |
kaklik |
23 |
}, |
|
|
24 |
{ |
|
|
25 |
"cell_type": "code", |
|
|
26 |
"collapsed": false, |
|
|
27 |
"input": [ |
|
|
28 |
"file = h5py.File('test_rps.hdf5', 'r') # 'r' means that hdf5 file is open in read-only mode\n", |
|
|
29 |
"dataset = file['RPS01']" |
|
|
30 |
], |
|
|
31 |
"language": "python", |
|
|
32 |
"metadata": {}, |
|
|
33 |
"outputs": [], |
4423 |
kaklik |
34 |
"prompt_number": 2 |
4413 |
kaklik |
35 |
}, |
|
|
36 |
{ |
|
|
37 |
"cell_type": "code", |
|
|
38 |
"collapsed": false, |
|
|
39 |
"input": [ |
4417 |
kaklik |
40 |
"print dataset.value[4,2]" |
4413 |
kaklik |
41 |
], |
|
|
42 |
"language": "python", |
|
|
43 |
"metadata": {}, |
|
|
44 |
"outputs": [ |
|
|
45 |
{ |
|
|
46 |
"output_type": "stream", |
|
|
47 |
"stream": "stdout", |
|
|
48 |
"text": [ |
4417 |
kaklik |
49 |
"36.7822\n" |
4413 |
kaklik |
50 |
] |
|
|
51 |
} |
|
|
52 |
], |
4423 |
kaklik |
53 |
"prompt_number": 3 |
4413 |
kaklik |
54 |
}, |
|
|
55 |
{ |
|
|
56 |
"cell_type": "code", |
|
|
57 |
"collapsed": false, |
|
|
58 |
"input": [ |
4417 |
kaklik |
59 |
"plt.plot( dataset.value[:,0], dataset.value[:,2], color = 'r')\n", |
|
|
60 |
"#plt.xlim([1.45415117E9,1.4541513E9])\n", |
|
|
61 |
"plt.show()" |
4413 |
kaklik |
62 |
], |
|
|
63 |
"language": "python", |
|
|
64 |
"metadata": {}, |
4417 |
kaklik |
65 |
"outputs": [], |
4423 |
kaklik |
66 |
"prompt_number": 4 |
4417 |
kaklik |
67 |
}, |
|
|
68 |
{ |
|
|
69 |
"cell_type": "code", |
|
|
70 |
"collapsed": false, |
|
|
71 |
"input": [ |
|
|
72 |
"prev_val= dataset.value[0,2]\n", |
|
|
73 |
"n = 0\n", |
4422 |
kaklik |
74 |
"angle = np.zeros((dataset.shape[0]))\n", |
4417 |
kaklik |
75 |
"for i in range(dataset.value.shape[0]):\n", |
4423 |
kaklik |
76 |
" if (dataset.value[i,2] - prev_val) > 300:\n", |
4422 |
kaklik |
77 |
" n -= 1\n", |
4417 |
kaklik |
78 |
" angle[i] = dataset.value[i,2] + n*360\n", |
4422 |
kaklik |
79 |
" prev_val = dataset.value[i,2]\n", |
4423 |
kaklik |
80 |
" elif -(dataset.value[i,2] - prev_val) > 300: # compute angular speed in backward direction.\n", |
|
|
81 |
" n += 1\n", |
|
|
82 |
" angle[i] = dataset.value[i,2] - n*360\n", |
|
|
83 |
" prev_val = dataset.value[i,2]\n", |
4422 |
kaklik |
84 |
" else:\n", |
|
|
85 |
" angle[i] = dataset.value[i,2] + n*360\n", |
4423 |
kaklik |
86 |
" prev_val = dataset.value[i,2]\n", |
|
|
87 |
" " |
4417 |
kaklik |
88 |
], |
|
|
89 |
"language": "python", |
|
|
90 |
"metadata": {}, |
|
|
91 |
"outputs": [], |
4446 |
kaklik |
92 |
"prompt_number": 6 |
4417 |
kaklik |
93 |
}, |
|
|
94 |
{ |
4423 |
kaklik |
95 |
"cell_type": "markdown", |
|
|
96 |
"metadata": {}, |
|
|
97 |
"source": [ |
|
|
98 |
"Five point difference numerical calculation. Source: http://mathfun528.blogspot.cz/2011/07/numerical-differentiation.html" |
|
|
99 |
] |
|
|
100 |
}, |
|
|
101 |
{ |
4417 |
kaklik |
102 |
"cell_type": "code", |
|
|
103 |
"collapsed": false, |
|
|
104 |
"input": [ |
4423 |
kaklik |
105 |
"angle_speed = np.zeros_like(angle)\n", |
|
|
106 |
"\n", |
|
|
107 |
"for i in range(2,angle.shape[0]-2):\n", |
|
|
108 |
" angle_speed[i] = (-angle[i + 2] + 8*angle[i + 1] - 8*angle[i - 1] + angle[i - 2])/12" |
|
|
109 |
], |
|
|
110 |
"language": "python", |
|
|
111 |
"metadata": {}, |
|
|
112 |
"outputs": [], |
4446 |
kaklik |
113 |
"prompt_number": 7 |
4423 |
kaklik |
114 |
}, |
|
|
115 |
{ |
|
|
116 |
"cell_type": "code", |
|
|
117 |
"collapsed": false, |
|
|
118 |
"input": [ |
4422 |
kaklik |
119 |
"fig, ax1 = plt.subplots()\n", |
|
|
120 |
"\n", |
4423 |
kaklik |
121 |
"ax2 = ax1.twinx()\n", |
|
|
122 |
"ax1.set_xlabel('Sample #')\n", |
|
|
123 |
"ax1.set_ylabel('Angle')\n", |
|
|
124 |
"ax2.set_ylabel('Angular speed')\n", |
4422 |
kaklik |
125 |
"\n", |
4423 |
kaklik |
126 |
"ax1.plot(dataset.value[:,0], angle,'b',dataset.value[:,0], dataset.value[:,2],'r')\n", |
|
|
127 |
"ax2.plot(dataset.value[:,0], angle_speed,'g')\n", |
4422 |
kaklik |
128 |
"\n", |
|
|
129 |
"plt.show()" |
4417 |
kaklik |
130 |
], |
|
|
131 |
"language": "python", |
|
|
132 |
"metadata": {}, |
4423 |
kaklik |
133 |
"outputs": [], |
4446 |
kaklik |
134 |
"prompt_number": 8 |
4422 |
kaklik |
135 |
}, |
|
|
136 |
{ |
|
|
137 |
"cell_type": "code", |
|
|
138 |
"collapsed": false, |
4446 |
kaklik |
139 |
"input": [ |
|
|
140 |
"print angle" |
|
|
141 |
], |
4422 |
kaklik |
142 |
"language": "python", |
|
|
143 |
"metadata": {}, |
4446 |
kaklik |
144 |
"outputs": [ |
|
|
145 |
{ |
|
|
146 |
"output_type": "stream", |
|
|
147 |
"stream": "stdout", |
|
|
148 |
"text": [ |
|
|
149 |
"[ 3.64746094e+01 3.65405273e+01 3.77929688e+01 ..., -1.31529551e+05\n", |
|
|
150 |
" -1.31530452e+05 -1.31528452e+05]\n" |
|
|
151 |
] |
|
|
152 |
} |
|
|
153 |
], |
|
|
154 |
"prompt_number": 10 |
4413 |
kaklik |
155 |
}, |
|
|
156 |
{ |
|
|
157 |
"cell_type": "code", |
|
|
158 |
"collapsed": false, |
4423 |
kaklik |
159 |
"input": [], |
4422 |
kaklik |
160 |
"language": "python", |
|
|
161 |
"metadata": {}, |
4423 |
kaklik |
162 |
"outputs": [], |
4446 |
kaklik |
163 |
"prompt_number": 4 |
4422 |
kaklik |
164 |
}, |
|
|
165 |
{ |
4446 |
kaklik |
166 |
"cell_type": "markdown", |
4422 |
kaklik |
167 |
"metadata": {}, |
4446 |
kaklik |
168 |
"source": [] |
4422 |
kaklik |
169 |
}, |
|
|
170 |
{ |
|
|
171 |
"cell_type": "code", |
|
|
172 |
"collapsed": false, |
4423 |
kaklik |
173 |
"input": [], |
4422 |
kaklik |
174 |
"language": "python", |
|
|
175 |
"metadata": {}, |
4423 |
kaklik |
176 |
"outputs": [], |
|
|
177 |
"prompt_number": 45 |
4422 |
kaklik |
178 |
}, |
|
|
179 |
{ |
|
|
180 |
"cell_type": "code", |
|
|
181 |
"collapsed": false, |
4413 |
kaklik |
182 |
"input": [], |
|
|
183 |
"language": "python", |
|
|
184 |
"metadata": {}, |
4423 |
kaklik |
185 |
"outputs": [], |
|
|
186 |
"prompt_number": 45 |
|
|
187 |
}, |
|
|
188 |
{ |
|
|
189 |
"cell_type": "code", |
|
|
190 |
"collapsed": false, |
|
|
191 |
"input": [], |
|
|
192 |
"language": "python", |
|
|
193 |
"metadata": {}, |
4413 |
kaklik |
194 |
"outputs": [] |
|
|
195 |
} |
|
|
196 |
], |
|
|
197 |
"metadata": {} |
|
|
198 |
} |
|
|
199 |
] |
|
|
200 |
} |