spo2.ipynb 359 KB
Newer Older
1
2
{
 "cells": [
3
4
5
6
7
8
9
10
11
12
13
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This notebook tries to recreate the SpO2 algorithm from https://github.com/XDjackieXD/TomoStrap/blob/master/microcontroller/source/max_spo2.c using data collected with a card10 badge\n",
    "\n",
    "It tries to plot as many graphs as possible.\n",
    "\n",
    "While the original algorithm works on a stream of samples, this notebook performs all operations on the whole dataset to make them easier to understand."
   ]
  },
14
15
16
17
18
19
20
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
21
22
23
24
    "import matplotlib.pyplot as plt\n",
    "import numpy\n",
    "import pandas\n",
    "import math"
25
26
27
28
29
30
31
32
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
33
    "# The dataset collected with the card10 badge contains red and infrared data at 200 samples per second\n",
schneider's avatar
schneider committed
34
35
    "lines = open('spo2-data-96-97').readlines()\n",
    "#lines = open('spo2-data-88').readlines()"
36
37
38
39
40
41
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
   "outputs": [],
   "source": [
    "# A negative sign to the signals look more like shown in https://www.maximintegrated.com/en/design/technical-documents/app-notes/7/7082.html\n",
    "data = [(-int(x[0]), -int(x[1])) for x in [y.strip().split(',') for y in lines]]\n",
    "data_red_with_dc = numpy.array([x[0] for x in data])\n",
    "data_ir_with_dc = numpy.array([x[1] for x in data])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# The code for the TomoStrap expects 100 samples per second. We decimate by two here.\n",
    "# We continue to use the decimation factor during plots to always plot the same region,\n",
    "# even when decimation changes.\n",
    "decimation = 2\n",
    "data_red_with_dc = data_red_with_dc[::decimation]\n",
    "data_ir_with_dc = data_ir_with_dc[::decimation]"
   ]
  },
  {
   "cell_type": "code",
schneider's avatar
schneider committed
66
   "execution_count": 5,
67
   "metadata": {},
68
69
70
71
   "outputs": [
    {
     "data": {
      "text/plain": [
schneider's avatar
schneider committed
72
       "[<matplotlib.lines.Line2D at 0x7fdc109af438>]"
73
74
      ]
     },
schneider's avatar
schneider committed
75
     "execution_count": 5,
76
77
78
79
80
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
81
      "image/png": "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\n",
82
      "text/plain": [
schneider's avatar
schneider committed
83
       "<matplotlib.figure.Figure at 0x7fdc109af4e0>"
84
85
86
87
88
89
90
91
92
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
    "# Let's plot the data to get a feel for it.\n",
    "# Luckily both red and infrared are close to each other in terms of DC offset.\n",
    "plt.plot(data_red_with_dc, color='red')\n",
    "plt.plot(data_ir_with_dc, color='darkred')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## DC offset removal"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Goal is to remove the large (around -234000) DC offset from the signals and flatten them as much as possible.\n",
    "The algorithm has to converge fairly quick to account for the finger changing position / pressure."
112
113
114
115
   ]
  },
  {
   "cell_type": "code",
116
   "execution_count": 6,
117
118
119
   "metadata": {},
   "outputs": [],
   "source": [
schneider's avatar
schneider committed
120
121
    "def spo2_dcRemoval(data):\n",
    "    prev_w = 0\n",
122
123
124
    "    filtered = []\n",
    "\n",
    "    for sample in data:\n",
schneider's avatar
schneider committed
125
126
127
    "        w = sample + prev_w * 0.95\n",
    "        filtered.append(w - prev_w)\n",
    "        prev_w = w\n",
128
    "\n",
schneider's avatar
schneider committed
129
    "    return numpy.array(filtered)\n"
130
131
132
133
   ]
  },
  {
   "cell_type": "code",
134
   "execution_count": 7,
135
   "metadata": {},
schneider's avatar
schneider committed
136
   "outputs": [],
137
   "source": [
schneider's avatar
schneider committed
138
139
    "data_red = spo2_dcRemoval(data_red_with_dc)\n",
    "data_ir = spo2_dcRemoval(data_ir_with_dc)"
140
141
142
143
   ]
  },
  {
   "cell_type": "code",
144
   "execution_count": 8,
145
146
147
148
149
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
schneider's avatar
schneider committed
150
       "[<matplotlib.lines.Line2D at 0x7fdc1065a5c0>]"
151
152
      ]
     },
153
     "execution_count": 8,
154
155
156
157
158
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
schneider's avatar
schneider committed
159
      "image/png": "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\n",
160
      "text/plain": [
schneider's avatar
schneider committed
161
       "<matplotlib.figure.Figure at 0x7fdc10686cf8>"
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Red and infrared are now without DC offset and directly on top of each other\n",
    "plt.plot(data_red[6000//decimation:7000//decimation], color='red')\n",
    "plt.plot(data_ir[6000//decimation:7000//decimation], color='darkred')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Pulse detection"
   ]
  },
  {
   "cell_type": "code",
schneider's avatar
schneider committed
185
   "execution_count": 10,
186
187
188
189
190
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
schneider's avatar
schneider committed
191
       "[<matplotlib.lines.Line2D at 0x7fdc10584358>]"
192
193
      ]
     },
