|
9 | 9 | },
|
10 | 10 | {
|
11 | 11 | "cell_type": "code",
|
12 |
| - "execution_count": 6, |
| 12 | + "execution_count": 1, |
13 | 13 | "metadata": {
|
14 | 14 | "collapsed": false
|
15 | 15 | },
|
16 |
| - "outputs": [ |
17 |
| - { |
18 |
| - "ename": "ImportError", |
19 |
| - "evalue": "No module named 'pandas'", |
20 |
| - "output_type": "error", |
21 |
| - "traceback": [ |
22 |
| - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", |
23 |
| - "\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)", |
24 |
| - "\u001b[0;32m<ipython-input-6-f69d0cc5fe48>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mwfdb\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", |
25 |
| - "\u001b[0;32m/home/cx1111/Projects/wfdb-python/wfdb/__init__.py\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0;34m.\u001b[0m\u001b[0mrecords\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mRecord\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mMultiRecord\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrdheader\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrdsamp\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msrdsamp\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mwrsamp\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0;34m.\u001b[0m\u001b[0mannotations\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mAnnotation\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrdann\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mwrann\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mshowanncodes\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0;34m.\u001b[0m\u001b[0mplots\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mplotrec\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", |
26 |
| - "\u001b[0;32m/home/cx1111/Projects/wfdb-python/wfdb/annotations.py\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mnumpy\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mpandas\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0msys\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mIPython\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdisplay\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mdisplay\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mre\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", |
27 |
| - "\u001b[0;31mImportError\u001b[0m: No module named 'pandas'" |
28 |
| - ] |
29 |
| - } |
30 |
| - ], |
| 16 | + "outputs": [], |
31 | 17 | "source": [
|
32 | 18 | "import wfdb"
|
33 | 19 | ]
|
34 | 20 | },
|
35 | 21 | {
|
36 | 22 | "cell_type": "code",
|
37 |
| - "execution_count": null, |
| 23 | + "execution_count": 1, |
38 | 24 | "metadata": {
|
39 | 25 | "collapsed": false
|
40 | 26 | },
|
41 |
| - "outputs": [], |
| 27 | + "outputs": [ |
| 28 | + { |
| 29 | + "name": "stdout", |
| 30 | + "output_type": "stream", |
| 31 | + "text": [ |
| 32 | + "filename: 03700181.dat\n", |
| 33 | + "dirname: sampledata\n", |
| 34 | + "pbdir: None\n" |
| 35 | + ] |
| 36 | + }, |
| 37 | + { |
| 38 | + "ename": "UnboundLocalError", |
| 39 | + "evalue": "local variable 'nbytesload' referenced before assignment", |
| 40 | + "output_type": "error", |
| 41 | + "traceback": [ |
| 42 | + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", |
| 43 | + "\u001b[0;31mUnboundLocalError\u001b[0m Traceback (most recent call last)", |
| 44 | + "\u001b[0;32m<ipython-input-1-e525c7926607>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mwfdb\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;31m# Testing rdsamp multiple samples per frame (and fmt 12)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0msig\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfields\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mwfdb\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msrdsamp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'sampledata/03700181'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msig\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;36m20\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"\\n\\n\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msig\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"\\n\\n\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", |
| 45 | + "\u001b[0;32m/home/chen/Projects/wfdb-python/wfdb/records.py\u001b[0m in \u001b[0;36msrdsamp\u001b[0;34m(recordname, sampfrom, sampto, channels, pbdir)\u001b[0m\n\u001b[1;32m 862\u001b[0m \u001b[0msig\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfields\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mwfdb\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msrdsamp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'macecgdb/test01_00s'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msampfrom\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m800\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mchannels\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m3\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 863\u001b[0m \"\"\"\n\u001b[0;32m--> 864\u001b[0;31m \u001b[0mrecord\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mrdsamp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrecordname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msampfrom\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msampto\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mchannels\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpbdir\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 865\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 866\u001b[0m \u001b[0msignals\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mrecord\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mp_signals\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", |
| 46 | + "\u001b[0;32m/home/chen/Projects/wfdb-python/wfdb/records.py\u001b[0m in \u001b[0;36mrdsamp\u001b[0;34m(recordname, sampfrom, sampto, channels, physical, pbdir, m2s)\u001b[0m\n\u001b[1;32m 695\u001b[0m record.d_signals = _signals.rdsegment(record.filename, dirname, pbdir, record.nsig, record.fmt, record.siglen, \n\u001b[1;32m 696\u001b[0m \u001b[0mrecord\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbyteoffset\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrecord\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msampsperframe\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrecord\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mskew\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 697\u001b[0;31m sampfrom, sampto, channels)\n\u001b[0m\u001b[1;32m 698\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 699\u001b[0m \u001b[0;31m# Arrange/edit the object fields to reflect user channel and/or signal range input\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", |
| 47 | + "\u001b[0;32m/home/chen/Projects/wfdb-python/wfdb/_signals.py\u001b[0m in \u001b[0;36mrdsegment\u001b[0;34m(filename, dirname, pbdir, nsig, fmt, siglen, byteoffset, sampsperframe, skew, sampfrom, sampto, channels)\u001b[0m\n\u001b[1;32m 300\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mfn\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mw_filename\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 301\u001b[0m signals[:, out_datchannel[fn]] = rddat(fn, dirname, pbdir, w_fmt[fn], len(datchannel[fn]), \n\u001b[0;32m--> 302\u001b[0;31m siglen, w_byteoffset[fn], w_sampsperframe[fn], w_skew[fn], sampfrom, sampto)[:, r_w_channel[fn]]\n\u001b[0m\u001b[1;32m 303\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 304\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0msignals\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", |
| 48 | + "\u001b[0;32m/home/chen/Projects/wfdb-python/wfdb/_signals.py\u001b[0m in \u001b[0;36mrddat\u001b[0;34m(filename, dirname, pbdir, fmt, nsig, siglen, byteoffset, sampsperframe, skew, sampfrom, sampto)\u001b[0m\n\u001b[1;32m 339\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 340\u001b[0m \u001b[0;31m# Read the dat file into a np array and reshape.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 341\u001b[0;31m \u001b[0msig\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnbytesread\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mprocesswfdbbytes\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilename\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdirname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpbdir\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfmt\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstartbyte\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msampto\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0msampfrom\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnsig\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msampsperframe\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfloorsamp\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 342\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 343\u001b[0m \u001b[0;31m# Shift the samples in the channels with skew if any\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", |
| 49 | + "\u001b[0;32m/home/chen/Projects/wfdb-python/wfdb/_signals.py\u001b[0m in \u001b[0;36mprocesswfdbbytes\u001b[0;34m(filename, dirname, pbdir, fmt, startbyte, siglen, nsig, sampsperframe, floorsamp)\u001b[0m\n\u001b[1;32m 576\u001b[0m \u001b[0mnbytesload\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnsamp\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mbytespersample\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mfmt\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 577\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 578\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0msig\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnbytesload\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 579\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 580\u001b[0m \u001b[0;31m# Read bytes from a dat file, either local or remote\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", |
| 50 | + "\u001b[0;31mUnboundLocalError\u001b[0m: local variable 'nbytesload' referenced before assignment" |
| 51 | + ] |
| 52 | + } |
| 53 | + ], |
42 | 54 | "source": [
|
| 55 | + "import wfdb\n", |
43 | 56 | "# Testing rdsamp multiple samples per frame (and fmt 12)\n",
|
44 | 57 | "sig, fields=wfdb.srdsamp('sampledata/03700181')\n",
|
45 | 58 | "print(sig[:20,:])\n",
|
|
50 | 63 | "print(sig[-20:,:])"
|
51 | 64 | ]
|
52 | 65 | },
|
53 |
| - { |
54 |
| - "cell_type": "code", |
55 |
| - "execution_count": null, |
56 |
| - "metadata": { |
57 |
| - "collapsed": true |
58 |
| - }, |
59 |
| - "outputs": [], |
60 |
| - "source": [] |
61 |
| - }, |
62 | 66 | {
|
63 | 67 | "cell_type": "code",
|
64 | 68 | "execution_count": null,
|
|
542 | 546 | "requests.HTTPError"
|
543 | 547 | ]
|
544 | 548 | },
|
| 549 | + { |
| 550 | + "cell_type": "code", |
| 551 | + "execution_count": 93, |
| 552 | + "metadata": { |
| 553 | + "collapsed": false |
| 554 | + }, |
| 555 | + "outputs": [ |
| 556 | + { |
| 557 | + "name": "stdout", |
| 558 | + "output_type": "stream", |
| 559 | + "text": [ |
| 560 | + "http://physionet.org/physiobank/database/mitdb/100.dat\n", |
| 561 | + "{'Accept-Encoding': '*/*', 'Range': 'bytes=0-9'}\n", |
| 562 | + "206\n", |
| 563 | + "{'Server': 'Apache/2.2.22 (Debian) mod_auth_tkt/2.1.0 mod_auth_pgsql/2.0.3 mod_ssl/2.2.22 OpenSSL/1.0.1t', 'Date': 'Mon, 20 Mar 2017 20:58:50 GMT', 'Last-Modified': 'Thu, 30 Jul 1992 05:36:18 GMT', 'Content-Range': 'bytes 0-9/1950000', 'Accept-Ranges': 'bytes', 'Vary': 'Accept-Encoding', 'Keep-Alive': 'timeout=5, max=100', 'Content-Type': 'application/octet-stream', 'Connection': 'Keep-Alive', 'Content-Length': '10', 'ETag': '\"2b58628a-1dc130-287fdea221880\"'}\n", |
| 564 | + "{'Accept': '*/*', 'User-Agent': 'python-requests/2.12.4', 'Connection': 'keep-alive', 'Range': 'bytes=0-9', 'Accept-Encoding': '*/*'}\n", |
| 565 | + "10\n" |
| 566 | + ] |
| 567 | + } |
| 568 | + ], |
| 569 | + "source": [ |
| 570 | + "r = streamdat('100.dat', 'mitdb', '212', 9, 0)\n", |
| 571 | + "\n", |
| 572 | + "print(r.status_code)\n", |
| 573 | + "\n", |
| 574 | + "# Header the server sent\n", |
| 575 | + "print(r.headers)\n", |
| 576 | + "\n", |
| 577 | + "# Header we sent\n", |
| 578 | + "print(r.request.headers)\n", |
| 579 | + "\n", |
| 580 | + "print(len(r.content))" |
| 581 | + ] |
| 582 | + }, |
| 583 | + { |
| 584 | + "cell_type": "code", |
| 585 | + "execution_count": 1, |
| 586 | + "metadata": { |
| 587 | + "collapsed": false |
| 588 | + }, |
| 589 | + "outputs": [], |
| 590 | + "source": [ |
| 591 | + "import wfdb" |
| 592 | + ] |
| 593 | + }, |
545 | 594 | {
|
546 | 595 | "cell_type": "code",
|
547 | 596 | "execution_count": null,
|
|
0 commit comments