schneider's avatar
schneider committed
194
     "execution_count": 10,
195
196
197
198
199
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
schneider's avatar
schneider committed
200
      "image/png": "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\n",
201
      "text/plain": [
schneider's avatar
schneider committed
202
       "<matplotlib.figure.Figure at 0x7fdc106a0b38>"
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# spo2_mean extracted from TomoStrap\n",
    "# Calculates a moving average over 15 samples\n",
    "def spo2_mean(ir, MEAN_FILTER_SIZE=15):\n",
    "    ret = numpy.zeros(len(ir))\n",
    "    for i in range(len(ir)):\n",
    "        ret[i] = sum(ir[i-MEAN_FILTER_SIZE:i])/MEAN_FILTER_SIZE\n",
    "    return ret\n",
    "\n",
    "plt.plot(data_ir[6000//decimation:6400//decimation])\n",
    "plt.plot(spo2_mean(data_ir)[6000//decimation:6400//decimation])\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
schneider's avatar
schneider committed
227
   "execution_count": 11,
228
229
230
231
232
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
schneider's avatar
schneider committed
233
       "[<matplotlib.lines.Line2D at 0x7fdc1056f2b0>]"
234
235
      ]
     },
schneider's avatar
schneider committed
236
     "execution_count": 11,
237
238
239
240
241
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
schneider's avatar
schneider committed
242
      "image/png": "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\n",
243
      "text/plain": [
schneider's avatar
schneider committed
244
       "<matplotlib.figure.Figure at 0x7fdc10584898>"
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# meanDiffResIR is the filters signal from above minus the unfiltered signal.\n",
    "# I don't know what the exact intention is. It effectively inverts the signal.\n",
    "# Maybe that is an unintended side effect which makes the following beat detection actually work...\n",
    "meanDiffResIR = spo2_mean(data_ir) - data_ir\n",
    "plt.plot(data_ir[6000//decimation:6400//decimation])\n",
    "plt.plot(meanDiffResIR[6000//decimation:6400//decimation])"
   ]
  },
  {
   "cell_type": "code",
schneider's avatar
schneider committed
264
   "execution_count": 12,
265
266
267
268
269
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
schneider's avatar
schneider committed
270
       "[<matplotlib.lines.Line2D at 0x7fdc104dcd30>]"
271
272
      ]
     },
schneider's avatar
schneider committed
273
     "execution_count": 12,
274
275
276
277
278
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
schneider's avatar
schneider committed
279
      "image/png": "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\n",
280
      "text/plain": [
schneider's avatar
schneider committed
281
       "<matplotlib.figure.Figure at 0x7fdc10513cc0>"
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# meanDiffResIR gets filtered once more (apparently using a Butterworth low-pass) removing a lot of noise\n",
    "def spo2_lowPassButterworthFilter(meanDiffIR):\n",
    "    v0 = 0\n",
    "    v1 = 0\n",
    "    ret = numpy.zeros(len(meanDiffIR))\n",
    "    for i in range(len(meanDiffIR)):\n",
    "        v0 = v1\n",
    "        v1 = 2.452372752527856026e-1 * meanDiffIR[i] + 0.50952544949442879485 * v0\n",
    "        ret[i] = v0 + v1\n",
    "    return ret\n",
    "plt.plot(meanDiffResIR[6000//decimation:6400//decimation])\n",
    "lpbFilterIR = spo2_lowPassButterworthFilter(meanDiffResIR)\n",
    "plt.plot(lpbFilterIR[6000//decimation:6400//decimation])"
   ]
  },
  {
   "cell_type": "code",
schneider's avatar
schneider committed
308
   "execution_count": 13,
309
310
311
312
   "metadata": {},
   "outputs": [
    {
     "data": {
schneider's avatar
schneider committed
313
      "image/png": "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\n",
314
      "text/plain": [
schneider's avatar
schneider committed
315
       "<matplotlib.figure.Figure at 0x7fdc104924e0>"
316
317
318
319
320
321
322
323
324
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
schneider's avatar
schneider committed
325
      "image/png": "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\n",
326
      "text/plain": [
schneider's avatar
schneider committed
327
       "<matplotlib.figure.Figure at 0x7fdc1047ce80>"
328
329
330
331
332
333
334
335
336
337
338
339
340
341
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Final algorithm to detect individual pulses\n",
    "# We pass -lpbFilterIR as we inverted the whole signal when it was loaded.\n",
    "\n",
    "def spo2_detectPulse(lpbFilterIR):\n",
    "    PULSE_MAX_THRESHOLD = 2000\n",
schneider's avatar
schneider committed
342
    "    PULSE_MIN_THRESHOLD = 200\n",
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
    "    \n",
    "    PULSE_IDLE = 0\n",
    "    PULSE_TRACE_UP = 1\n",
    "    PULSE_TRACE_DOWN = 2\n",
    "    \n",
    "    currentPulseDetectorState = PULSE_IDLE\n",
    "    prev_sensor_value = 0\n",
    "    \n",
    "    ret = numpy.zeros(len(lpbFilterIR))\n",
    "    for i in range(len(lpbFilterIR)):\n",
    "        sensor_value = lpbFilterIR[i]\n",
    "        if sensor_value > PULSE_MAX_THRESHOLD:\n",
    "            currentPulseDetectorState = PULSE_IDLE\n",
    "            continue\n",
    "        if currentPulseDetectorState == PULSE_IDLE:\n",
    "            if sensor_value >= PULSE_MIN_THRESHOLD:\n",
    "                currentPulseDetectorState = PULSE_TRACE_UP\n",
    "        elif currentPulseDetectorState == PULSE_TRACE_UP:\n",
    "            if sensor_value >= prev_sensor_value:\n",
    "                pass\n",
    "            else:\n",
    "                currentPulseDetectorState = PULSE_TRACE_DOWN\n",
    "                ret[i] = 2000\n",
    "        elif currentPulseDetectorState == PULSE_TRACE_DOWN:\n",
    "            if sensor_value < PULSE_MIN_THRESHOLD:\n",
    "                currentPulseDetectorState = PULSE_IDLE\n",
    "        prev_sensor_value = sensor_value;\n",
    "    return ret\n",
    "\n",
    "plt.plot(data_ir[6000//decimation:6400//decimation])\n",
    "pulses = spo2_detectPulse(-lpbFilterIR)\n",
    "plt.plot(pulses[6000//decimation:6400//decimation])\n",
    "plt.show()\n",
    "\n",
schneider's avatar
schneider committed
377
378
    "plt.plot(pulses)\n",
    "plt.show()"
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Periodic mesurement reset"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The original code resets the SpO2 estimation every 4 beats.\n",
    "We keep track of these as a data set which is non zero every 4th beat."
394
395
396
397
   ]
  },
  {
   "cell_type": "code",
schneider's avatar
schneider committed
398
   "execution_count": 14,
399
400
401
402
403
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
schneider's avatar
schneider committed
404
       "[<matplotlib.lines.Line2D at 0x7fdc0e1e2b70>]"
405
406
      ]
     },
schneider's avatar
schneider committed
407
     "execution_count": 14,
408
409
410
411
412
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
schneider's avatar
schneider committed
413
      "image/png": "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\n",
414
      "text/plain": [
schneider's avatar
schneider committed
415
       "<matplotlib.figure.Figure at 0x7fdc10535cf8>"
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def knock_out_pulses(pulses):\n",
    "    n = 0\n",
    "    RESET_SPO2_EVERY_N_PULSES = 4\n",
    "    ret = numpy.zeros(len(pulses))\n",
    "    for i in range(len(pulses)):\n",
    "        if pulses[i]:\n",
    "            n += 1\n",
    "            if n == RESET_SPO2_EVERY_N_PULSES:\n",
    "                n = 0\n",
    "                ret[i] = 1000\n",
    "    return ret\n",
    "\n",
    "                \n",
    "plt.plot(data_ir[6000//decimation:7800//decimation])\n",
    "spo2_resets = knock_out_pulses(pulses)\n",
    "plt.plot(spo2_resets[6000//decimation:7800//decimation])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# SpO2 estimation"
   ]
  },
  {
   "cell_type": "code",
schneider's avatar
schneider committed
452
   "execution_count": 15,
453
454
455
456
457
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
schneider's avatar
schneider committed
458
       "[<matplotlib.lines.Line2D at 0x7fdc0e1474e0>]"
459
460
      ]
     },
schneider's avatar
schneider committed
461
     "execution_count": 15,
462
463
464
465
466
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
schneider's avatar
schneider committed
467
      "image/png": "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\n",
468
      "text/plain": [
schneider's avatar
schneider committed
469
       "<matplotlib.figure.Figure at 0x7fdc1052f048>"
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# First: Square the red and infrared signals\n",
    "data_ir_sq = data_ir * data_ir\n",
    "data_red_sq = data_red * data_red\n",
    "\n",
    "plt.plot(data_ir_sq[6000//decimation:7800//decimation])\n",
    "plt.plot(data_red_sq[6000//decimation:7800//decimation])"
   ]
  },
  {
   "cell_type": "code",
schneider's avatar
schneider committed
489
   "execution_count": 16,
490
491
492
493
494
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
schneider's avatar
schneider committed
495
       "[<matplotlib.lines.Line2D at 0x7fdc0e1310f0>]"
496
497
      ]
     },
schneider's avatar
schneider committed
498
     "execution_count": 16,
499
500
501
502
503
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
schneider's avatar
schneider committed
504
      "image/png": "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\n",
505
      "text/plain": [
schneider's avatar
schneider committed
506
       "<matplotlib.figure.Figure at 0x7fdc0e161198>"
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Second: Accumulate the values, reseting to 0 every 4th beat\n",
    "def accumulate_wit_reset(data, reset):\n",
    "    ret = numpy.zeros(len(data))\n",
    "    sum = 0\n",
    "    for i in range(len(data)):\n",
    "        sum += data[i]\n",
    "        ret[i] = sum\n",
    "        if reset[i]:\n",
    "            sum = 0\n",
    "    return ret\n",
    "\n",
    "irACValueSqSum = accumulate_wit_reset(data_ir_sq, spo2_resets)\n",
    "redACValueSqSum = accumulate_wit_reset(data_red_sq, spo2_resets)\n",
    "\n",
    "plt.plot(irACValueSqSum[6000//decimation:7800//decimation])\n",
    "plt.plot(redACValueSqSum[6000//decimation:7800//decimation])\n",
    "plt.plot(pulses[6000//decimation:7800//decimation]*10000)"
   ]
  },
  {
   "cell_type": "code",
schneider's avatar
schneider committed
537
   "execution_count": 17,
538
539
540
541
542
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
schneider's avatar
schneider committed
543
       "[<matplotlib.lines.Line2D at 0x7fdc0e08b9e8>]"
544
545
      ]
     },
schneider's avatar
schneider committed
546
     "execution_count": 17,
547
548
549
550
551
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
schneider's avatar
schneider committed
552
      "image/png": "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\n",
553
      "text/plain": [
schneider's avatar
schneider committed
554
       "<matplotlib.figure.Figure at 0x7fdc0e182d68>"
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Third: Create a dataset which indicates how many samples have been accumulated so far.\n",
    "# Will later be used to calculate an average\n",
    "samplesRecorded = numpy.zeros(len(spo2_resets))\n",
    "n = 0\n",
    "for i in range(len(spo2_resets)):\n",
    "    n += 1\n",
    "    samplesRecorded[i] = n\n",
    "    if(spo2_resets[i]):\n",
    "        n = 0\n",
    "plt.plot(spo2_resets[6000//decimation:7800//decimation])\n",
    "plt.plot(samplesRecorded[6000//decimation:7800//decimation])\n"
   ]
  },
  {
   "cell_type": "code",
schneider's avatar
schneider committed
579
   "execution_count": 18,
580
581
582
583
584
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
schneider's avatar
schneider committed
585
       "[<matplotlib.lines.Line2D at 0x7fdc10440908>]"
586
587
      ]
     },
schneider's avatar
schneider committed
588
     "execution_count": 18,
589
590
591
592
593
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
schneider's avatar
schneider committed
594
      "image/png": "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\n",
595
      "text/plain": [
schneider's avatar
schneider committed
596
       "<matplotlib.figure.Figure at 0x7fdc0e11c400>"
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Fourth: Calculate the RMS ratio (?) between red and infrared\n",
    "# After each reset, the ratio becomes a bit unstable as very few samples are averaged\n",
    "\n",
    "ratioRMS = numpy.log(numpy.sqrt(redACValueSqSum/samplesRecorded) ) / numpy.log( numpy.sqrt(irACValueSqSum/samplesRecorded) )\n",
    "plt.plot(ratioRMS[6000//decimation:7800//decimation])\n",
    "plt.plot(spo2_resets[6000//decimation:7800//decimation]/1000)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Original comment from TomoStrap:\n",
    "> This is my adjusted standard model, so it shows 0.89 as 94% saturation. It is probably far from correct, requires proper empircal calibration"
   ]
  },
  {
   "cell_type": "code",
schneider's avatar
schneider committed
624
   "execution_count": 19,
625
626
   "metadata": {},
   "outputs": [],
627
628
629
630
631
632
   "source": [
    "currentSaO2Value = 110.0 - 13.6 * ratioRMS"
   ]
  },
  {
   "cell_type": "code",
schneider's avatar
schneider committed
633
   "execution_count": 20,
634
635
636
637
638
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
schneider's avatar
schneider committed
639
       "[<matplotlib.lines.Line2D at 0x7fdc1040ccf8>]"
640
641
      ]
     },
schneider's avatar
schneider committed
642
     "execution_count": 20,
643
644
645
646
647
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
schneider's avatar
schneider committed
648
      "image/png": "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\n",
649
      "text/plain": [
schneider's avatar
schneider committed
650
       "<matplotlib.figure.Figure at 0x7fdc0e21f940>"
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot the values this creates.\n",
    "# Keep in mind that it becomes unstable every fourth beat due to the reset\n",
    "plt.plot(currentSaO2Value[6000//decimation:7800//decimation])\n",
    "plt.plot(pulses[6000//decimation:7800//decimation]/1000 + 96)"
   ]
  },
  {
   "cell_type": "code",
schneider's avatar
schneider committed
668
   "execution_count": 21,
669
670
671
672
673
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
schneider's avatar
schneider committed
674
       "[<matplotlib.lines.Line2D at 0x7fdc0e0503c8>]"
675
676
      ]
     },
schneider's avatar
schneider committed
677
     "execution_count": 21,
678
679
680
681
682
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
schneider's avatar
schneider committed
683
      "image/png": "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\n",
684
      "text/plain": [
schneider's avatar
schneider committed
685
       "<matplotlib.figure.Figure at 0x7fdc1044b7b8>"
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot only the values where a pulse was detected\n",
    "plt.plot(currentSaO2Value[pulses > 0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Conclusion\n",
    "\n",
    "The majority of this code tries to detect the pulse. This information is used to periodically reset the algorithm and define the sample points.\n",
    "\n",
    "The actual SpO2 estimation is quite simple. Accumulate the signals, average them, put the result in relation and apply some magic scaling.\n",
    "\n",
    "Looks like the magic lies within this scaling. More reading to do...\n",
    "\n",
schneider's avatar
schneider committed
711
    "The commercial meter showed values between 96% and 97%. This implementation shows 98%. To be tested at lower values."
712
   ]
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}