From ff2fa03f8fa30061f76569126dad17318c633d67 Mon Sep 17 00:00:00 2001 From: qian-chu Date: Tue, 26 Nov 2024 20:09:50 +0000 Subject: [PATCH] deploy: 69b995249f5840157f58260bbd8e5577664ee6dd --- _images/tutorials_read_recording_26_2.png | Bin 8614 -> 0 bytes _images/tutorials_read_recording_28_0.png | Bin 0 -> 51605 bytes _images/tutorials_read_recording_30_0.png | Bin 0 -> 49574 bytes _sources/tutorials/read_recording.ipynb.txt | 416 +++++++++--------- genindex.html | 20 +- objects.inv | Bin 3677 -> 3741 bytes reference/data.html | 65 +++ searchindex.js | 2 +- tutorials/read_recording.html | 444 ++++++++------------ tutorials/read_recording.ipynb | 416 +++++++++--------- 10 files changed, 653 insertions(+), 710 deletions(-) delete mode 100644 _images/tutorials_read_recording_26_2.png create mode 100644 _images/tutorials_read_recording_28_0.png create mode 100644 _images/tutorials_read_recording_30_0.png diff --git a/_images/tutorials_read_recording_26_2.png b/_images/tutorials_read_recording_26_2.png deleted file mode 100644 index 6d1cded3efbb3a3c08daa646363c79a195086960..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8614 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
  • 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
    Pfm$)UunxH)-z162!a0RmD4Ie1=`Y@_sD9;9 zTzbsR@h2EcH=cdjzsVS(&PfcyRQZ{EDVe&8x_zxo=3eOhxI8DMUMD&(og#knP64v2S(Sl6lUjKpH9U+SXtB@*{ z{xAiSYU32^uHu(FoKTxMBg3Tb)8}+GQE{$xDw1dlu%xqPi>J)Z8}2F?klOHbt;B9E zOiift;B%_5SeTS0i~Xz7hPe8>bS=Y`%~&)7Lab7Hnv#;O3_t(PhO2+qTC}#ZoE6dL zdR#hAD?uJyZRHy8HtLOPDmMaQQ$zi|j8`l3LnkdloN~^_74P|C{)U31Cc?*l3T(;I zSI6@pSv8}qp@#~p4h+@v;5!#6=)KNPo4x%{@qB#Sp)#dNCNYJWKFM~c zDAEh~=$&{nLwTl%zY*@_LY?yN6sUC(t=Getx_Y1f{@Kx}?&07y+dG17{GV@j`oo&V zlrhjR0+Hl`EqA){KN@}{)CKw+`B#)D_1p9IoAXrl-67<~x;HO4S6i_S^`v`I3HjF;<8!?mLr>qY$r5zm$G7PU%+e>K0iJX{J{WjrRn>phdeK7^Qh!+UyQ z7BKpGSaRJ93gnMtPa#RY2P3vG^gj{YZb8A0#eBGNgiNF$rrXRP863<&6m1UBd$7DS zr%{#M^dXDL^N?^Rc0__Vts{FXEslOW|3kSm4@c`$!e@#8XEhE92{RIb)x2b%15et9 z{XU(|t8?S-SkImtw$JA%>XQfA_PGmDd|JUHRQq5e*Wg(R-xy(W+^Yz$!+sr>QP5X4 zs???){5y!21IetU_{+;*Dxi81oD%?~{ua@0l$a6@>@?vgD__acDc=7+MSX6K%q@mm z?}|8}byhi4HR~Ebv`acz$DsS!8S_|C(BjF;`0Z~TkTl(N%hm>4;?s! z2PDjVg&?J?DK9UI8y&V*pY7A--f=wGIFoa{LXGWw5@zW7k|?q;LW;}4$ZeCVRuP}0 z7mYex6^98c;7j3fWD#@<)evU;X1$@ozIUVA&+%S(9(#J`v&eSyMyRnJ4+(I+-ab3#U51{!xfO2IY97M{6*RcA6odeH9xwjl&^>=t1AS=K-vrSiM?bL*I~ zR*oi)4N6;fg>IRUQ--&*9e4gBIxVI;YsmX14aj(8FN1Psj6VumX-%1V*7se%UiJ|F z&1jp0zRfq4BXbVSiCne9)VL0f?A(q=eZ#!5@Yk(AxUg~jt1@FA2#bF^6r!W=5gvgmGJcVn(vlR<558>kFg8amiy zm~^A_d6vgb95RBN?4+XFq*Z1TSPW!K19HQ_iE~i;K430=VpTnlXci6K*xoAFFDY!X zhVrKc3e)|M!qRglew{xb3%YfLH~OFU1}dtL#w?Q$?!@g}n3_p3ENGyIBg@iu#E@+? zF1~KxrHWS1vrTPX+xtUqJ7`H_Eu1rr6O21rRAM{IUh7saAh`hA4*1)b*8wXF{IH0$ z3iwn8?FV2pP`m!@_~-Kg(#~0cpVn&l7vazczAK^sXrsWLglIZL&_@vtrAHecq=>ei zQ9!pw+#Wpua|SuuagD_c1>}bk;rw+gUvc@uj6FrHl8uq3hVu6v#K1LWNaCT zNsY|L;a#!%Nt}bqC7)0KRlAMIqF&loN;nfZ$fTT6OWP{*D#nSmOBmL_)wz}sE6SlT zlRs$g#zgY*KN?38V~|^5Hx$l|C@23Q+$3thGgslv_Yu68?k4@NX8rp4F_Vqhjo~RB zJQ}+5Re|ZH`Z?RvL$XaVu%cNK9Dn~O;FfYLmbJMV`(i5|!1pF;=kc5V>HIHSQTca4 zJZSc~)0)Tr85YQZBBZ^rIVB~fi^MALKtv(j9-=Dk@eQy95ABVn-vT+Q4?*t-;irdi zL>?L8`9uKtL1*QERS5qzhrU8o7zPyraJ#x-=e-7LZUz2tYmZ-j0`+%Gs1;&4pD{9} zAO+UakmgpuiFUanO4;USI8oD7j4~1xvI_7Wc~E0)=fAR)Gz+2|8Hua8tHxIQ#=iJ? zw2a5DVENFP9h+#j23==?7N_zQTp0~#&8hB@yeqH&NP65@UKoB%bI0AJ-4zbu`K{}) zq_yCqZpo-uy5mTAmvMzkAx%>YRUuMRN4VB-HIxb1&{<#bH~qN^Uix=b0k+g%(ynS6#0#o*IUa4*Fk~Dp6m;C`wdNkG z=XqFge{J`V8yKl&d+wf*x_<`ri0X&`qs{LzV(z#JUS%tL>rBv%H8L_%ZQLJ~)DL+6 z;CoKSpl@CG9dQ2Jsri~u4E|~6sdmeF0ir`)n7W5w3LaOkucp&;iNrnSu^5iQru)h^ zIPP<%`g8s2)w`6xxI?AzSr{Y5BP^QaLKYBJVD!xJVQ*2}$yE`Xw?0SiKReyF|N6zC zt&Coj>j0=2Mik}5JN@{x+a}%ZdWM@~p-`DP*_!%|%0U9HZj zQDhq9;bkDF)As!NW%XfoBw*);T5bOL;HVg7Gbf5F%6$xw{=@9HUQDm#Wt+MtUI2Hr zQOyA0tjlw!n}Yl?DAmOHjOD%Y1k^obYhR=JY!k060q`7qGW7zLU_E%-o+BzaT*c_d?k_{5!@Uej&W$GulfUOM~~&pSWd zT|tjhwR5h%Pd9u?jwg0js)F|x6#f-f<0`0;2y$j0E(>lvzthb4Zr#{UT4n&(FwL)~ z+Z&eO>33-8S2N5IYbWV#{O+G%O0EXIdbC;n$8+J+umKqs18rQ2&=EWWI~D8Zntt5E5f8^5A8WS5`EQ)$&vu`0~OPv>e(kMTgr zX$WY9K&8iz=-_?KYVbF&CEkKW#9%;`5pO~Vd>Oz$zxc7RcZ$&-t@{m2;Nz!C-2UFB z_ciNA;eRD{E5JVf-%<~T|7Uq*e?tJIy+UL+LG@;jr=z7j9&}Lb-yqsG5O$>?;|fl) zKMVaSSy@p@AiHf__1fzsC)MDF@%l{*kMLGn;Qk9tF{y#K8v}f>)1#!<>zQh^u+m&v zSVBn%y}BU%QeG~OX_X}Z@kIRUTLp{SRAz``SZOJR44e@6$3lz$Gq<(j>(>Ib5mx!q zx!+g#hQ62vKL0M~Kk!mvR5tL^*j55b4q7dPBGl}i6W>`_S|npb%YHfZPH?=J!P;{% z#Mou}_;Q<8 z6G48{N}J|)=MyYecJ^-TcNb|Enfo3HOWZvuYhXek^Gh_!mFDzhcByw(z5eu%#Y+=C z8E?38Z0B@CF_om2Gb4^T5+Q2-ok&3$FEOWXqfLRx{P@5n#{GGqR0^~F#IX%3k)KAc zeEFT0M)2dI&BiqEwWi{L8ur^oS4R4ameHj1hcgtV`?IXtx}~PKm5J-C0RA^svq1Rz zwdwo!@5k=Mawf=qlKjDBCl!E?@(owX9yZAwzrU11w8kd*V+p5#@It2B+90rKKj{Q3 zTOaUjBP#9w>$SVRED{+V7?9@th2YZxvuYU)!udu(nj%7G9u)8OKylNyDwGVBbj_3D<<4dOlNR zMpQ4jyL(5$=pS0YS6!_bzZ6t5`8b6%L62?1RNGFpMsxA$H`6EcUx9trzXjYQ?=uXZ z&>~x*b)CvBx^Ybc0^b8b;Q+gK|1;s!$DgG)5Q%DIC~HzU7r zfSL

    qvFAE(M4W92}eTxNH);a7ppF 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 GgZ~dXn@(c@ literal 0 HcmV?d00001 diff --git a/_sources/tutorials/read_recording.ipynb.txt b/_sources/tutorials/read_recording.ipynb.txt index 7456ffa..1b11a07 100644 --- a/_sources/tutorials/read_recording.ipynb.txt +++ b/_sources/tutorials/read_recording.ipynb.txt @@ -8,7 +8,7 @@ "In this tutorial, we will show how to load a single Neon recording downloaded from [Pupil Cloud](https://docs.pupil-labs.com/neon/pupil-cloud/) and give an overview of the data structure.\n", "\n", "## Reading sample data\n", - "We will use a sample recording produced by the NCC Lab, called `OfficeWalk`. This project (collection of recordings on Pupil Cloud) contains two recordings and multiple enrichments and can be downloaded with the `get_sample_data()` function. The function returns a `Pathlib.Path` [(reference)](https://docs.python.org/3/library/pathlib.html#pathlib.Path) object pointing to the downloaded and unzipped directory. PyNeon accepts both `Path` and `string` objects but internally always uses `Path`." + "We will use a sample recording produced by the NCC Lab, called `boardView`. This project (collection of recordings on Pupil Cloud) contains two recordings downloaded with the `Timeseries Data + Scene Video` option and a marker mapper enrichment. It can be downloaded with the `get_sample_data()` function. The function returns a `Pathlib.Path` [(reference)](https://docs.python.org/3/library/pathlib.html#pathlib.Path) instance pointing to the downloaded and unzipped directory. PyNeon accepts both `Path` and `string` objects but internally always uses `Path`." ] }, { @@ -20,7 +20,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "D:\\GitHub\\pyneon\\data\\OfficeWalk\n" + "C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\n" ] } ], @@ -28,7 +28,7 @@ "from pyneon import get_sample_data, NeonDataset, NeonRecording\n", "\n", "# Download sample data (if not existing) and return the path\n", - "sample_dir = get_sample_data(\"OfficeWalk\")\n", + "sample_dir = get_sample_data(\"boardView\")\n", "print(sample_dir)" ] }, @@ -39,31 +39,29 @@ "The `OfficeWalk` data has the following structure:\n", "\n", "```text\n", - "OfficeWalk\n", - "├── Timeseries Data\n", - "│ ├── walk1-e116e606\n", + "boardView\n", + "├── Timeseries Data + Scene Video\n", + "│ ├── boardview1-d4fd9a27\n", "│ │ ├── info.json\n", "│ │ ├── gaze.csv\n", "│ │ └── ....\n", - "│ ├── walk2-93b8c234\n", + "│ ├── boardview2-713532d5\n", "│ │ ├── info.json\n", "│ │ ├── gaze.csv\n", "│ │ └── ....\n", "| ├── enrichment_info.txt\n", "| └── sections.csv\n", - "├── OfficeWalk_FACE-MAPPER_FaceMap\n", - "├── OfficeWalk_MARKER-MAPPER_TagMap_csv\n", - "└── OfficeWalk_STATIC-IMAGE-MAPPER_ManualMap_csv\n", + "└── boardView_MARKER-MAPPER_boardMapping_csv\n", "```\n", "\n", - "The `Timeseries Data` folder contains what PyNeon refers to as a `NeonDataset`. It consists of two recordings, each with its own `info.json` file and data files. These recordings can be loaded either individually as a `NeonRecording` as a collective `NeonDataset`." + "The `Timeseries Data + Scene Video` folder contains what PyNeon refers to as a `NeonDataset`. It consists of two recordings, each with its own `info.json` file and data files. These recordings can be loaded either individually as a `NeonRecording` as a collective `NeonDataset`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "To load a `NeonDataset`, specify the path to the `Timeseries Data` folder:" + "To load a `NeonDataset`, specify the path to the `Timeseries Data + Scene Video` folder:" ] }, { @@ -80,7 +78,7 @@ } ], "source": [ - "dataset_dir = sample_dir / \"Timeseries Data\"\n", + "dataset_dir = sample_dir / \"Timeseries Data + Scene Video\"\n", "dataset = NeonDataset(dataset_dir)\n", "print(dataset)" ] @@ -102,14 +100,14 @@ "output_type": "stream", "text": [ "\n", - "D:\\GitHub\\pyneon\\data\\OfficeWalk\\Timeseries Data\\walk2-93b8c234\n" + "C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\\Timeseries Data + Scene Video\\boardview2-713532d5\n" ] } ], "source": [ - "first_recording = dataset[0]\n", - "print(type(first_recording))\n", - "print(first_recording.recording_dir)" + "recording = dataset[0]\n", + "print(type(recording))\n", + "print(recording.recording_dir)" ] }, { @@ -129,12 +127,12 @@ "output_type": "stream", "text": [ "\n", - "D:\\GitHub\\pyneon\\data\\OfficeWalk\\Timeseries Data\\walk1-e116e606\n" + "C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\\Timeseries Data + Scene Video\\boardview1-d4fd9a27\n" ] } ], "source": [ - "recording_dir = dataset_dir / \"walk1-e116e606\"\n", + "recording_dir = dataset_dir / \"boardview1-d4fd9a27\"\n", "recording = NeonRecording(recording_dir)\n", "print(type(recording))\n", "print(recording.recording_dir)" @@ -158,23 +156,23 @@ "output_type": "stream", "text": [ "\n", - "Recording ID: e116e606-5f3f-4d34-8727-040b8762cef8\n", - "Wearer ID: bcff2832-cfcb-4f89-abef-7bbfe91ec561\n", + "Recording ID: d4fd9a27-3e28-45bf-937f-b9c14c3c1c5e\n", + "Wearer ID: af6cd360-443a-4d3d-adda-7dc8510473c2\n", "Wearer name: Qian\n", - "Recording start time: 2024-08-30 17:37:01.527000\n", - "Recording duration: 98.213s\n", - " exist filename path\n", - "3d_eye_states True 3d_eye_states.csv D:\\GitHub\\pyneon\\data\\OfficeWalk\\Timeseries Data\\walk1-e116e606\\3d_eye_states.csv\n", - "blinks True blinks.csv D:\\GitHub\\pyneon\\data\\OfficeWalk\\Timeseries Data\\walk1-e116e606\\blinks.csv\n", - "events True events.csv D:\\GitHub\\pyneon\\data\\OfficeWalk\\Timeseries Data\\walk1-e116e606\\events.csv\n", - "fixations True fixations.csv D:\\GitHub\\pyneon\\data\\OfficeWalk\\Timeseries Data\\walk1-e116e606\\fixations.csv\n", - "gaze True gaze.csv D:\\GitHub\\pyneon\\data\\OfficeWalk\\Timeseries Data\\walk1-e116e606\\gaze.csv\n", - "imu True imu.csv D:\\GitHub\\pyneon\\data\\OfficeWalk\\Timeseries Data\\walk1-e116e606\\imu.csv\n", - "labels True labels.csv D:\\GitHub\\pyneon\\data\\OfficeWalk\\Timeseries Data\\walk1-e116e606\\labels.csv\n", - "saccades True saccades.csv D:\\GitHub\\pyneon\\data\\OfficeWalk\\Timeseries Data\\walk1-e116e606\\saccades.csv\n", - "world_timestamps True world_timestamps.csv D:\\GitHub\\pyneon\\data\\OfficeWalk\\Timeseries Data\\walk1-e116e606\\world_timestamps.csv\n", - "scene_video_info False None None\n", - "scene_video False None None\n", + "Recording start time: 2024-11-26 12:44:48.937000\n", + "Recording duration: 32.046s\n", + " exist filename path\n", + "3d_eye_states True 3d_eye_states.csv C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\\Timeseries Data + Scene Video\\boardview1-d4fd9a27\\3d_eye_states.csv\n", + "blinks True blinks.csv C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\\Timeseries Data + Scene Video\\boardview1-d4fd9a27\\blinks.csv\n", + "events True events.csv C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\\Timeseries Data + Scene Video\\boardview1-d4fd9a27\\events.csv\n", + "fixations True fixations.csv C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\\Timeseries Data + Scene Video\\boardview1-d4fd9a27\\fixations.csv\n", + "gaze True gaze.csv C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\\Timeseries Data + Scene Video\\boardview1-d4fd9a27\\gaze.csv\n", + "imu True imu.csv C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\\Timeseries Data + Scene Video\\boardview1-d4fd9a27\\imu.csv\n", + "labels True labels.csv C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\\Timeseries Data + Scene Video\\boardview1-d4fd9a27\\labels.csv\n", + "saccades True saccades.csv C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\\Timeseries Data + Scene Video\\boardview1-d4fd9a27\\saccades.csv\n", + "world_timestamps True world_timestamps.csv C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\\Timeseries Data + Scene Video\\boardview1-d4fd9a27\\world_timestamps.csv\n", + "scene_video_info True scene_camera.json C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\\Timeseries Data + Scene Video\\boardview1-d4fd9a27\\scene_camera.json\n", + "scene_video True 182240fd_0.0-32.046.mp4 C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\\Timeseries Data + Scene Video\\boardview1-d4fd9a27\\182240fd_0.0-32.046.mp4\n", "\n" ] } @@ -187,9 +185,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "As seen in the output, this recording includes all data files except the scene video and its metadata because we downloaded only the \"Timeseries Data\" instead of \" \"Timeseries Data + Scene Video\" from Pupil Cloud. For processing video, refer to the [Neon video tutorial](video.ipynb).\n", + "As seen in the output, this recording includes all data files. This tutorial will focus on non-video data. For processing video, refer to the [Neon video tutorial](video.ipynb).\n", "\n", - "Individual data streams can be accessed as properties of the `NeonRecording` object. For example, the gaze data can be accessed as `recording.gaze`, and upon accessing, the tabular data is loaded into memory. On the other hand, if you try to access unavailable data like the video, it will simply return `None` and a warning message." + "Individual data streams can be accessed as properties of the `NeonRecording` object. For example, the gaze data can be accessed as `recording.gaze`, and upon accessing, the tabular data is loaded into memory. On the other hand, if you try to access unavailable data, PyNeon will return `None` and a warning message." ] }, { @@ -201,17 +199,9 @@ "name": "stdout", "output_type": "stream", "text": [ - "recording.gaze is \n", - "recording.fixations is \n", - "recording.video is None\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "D:\\GitHub\\pyneon\\pyneon\\recording.py:271: UserWarning: Scene video not loaded because not all video-related files (video, scene_camera.json, world_timestamps.csv) are found.\n", - " warnings.warn(\n" + "recording.gaze is \n", + "recording.saccades is \n", + "recording.video is < cv2.VideoCapture 0000027AE592DB90>\n" ] } ], @@ -219,10 +209,8 @@ "# Gaze and fixation data are available\n", "gaze = recording.gaze\n", "print(f\"recording.gaze is {gaze}\")\n", - "fixations = recording.fixations\n", - "print(f\"recording.fixations is {fixations}\")\n", - "\n", - "# Video is not available\n", + "saccades = recording.saccades\n", + "print(f\"recording.saccades is {saccades}\")\n", "video = recording.video\n", "print(f\"recording.video is {video}\")" ] @@ -269,19 +257,19 @@ "text": [ " gaze x [px] gaze y [px] worn fixation id blink id \\\n", "timestamp [ns] \n", - "1725032224852161732 1067.486 620.856 1 1 \n", - "1725032224857165732 1066.920 617.117 1 1 \n", - "1725032224862161732 1072.699 615.780 1 1 \n", - "1725032224867161732 1067.447 617.062 1 1 \n", - "1725032224872161732 1071.564 613.158 1 1 \n", + "1732621490425631343 697.829 554.242 1 1 \n", + "1732621490430625343 698.096 556.335 1 1 \n", + "1732621490435625343 697.810 556.360 1 1 \n", + "1732621490440625343 695.752 557.903 1 1 \n", + "1732621490445625343 696.108 558.438 1 1 \n", "\n", " azimuth [deg] elevation [deg] \n", "timestamp [ns] \n", - "1725032224852161732 16.213030 -0.748998 \n", - "1725032224857165732 16.176285 -0.511733 \n", - "1725032224862161732 16.546413 -0.426618 \n", - "1725032224867161732 16.210049 -0.508251 \n", - "1725032224872161732 16.473521 -0.260388 \n", + "1732621490425631343 -7.581023 3.519804 \n", + "1732621490430625343 -7.563214 3.385485 \n", + "1732621490435625343 -7.581576 3.383787 \n", + "1732621490440625343 -7.713686 3.284294 \n", + "1732621490445625343 -7.690596 3.250055 \n", "gaze x [px] float64\n", "gaze y [px] float64\n", "worn Int32\n", @@ -307,43 +295,43 @@ "name": "stdout", "output_type": "stream", "text": [ - " fixation id end timestamp [ns] duration [ms] \\\n", - "start timestamp [ns] \n", - "1725032224852161732 1 1725032225007283732 155 \n", - "1725032225027282732 2 1725032225282527732 255 \n", - "1725032225347526732 3 1725032225617770732 270 \n", - "1725032225667907732 4 1725032225798022732 130 \n", - "1725032225833015732 5 1725032225958137732 125 \n", + " saccade id end timestamp [ns] duration [ms] \\\n", + "start timestamp [ns] \n", + "1732621490876132343 1 1732621490891115343 15 \n", + "1732621491241357343 2 1732621491291481343 50 \n", + "1732621491441602343 3 1732621491516601343 75 \n", + "1732621491626723343 4 1732621491696847343 70 \n", + "1732621491917092343 5 1732621491977090343 60 \n", "\n", - " fixation x [px] fixation y [px] azimuth [deg] \\\n", - "start timestamp [ns] \n", - "1725032224852161732 1069.932 614.843 16.369094 \n", - "1725032225027282732 906.439 538.107 5.878844 \n", - "1725032225347526732 694.843 533.982 -7.781338 \n", - "1725032225667907732 572.983 488.800 -15.679003 \n", - "1725032225833015732 601.861 491.125 -13.813521 \n", + " amplitude [px] amplitude [deg] mean velocity [px/s] \\\n", + "start timestamp [ns] \n", + "1732621490876132343 14.938179 0.962102 1025.709879 \n", + "1732621491241357343 130.743352 8.378644 2700.713283 \n", + "1732621491441602343 241.003342 15.391730 3615.380044 \n", + "1732621491626723343 212.619205 13.608618 3757.394092 \n", + "1732621491917092343 220.842812 13.914266 4220.180601 \n", "\n", - " elevation [deg] \n", - "start timestamp [ns] \n", - "1725032224852161732 -0.367312 \n", - "1725032225027282732 4.561914 \n", - "1725032225347526732 4.819739 \n", - "1725032225667907732 7.636408 \n", - "1725032225833015732 7.512433 \n", - "fixation id Int32\n", - "end timestamp [ns] Int64\n", - "duration [ms] Int64\n", - "fixation x [px] float64\n", - "fixation y [px] float64\n", - "azimuth [deg] float64\n", - "elevation [deg] float64\n", + " peak velocity [px/s] \n", + "start timestamp [ns] \n", + "1732621490876132343 1191.520740 \n", + "1732621491241357343 3687.314947 \n", + "1732621491441602343 5337.244676 \n", + "1732621491626723343 6164.040944 \n", + "1732621491917092343 6369.217052 \n", + "saccade id Int32\n", + "end timestamp [ns] Int64\n", + "duration [ms] Int64\n", + "amplitude [px] float64\n", + "amplitude [deg] float64\n", + "mean velocity [px/s] float64\n", + "peak velocity [px/s] float64\n", "dtype: object\n" ] } ], "source": [ - "print(fixations.data.head())\n", - "print(fixations.data.dtypes)" + "print(saccades.data.head())\n", + "print(saccades.data.dtypes)" ] }, { @@ -360,7 +348,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Just like any other `pandas.DataFrame`, you can access individual rows, columns, or subsets of the data using the standard indexing and slicing methods. For example, `gaze.data.iloc[0]` returns the first row of the gaze data, and `gaze.data['gaze x [px]']` returns the gaze x-coordinate column." + "Just like any other `pandas.DataFrame`, you can access individual rows, columns, or subsets of the data using the standard indexing and slicing methods. For example, `gaze.data.iloc[0]` returns the first row of the gaze data, and `gaze.data['gaze x [px]']` (or `gaze['gaze x [px]']`) returns the gaze x-coordinate column." ] }, { @@ -373,35 +361,35 @@ "output_type": "stream", "text": [ "First row of gaze data:\n", - "gaze x [px] 1067.486\n", - "gaze y [px] 620.856\n", + "gaze x [px] 697.829\n", + "gaze y [px] 554.242\n", "worn 1.0\n", "fixation id 1.0\n", "blink id \n", - "azimuth [deg] 16.21303\n", - "elevation [deg] -0.748998\n", - "Name: 1725032224852161732, dtype: Float64\n", + "azimuth [deg] -7.581023\n", + "elevation [deg] 3.519804\n", + "Name: 1732621490425631343, dtype: Float64\n", "\n", "All gaze x values:\n", "timestamp [ns]\n", - "1725032224852161732 1067.486\n", - "1725032224857165732 1066.920\n", - "1725032224862161732 1072.699\n", - "1725032224867161732 1067.447\n", - "1725032224872161732 1071.564\n", - " ... \n", - "1725032319717194732 800.364\n", - "1725032319722198732 799.722\n", - "1725032319727194732 799.901\n", - "1725032319732194732 796.982\n", - "1725032319737194732 797.285\n", - "Name: gaze x [px], Length: 18769, dtype: float64\n" + "1732621490425631343 697.829\n", + "1732621490430625343 698.096\n", + "1732621490435625343 697.810\n", + "1732621490440625343 695.752\n", + "1732621490445625343 696.108\n", + " ... \n", + "1732621520958946343 837.027\n", + "1732621520964071343 836.595\n", + "1732621520969071343 836.974\n", + "1732621520974075343 835.169\n", + "1732621520979070343 833.797\n", + "Name: gaze x [px], Length: 6091, dtype: float64\n" ] } ], "source": [ "print(f\"First row of gaze data:\\n{gaze.data.iloc[0]}\\n\")\n", - "print(f\"All gaze x values:\\n{gaze.data['gaze x [px]']}\")" + "print(f\"All gaze x values:\\n{gaze['gaze x [px]']}\")" ] }, { @@ -423,10 +411,10 @@ "name": "stdout", "output_type": "stream", "text": [ - "[1725032224852161732 1725032224857165732 1725032224862161732 ...\n", - " 1725032319727194732 1725032319732194732 1725032319737194732]\n", - "[0.0000000e+00 5.0040000e-03 1.0000000e-02 ... 9.4875033e+01 9.4880033e+01\n", - " 9.4885033e+01]\n" + "[1732621490425631343 1732621490430625343 1732621490435625343 ...\n", + " 1732621520969071343 1732621520974075343 1732621520979070343]\n", + "[0.0000000e+00 4.9940000e-03 9.9940000e-03 ... 3.0543440e+01 3.0548444e+01\n", + " 3.0553439e+01]\n" ] } ], @@ -439,7 +427,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Timestamps (UTC, in ns) and relative time (relative to the stream start, in s) are thus the two units of time that are most commonly used in PyNeon. For example, you can crop the stream by either timestamp or relative time by calling the `crop()` method. The method takes two arguments: `start` and `end`:" + "Timestamps (UTC, in ns), relative time (relative to the stream start, in s), and index are the three units of time that are most commonly used in PyNeon. For example, you can crop the stream by either timestamp or relative time by calling the `crop()` method. The method takes `start` and `end` of the crop window in either UTC timestamps or relative time, and uses `by` to specify whether " ] }, { @@ -451,18 +439,49 @@ "name": "stdout", "output_type": "stream", "text": [ - "94.885033\n", - "9.999289\n" + "Gaze data points before cropping: 6091\n", + "Gaze data points after cropping: 999\n" ] } ], "source": [ - "# Last data time of the original gaze data\n", - "print(gaze.times[-1])\n", + "print(f\"Gaze data points before cropping: {len(gaze)}\")\n", "\n", - "# Crop the gaze data to the first 10 seconds\n", - "gaze_cropped = gaze.crop(0, 10, by=\"time\") # Crop by time\n", - "print(gaze_cropped.times[-1])" + "# Crop the gaze data to 5-10 seconds\n", + "gaze_crop = gaze.crop(5, 10, by=\"time\") # Crop by time\n", + "print(f\"Gaze data points after cropping: {len(gaze_crop)}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You may also want to restrict one stream to the temporal range of another stream. This can be done by calling the `restrict()` method. The method takes another `NeonStream` instance as an argument and crops the stream to the intersection of the two streams' temporal ranges." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "IMU first timestamp: 1732621495435389343 > Gaze first timestamp: 1732621495430263343\n", + "IMU last timestamp: 1732621500421101343 < Gaze last timestamp: 1732621500424901343\n" + ] + } + ], + "source": [ + "imu_crop = recording.imu.restrict(gaze_crop)\n", + "saccades_crop = saccades.restrict(gaze_crop)\n", + "print(\n", + " f\"IMU first timestamp: {imu_crop.first_ts} > Gaze first timestamp: {gaze_crop.first_ts}\"\n", + ")\n", + "print(\n", + " f\"IMU last timestamp: {imu_crop.last_ts} < Gaze last timestamp: {gaze_crop.last_ts}\"\n", + ")" ] }, { @@ -476,52 +495,21 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Data streams and events\n", + "## An example plot of cropped data\n", "\n", - "Up to this point, PyNeon simply reads and re-organizes the raw .csv files. Let's plot some samples from the `gaze` and `eye_states` streams and a saccade from the `saccades` events." + "Below we show how to easily plot the gaze and saccade data we cropped just now. Since PyNeon data are stored in `pandas.DataFrame`, you can use any plotting library that supports `pandas.DataFrame` as input. Here we use `seaaborn` and `matplotlib` to plot the gaze x, y coordinates and the saccade durations (shadowed areas)." ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "metadata": {}, "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "saccade id 2.0\n", - "end timestamp [ns] 1725032225347526656.0\n", - "duration [ms] 65.0\n", - "amplitude [px] 228.36139\n", - "amplitude [deg] 14.676102\n", - "mean velocity [px/s] 3685.269894\n", - "peak velocity [px/s] 5411.775481\n", - "Name: 1725032225282527732, dtype: Float64\n" - ] - }, - { - "ename": "TypeError", - "evalue": "unhashable type: 'numpy.ndarray'", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[1;32mIn[12], line 19\u001b[0m\n\u001b[0;32m 17\u001b[0m saccade \u001b[38;5;241m=\u001b[39m fixations\u001b[38;5;241m.\u001b[39mdata\u001b[38;5;241m.\u001b[39miloc[\u001b[38;5;241m1\u001b[39m]\n\u001b[0;32m 18\u001b[0m \u001b[38;5;28mprint\u001b[39m(saccade)\n\u001b[1;32m---> 19\u001b[0m \u001b[43max\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43maxvspan\u001b[49m\u001b[43m(\u001b[49m\u001b[43msaccade\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mindex\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mvalues\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msaccade\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mend timestamp [ns]\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcolor\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mlightgray\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[0;32m 20\u001b[0m ax\u001b[38;5;241m.\u001b[39mtext(\n\u001b[0;32m 21\u001b[0m (saccade\u001b[38;5;241m.\u001b[39mindex\u001b[38;5;241m.\u001b[39mvalues \u001b[38;5;241m+\u001b[39m saccade[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mend timestamp [ns]\u001b[39m\u001b[38;5;124m\"\u001b[39m]) \u001b[38;5;241m/\u001b[39m \u001b[38;5;241m2\u001b[39m,\n\u001b[0;32m 22\u001b[0m \u001b[38;5;241m1050\u001b[39m,\n\u001b[0;32m 23\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mSaccade\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m 24\u001b[0m horizontalalignment\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcenter\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m 25\u001b[0m )\n\u001b[0;32m 27\u001b[0m \u001b[38;5;66;03m# Visualize gaze x and pupil diameter left\u001b[39;00m\n", - "File \u001b[1;32mc:\\Users\\QianC\\.conda\\envs\\pyneon\\Lib\\site-packages\\matplotlib\\axes\\_axes.py:1087\u001b[0m, in \u001b[0;36mAxes.axvspan\u001b[1;34m(self, xmin, xmax, ymin, ymax, **kwargs)\u001b[0m\n\u001b[0;32m 1085\u001b[0m \u001b[38;5;66;03m# Strip units away.\u001b[39;00m\n\u001b[0;32m 1086\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_check_no_units([ymin, ymax], [\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mymin\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mymax\u001b[39m\u001b[38;5;124m'\u001b[39m])\n\u001b[1;32m-> 1087\u001b[0m (xmin, xmax), \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_process_unit_info\u001b[49m\u001b[43m(\u001b[49m\u001b[43m[\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mx\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m[\u001b[49m\u001b[43mxmin\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mxmax\u001b[49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 1089\u001b[0m p \u001b[38;5;241m=\u001b[39m mpatches\u001b[38;5;241m.\u001b[39mRectangle((xmin, ymin), xmax \u001b[38;5;241m-\u001b[39m xmin, ymax \u001b[38;5;241m-\u001b[39m ymin, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m 1090\u001b[0m p\u001b[38;5;241m.\u001b[39mset_transform(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mget_xaxis_transform(which\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mgrid\u001b[39m\u001b[38;5;124m\"\u001b[39m))\n", - "File \u001b[1;32mc:\\Users\\QianC\\.conda\\envs\\pyneon\\Lib\\site-packages\\matplotlib\\axes\\_base.py:2585\u001b[0m, in \u001b[0;36m_AxesBase._process_unit_info\u001b[1;34m(self, datasets, kwargs, convert)\u001b[0m\n\u001b[0;32m 2583\u001b[0m \u001b[38;5;66;03m# Update from data if axis is already set but no unit is set yet.\u001b[39;00m\n\u001b[0;32m 2584\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m axis \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m data \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m axis\u001b[38;5;241m.\u001b[39mhave_units():\n\u001b[1;32m-> 2585\u001b[0m \u001b[43maxis\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mupdate_units\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 2586\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m axis_name, axis \u001b[38;5;129;01min\u001b[39;00m axis_map\u001b[38;5;241m.\u001b[39mitems():\n\u001b[0;32m 2587\u001b[0m \u001b[38;5;66;03m# Return if no axis is set.\u001b[39;00m\n\u001b[0;32m 2588\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m axis \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n", - "File \u001b[1;32mc:\\Users\\QianC\\.conda\\envs\\pyneon\\Lib\\site-packages\\matplotlib\\axis.py:1756\u001b[0m, in \u001b[0;36mAxis.update_units\u001b[1;34m(self, data)\u001b[0m\n\u001b[0;32m 1754\u001b[0m neednew \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mconverter \u001b[38;5;241m!=\u001b[39m converter\n\u001b[0;32m 1755\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mconverter \u001b[38;5;241m=\u001b[39m converter\n\u001b[1;32m-> 1756\u001b[0m default \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconverter\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdefault_units\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[0;32m 1757\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m default \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39munits \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m 1758\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mset_units(default)\n", - "File \u001b[1;32mc:\\Users\\QianC\\.conda\\envs\\pyneon\\Lib\\site-packages\\matplotlib\\category.py:105\u001b[0m, in \u001b[0;36mStrCategoryConverter.default_units\u001b[1;34m(data, axis)\u001b[0m\n\u001b[0;32m 103\u001b[0m \u001b[38;5;66;03m# the conversion call stack is default_units -> axis_info -> convert\u001b[39;00m\n\u001b[0;32m 104\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m axis\u001b[38;5;241m.\u001b[39munits \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m--> 105\u001b[0m axis\u001b[38;5;241m.\u001b[39mset_units(\u001b[43mUnitData\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata\u001b[49m\u001b[43m)\u001b[49m)\n\u001b[0;32m 106\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m 107\u001b[0m axis\u001b[38;5;241m.\u001b[39munits\u001b[38;5;241m.\u001b[39mupdate(data)\n", - "File \u001b[1;32mc:\\Users\\QianC\\.conda\\envs\\pyneon\\Lib\\site-packages\\matplotlib\\category.py:181\u001b[0m, in \u001b[0;36mUnitData.__init__\u001b[1;34m(self, data)\u001b[0m\n\u001b[0;32m 179\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_counter \u001b[38;5;241m=\u001b[39m itertools\u001b[38;5;241m.\u001b[39mcount()\n\u001b[0;32m 180\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m data \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m--> 181\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mupdate\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[1;32mc:\\Users\\QianC\\.conda\\envs\\pyneon\\Lib\\site-packages\\matplotlib\\category.py:214\u001b[0m, in \u001b[0;36mUnitData.update\u001b[1;34m(self, data)\u001b[0m\n\u001b[0;32m 212\u001b[0m \u001b[38;5;66;03m# check if convertible to number:\u001b[39;00m\n\u001b[0;32m 213\u001b[0m convertible \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[1;32m--> 214\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m val \u001b[38;5;129;01min\u001b[39;00m \u001b[43mOrderedDict\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfromkeys\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata\u001b[49m\u001b[43m)\u001b[49m:\n\u001b[0;32m 215\u001b[0m \u001b[38;5;66;03m# OrderedDict just iterates over unique values in data.\u001b[39;00m\n\u001b[0;32m 216\u001b[0m _api\u001b[38;5;241m.\u001b[39mcheck_isinstance((\u001b[38;5;28mstr\u001b[39m, \u001b[38;5;28mbytes\u001b[39m), value\u001b[38;5;241m=\u001b[39mval)\n\u001b[0;32m 217\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m convertible:\n\u001b[0;32m 218\u001b[0m \u001b[38;5;66;03m# this will only be called so long as convertible is True.\u001b[39;00m\n", - "\u001b[1;31mTypeError\u001b[0m: unhashable type: 'numpy.ndarray'" - ] - }, { "data": { - "image/png": "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arlCa9KkSVFeXh4dHR0D1js6OmLKlCmDXjNlypRc+yMGf9svIqJQKAx4exBS6+zsjIiImpoaZ40LylljuDhrDBdnjeHy/vm67LLLPvSsDVe/DCbXTx2sqKiIOXPmRGtra3Gtv78/Wltbo76+ftBr6uvrB+yPiHj55ZfPuh8AACCFUvZL7o8ONjU1xdKlS2Pu3Lkxb968WLduXXR3d8eyZcsiImLJkiVRU1MTLS0tERFxzz33xE033RSPP/543HrrrbFp06b49a9/HU8//XTeWwMAAORSqn7JHVoLFy6MkydPxqpVq6K9vT1mz54d27ZtK35h7MiRI1FW9sEbZddff30899xz8dBDD8UDDzwQf/3Xfx0vvvjiGV9eO5fKyspobm7+2H3uktHHWWO4OGsMF2eN4eKsMVzynrVS9EvEEH6PFgAAAOeW6ztaAAAAfDihBQAAkJjQAgAASExoAQAAJPaxCa3169fHjBkzoqqqKurq6mLHjh3n3P+Tn/wkrrrqqqiqqoqrr746tm7dOkyTMtLlOWsbN26MG2+8MSZOnBgTJ06MhoaGDz2b8L68f6+9b9OmTTFmzJhYsGDBhR2QUSPvWXv77bdj+fLlMXXq1KisrIwrr7zSv0c5L3nP2rp16+LTn/50XHzxxVEoFOK+++6LP/zhD8M0LSPRL3/5y5g/f35MmzYtxowZEy+++OKHXrN9+/b43Oc+F5WVlfGpT30qnn322Qs+5/n4WITW5s2bo6mpKZqbm2PXrl0xa9asaGxsjBMnTgy6/9VXX41FixbF7bffHrt3744FCxbEggULYu/evcM8OSNN3rO2ffv2WLRoUbzyyivR1tYWhUIhbrnlljh+/PgwT85Ik/esve/w4cPxjW98I2688cZhmpSRLu9Z6+3tjS984Qtx+PDheP755+PgwYOxcePGqKmpGebJGWnynrXnnnsuVqxYEc3NzbF///545plnYvPmzfHAAw8M8+SMJN3d3TFr1qxYv379ee1/880349Zbb42bb7459uzZE/fee2/ccccd8dJLL13gSc9D9jEwb968bPny5cXnfX192bRp07KWlpZB93/5y1/Obr311gFrdXV12T/+4z9e0DkZ+fKetT91+vTpbNy4cdmPfvSjCzUio8RQztrp06ez66+/PvvBD36QLV26NPu7v/u7YZiUkS7vWfv+97+fXX755Vlvb+9wjcgokfesLV++PPvbv/3bAWtNTU3ZDTfccEHnZPSIiOyFF144555vfvOb2Wc/+9kBawsXLswaGxsv4GTnp+TvaPX29sbOnTujoaGhuFZWVhYNDQ3R1tY26DVtbW0D9kdENDY2nnU/RAztrP2pd999N95777247LLLLtSYjAJDPWvf+ta3YvLkyXH77bcPx5iMAkM5az/72c+ivr4+li9fHtXV1TFz5sxYs2ZN9PX1DdfYjEBDOWvXX3997Ny5s/jxwkOHDsXWrVvji1/84rDMzJ+Hj3MXjC31AKdOnYq+vr7ib2Z+X3V1dRw4cGDQa9rb2wfd397efsHmZOQbyln7U/fff39MmzbtjP9Cw/83lLP2q1/9Kp555pnYs2fPMEzIaDGUs3bo0KH4z//8z/jKV74SW7dujTfeeCO+/vWvx3vvvRfNzc3DMTYj0FDO2m233RanTp2Kz3/+85FlWZw+fTruuusuHx0kqbN1QWdnZ/z+97+Piy++uESTfUy+owUjwdq1a2PTpk3xwgsvRFVVVanHYRTp6uqKxYsXx8aNG2PSpEmlHodRrr+/PyZPnhxPP/10zJkzJxYuXBgPPvhgbNiwodSjMcps37491qxZE0899VTs2rUrfvrTn8aWLVvi0UcfLfVoMCxK/o7WpEmTory8PDo6Ogasd3R0xJQpUwa9ZsqUKbn2Q8TQztr7HnvssVi7dm384he/iGuuueZCjskokPes/eY3v4nDhw/H/Pnzi2v9/f0RETF27Ng4ePBgXHHFFRd2aEakofy9NnXq1LjooouivLy8uPaZz3wm2tvbo7e3NyoqKi7ozIxMQzlrDz/8cCxevDjuuOOOiIi4+uqro7u7O+6888548MEHo6zM/9/PR3e2Lhg/fnxJ382K+Bi8o1VRURFz5syJ1tbW4lp/f3+0trZGfX39oNfU19cP2B8R8fLLL591P0QM7axFRHz3u9+NRx99NLZt2xZz584djlEZ4fKetauuuipee+212LNnT/HxpS99qfgTlAqFwnCOzwgylL/XbrjhhnjjjTeKMR8R8frrr8fUqVNFFmc1lLP27rvvnhFT7wd+lmUXblj+rHysu6DUP40jy7Js06ZNWWVlZfbss89m+/bty+68887s0ksvzdrb27Msy7LFixdnK1asKO7/r//6r2zs2LHZY489lu3fvz9rbm7OLrroouy1114r1R+BESLvWVu7dm1WUVGRPf/889lbb71VfHR1dZXqj8AIkfes/Sk/dZDzlfesHTlyJBs3blz2T//0T9nBgwezn//859nkyZOzb3/726X6IzBC5D1rzc3N2bhx47J///d/zw4dOpT9x3/8R3bFFVdkX/7yl0v1R2AE6Orqynbv3p3t3r07i4jsiSeeyHbv3p399re/zbIsy1asWJEtXry4uP/QoUPZJZdckv3zP/9ztn///mz9+vVZeXl5tm3btlL9EYo+FqGVZVn2r//6r9lf/uVfZhUVFdm8efOy//7v/y7+ZzfddFO2dOnSAft//OMfZ1deeWVWUVGRffazn822bNkyzBMzUuU5a3/1V3+VRcQZj+bm5uEfnBEn799r/5/QIo+8Z+3VV1/N6urqssrKyuzyyy/PvvOd72SnT58e5qkZifKctffeey9bvXp1dsUVV2RVVVVZoVDIvv71r2f/8z//M/yDM2K88sorg/5vr/fP1tKlS7ObbrrpjGtmz56dVVRUZJdffnn2b//2b8M+92DGZJn3bgEAAFIq+Xe0AAAARhuhBQAAkJjQAgAASExoAQAAJCa0AAAAEhNaAAAAiQktAACAxIQWAABAYkILAAAgMaEFAACQmNACAABITGgBAAAk9n+93APIaM1xaAAAAABJRU5ErkJggg==", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1sAAAFzCAYAAADIXBN3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAADJAklEQVR4nOzdd3iT1RfA8W/SdE+6B6WUvfcUBARkyhJBBBUFRUFEQQH5KQguBBGRJQoOEFARFFHZSzayQUBm2XRAKaV7JL8/rklbWqApaZOW83mePEnevOMmgfQ977n3XI3BYDAghBBCCCGEEMKitNZugBBCCCGEEEKURBJsCSGEEEIIIUQhkGBLCCGEEEIIIQqBBFtCCCGEEEIIUQgk2BJCCCGEEEKIQiDBlhBCCCGEEEIUAgm2hBBCCCGEEKIQSLAlhBBCCCGEEIVAZ+0GFAd6vZ4rV67g7u6ORqOxdnOEEEIIIYQQVmIwGLh16xbBwcFotXfPXUmwlQ9XrlwhNDTU2s0QQgghhBBC2IiLFy9SunTpu64jwVY+uLu7A+oD9fDwsHJr8i85OZmIiIh8rRseHo6zs3MhtyjLvdpWGO0pimPm5zMv6s9aWIe1/v+Zc9z8HtvcfZqz78Jgy7992RW3z9Waist3amkF/TdiKff6LG3t33Bx+ht8e1vz2677/Tdhqfd/t3bYymdcmOLj4wkNDTXFCHcjwVY+GLsOenh4FKtgy97eHjc3t3yt6+HhUaT/Me7VtsJoT1EcMz+feVF/1sI6rPX/z5zj5vfY5u7TnH0XBlv+7cuuuH2u1lRcvlNLK+i/EUu512dpa/+Gi9Pf4Nvbmt923e+/CUu9/7u1w1Y+46KQn+FFUiBDCCGEEEIIIQqBBFtCCCGEEEIIUQgk2BJCCCGEEEKIQiBjtoQQQgghhLBBmZmZpKenm56npqai1+sLvL/U1FSLTGN0t3ZY6hjWZm9vj52d3X3vR4ItIYQQQgghbExCQgKXLl3CYDCYlhkMhhzPzXXlyhWLBEJ3a4eljmFtGo2G0qVL33eRGgm2hBBCCCGEsCGZmZlcunQJFxcX/Pz8TMGLXq8nLS2twPt1cHC45yS8+XG3dljqGNZkMBiIiYnh0qVLVKxY8b4yXBJsCSGEEEIIYUPS09MxGAz4+fnlKKOu1+vvK2vk6OhosWDrTu2w1DGszc/Pj3PnzpGenn5fwVbx/ySEEEIIIYQogUpCd7ziylKfvQRbQgghhBBCCFEIJNh6wB075kRCgvwzEEIIIYQQwtLkLPsBtny5F08+WYH33gu2dlOEEEIIIYQocSTYekClp2sYO7Y0AKtWeXEfUzYIIYQQQggBQGRkJK+99hoVKlTAycmJgIAAmjVrxhdffEFSUpK1m1fkpBrhA+rgQZccz48f19CggZUaI4QQQgghir2IiAjatGmDl5cXH330ETVr1sTR0ZEjR47w1VdfERISQteuXa3dzCIlma0H1NatOSdo27hR/ikIIYQQQtgigwESE61zM2cO5ddeew2dTsfevXvp3bs3VatWpVy5cnTr1o0///yTLl26mNadOnUqNWvWxNXVldDQUIYMGUJCQoLp9VatWqHRaHLdzp07B0BcXBwvvPACfn5+eHh40Lp1aw4dOnTHti1YsAA3NzdOnTplWjZkyBCqVKlSqBk3yWw9oPbvdwWgVq0kDh924dtvdYwcCVJhVAghhBDCtiQlgZsbqDyJ8z3WtqyEBHB1vfd6169fZ8OGDXz44Ye43mGD7OXUtVot06dPJzw8nLNnzzJkyBBGjRrF7NmzAfjll19yTJz8yiuvcPToUQICAgDo1asXzs7OrFq1Ck9PT7788kvatGnDyZMn8fb2znXsZ599lj/++IN+/fqxY8cO1qxZw7x589i5cycuLi651rcUSWc8oC5dsgfg9dejcHHJ5N9/tUydauVGCSGEEEKIYunMmTMYDAYqVaqUY7mvry9ubm64ubkxevRo0/LXX3+dRx55hLJly9K6dWs++OADlixZYnrd29ubwMBAAgMD+eGHH9i4cSMrVqzA2dmZbdu28ffff/Pzzz/ToEEDKlasyJQpU/Dy8mLp0qV3bOOXX37J1atXGTZsGAMHDmT8+PHUr1/f8h9GNpLZegAlJ2u4fl0FW5UqpTB8eBQffhjMtGnwxhvWbZsQQgghhMjJxUVlmPR6PampqQXej6OjI1qtebmW+036/P333+j1evr165ej7evXr2fixIn8+++/xMfHk5GRQUpKCklJSTkyTatWreKtt97i999/NwVyhw4dIiEhAR8fnxzHSk5O5syZM3dsS6lSpfj6669p3749Dz30EG+99db9vbl8sGpma8uWLXTp0oXg4GA0Gg3Lly83vZaens7o0aNNfTmDg4N59tlnuXLl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", "text/plain": [ - "

    " + "
    " ] }, "metadata": {}, @@ -532,69 +520,33 @@ "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", - "gaze_color = \"royalblue\"\n", - "gyro_color = \"darkorange\"\n", - "\n", - "imu = recording.imu\n", - "fixations = recording.saccades\n", - "\n", "# Create a figure\n", - "fig, ax = plt.subplots(figsize=(10, 5))\n", - "ax2 = ax.twinx()\n", - "ax.yaxis.label.set_color(gaze_color)\n", - "ax2.yaxis.label.set_color(gyro_color)\n", + "fig, ax = plt.subplots(figsize=(10, 4))\n", "\n", - "# Visualize the 2nd saccade\n", - "saccade = fixations.data.iloc[1]\n", - "print(saccade)\n", - "ax.axvspan(saccade.index.values, saccade[\"end timestamp [ns]\"], color=\"lightgray\")\n", - "ax.text(\n", - " (saccade.index.values + saccade[\"end timestamp [ns]\"]) / 2,\n", - " 1050,\n", - " \"Saccade\",\n", - " horizontalalignment=\"center\",\n", - ")\n", + "# Visualize the 1st saccade\n", + "for _, sac in saccades_crop.data.iterrows():\n", + " ax.axvspan(sac.name, sac[\"end timestamp [ns]\"], color=\"lightgray\")\n", "\n", - "# Visualize gaze x and pupil diameter left\n", - "sns.scatterplot(\n", + "# Visualize gaze x and y\n", + "sns.lineplot(\n", " ax=ax,\n", - " data=gaze.data.head(100),\n", - " x=gaze.data.index,\n", + " data=gaze_crop.data,\n", + " x=gaze_crop.data.index,\n", " y=\"gaze x [px]\",\n", - " color=gaze_color,\n", + " color=\"b\",\n", + " label=\"Gaze x\",\n", ")\n", - "sns.scatterplot(\n", - " ax=ax2,\n", - " data=imu.data.head(60),\n", - " x=imu.data.index,\n", - " y=\"gyro x [deg/s]\",\n", - " color=gyro_color,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "It's apparent that at the beginning of the recording, there are some missing data points in both the `gaze` and `imu` streams. This is presumably due to the time it takes for the sensors to start up and stabilize. We will show how to handle missing data using resampling in the next tutorial. For now, it's important to be aware of these gaps and that it will require great caution to assume the data is continuously and equally sampled.\n", - "\n", - "PyNeon also calculates the effective (as opposed to the nominal) sampling frequency of each stream by dividing the number of samples by the duration of the recording." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(\n", - " f\"Gaze: nominal sampling frequency = {gaze.sampling_freq_nominal}, \"\n", - " f\"effective sampling frequency = {gaze.sampling_freq_effective}\"\n", + "sns.lineplot(\n", + " ax=ax,\n", + " data=gaze_crop.data,\n", + " x=gaze_crop.data.index,\n", + " y=\"gaze y [px]\",\n", + " color=\"g\",\n", + " label=\"Gaze y\",\n", ")\n", - "print(\n", - " f\"IMU: nominal sampling frequency = {recording.imu.sampling_freq_nominal}, \"\n", - " f\"effective sampling frequency = {recording.imu.sampling_freq_effective}\"\n", - ")" + "ax.set_ylabel(\"Gaze location (pixels)\")\n", + "plt.legend()\n", + "plt.show()" ] }, { @@ -602,14 +554,36 @@ "metadata": {}, "source": [ "## Visualizing gaze heatmap\n", - "Finally, we will show how to plot a heatmap of the gaze/fixation data." + "Finally, we will show how to plot a heatmap of the gaze/fixation data. Since it requires gaze, fixation, and video data, the input it takes is an instance of `NeonRecording` that contains all necessary data. The method `plot_heatmap()`, by default, plots a gaze heatmap with fixations overlaid as circles." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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nbP+ggsu4BOf+MScwOKQH/7wh7zlLW8B/KKCl112Gf/+7/+OlJJzzjmHG264gVwuF23/8MMPc+mll3L//fezfv16PvCBD/DRj3607XmGKX6+NjRK3WAwGAwLoQG1ounc4X1p+Ccn0p1bvJNmJu8y+MZ7DvjU8/2mzs7+jBE7BoPBYGgfI3b2N/brmB2DwWAwGAzz47uiltIIdG24sYzYMRgMBoNhtWKysdpiVVVQNhgMBoPBYOgUY9kxGAwGg2GVIpReUmFAodZG2K4ROwaDwWAwrFaUB0spgmzcWAaDwWAwGAyrH2PZMRgMBoNhtaKXaNkxjUANBoPBYDDszwitEHoJqed6bTQCNW4sg8FgMBhWK8pb+tIB1113Ha973evo6upiYGCAd7zjHTz22GMN25TLZS699FL6+/vJ5XKcc845cxpy722M2DEYDAaDwdAWd911F5deeik/+9nPuOOOO6jVapx66qkUCoVomyuuuIJ///d/51//9V+56667ePHFFzn77LP34axNu4i2MO0iDAaDwdA+e69dxNh/vopux1r8OAWP9Wc8sei5jo6OMjAwwF133cWb3/xmpqen2bBhA//8z//M7/zO7wDwy1/+ks2bN3PPPffwhje8YdFzXQrGsmMwGAwGw2pFqaUv+OIpvlQqlbYOPz09DUBfXx8ADzzwALVajVNOOSXa5ogjjuCQQw7hnnvuWeaTbx8jdgwGg8FgWOMcfPDB9PT0RMt11123x32UUlx++eW88Y1v5MgjjwRg9+7dJJNJent7G7YdHBxk9+7dKzH1tjDZWAaDwWAwrFKEUoglJFSF1Zefe+65BjdWKpXa476XXnop27dv53/+538WP4G9hBE7BoPBYDCsVpRaYgVlf+fu7u6OYnYuu+wyvvvd73L33Xfz8pe/PFo/NDREtVplamqqwbozPDzM0NDQEia6NIwby2AwGAwGQ1torbnsssv4zne+ww9+8AM2bdrU8PxrX/taEokEd955Z7TuscceY9euXZx44ol7e7oRxrJjMBgMBsNqZZksO+1y6aWX8s///M/8v//3/+jq6oricHp6eshkMvT09HDxxRdz5ZVX0tfXR3d3Nx/4wAc48cQT91kmFhixYzAYDAbD6mUvi50bb7wRgLe85S0N67/61a9y4YUXAvA3f/M3SCk555xzqFQqnHbaafzd3/3dEia5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Wq20dOlSOnToED3xxBOUkpJiiJ5vSaZOnUrJycn0xRdf0NmzZ7WlqqpK2+fJJ5+krKws2rRpE3399deUk5NDOTk52nY1/fGuu+6iffv20fr166lDhw4tknquos/GIooOG3bu3Elms5lefvllOnr0KL333nuUkJBA7777rrbPggULKCUlhT788EM6cOAAjR07NmQK9I033kg7duygbdu2UY8ePZo19XzSpEl0zTXXaKnnq1evprS0NPqP//iPVmvH5cuXae/evbR3714CQH/6059o7969WpZSY4y3rKyMMjIy6OGHH6bCwkJasWIFJSQkNGrKdm12uN1uGjNmDHXu3Jn27dtn+LzrM3daux2hCM7Gag121GXD6tWrKS4ujpYsWUJHjx6lv/71r2QymWjr1q3aOZryvqVmY8WZMshi7ljvJc6UERPZWCx2IuCvf/0rZWVlkcVioSFDhtD27dtbekgaAEIu77zzjrbPlStX6De/+Q21a9eOEhIS6P7776ezZ88aznPy5Em65557KD4+ntLS0uh3v/sdeTyeZrYmQLDYiRYbPv74Y+rbty9ZrVbq1asXLVmyxLBdlmV67rnnKCMjg6xWK91xxx1UVFRk2OfChQv04IMPksPhoKSkJHr00Ufp8uXLzWZDRUUFPfXUU5SVlUU2m426d+9Of/jDHwwP1NZmx+effx7yczBp0qRGHe/+/fvplltuIavVStdccw0tWLCg2ew4ceJE2M/7559/HjV2hCKU2GlpOyKx4R//+Adde+21ZLPZaMCAAbR27VrDOZryvsVi5+rgrucMwzAME2WoXc/Npg4Qov4RKUQyvL5z3PWcYRiGYZjWiZI6Xn+fBWdjMQzDMAzDtAHYs8MwDMMwUQsBDcqoio1IFhY7DMMwDBOlKNNQ9S/OGCthuyx2GIZhGCZKUerkNEDsxIhnh2N2GIZhGIZp07Bnh2EYhmGiloZ5djhmh2EYhmGY1k0DY3YQIzE7PI3FMEzMMXnyZAghIITA2rVrG/Xc2dnZ2rmDm0AyDNMysNhhmAg4d+4cpk6diqysLFitVmRmZiI3NxdffvllSw+NqSd33303zp49i3vuuadRz7tr1y78z//8T6Oek2HCwY1AI4PFDsNEwIQJE7B3714sW7YMR44cwUcffYTbbrsNFy5caOmhtRn03aubA1W0Wq3WRj1vhw4dkJqa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", + "text/plain": [ + "
    " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "(
    ,\n", + " )" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "recording.plot_distribution()" ] @@ -618,13 +592,13 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "we can neatly see that the recorded data shows a centre-bias, which is a well-known effect from eye statistics. In y, we can see that fixations tend to occur below the horizon, which is indicative of a walking task where a participant looks at the floor in front of them more often" + "We can see a clear centre-bias, as participants tend to look more centrally relative to head position." ] } ], "metadata": { "kernelspec": { - "display_name": "pyneon", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -638,7 +612,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.4" + "version": "3.12.6" } }, "nbformat": 4, diff --git a/genindex.html b/genindex.html index 1e66e46..6406a49 100644 --- a/genindex.html +++ b/genindex.html @@ -342,16 +342,20 @@

    C

  • (pyneon.NeonRecording method)
  • - - + @@ -629,12 +633,18 @@

    R

    - + diff --git a/objects.inv b/objects.inv index 3a36245f7193731db9414606964260e3ef954f48..da202b09a998ef83ad5f63d7c0f928a07140701b 100644 GIT binary patch delta 3659 zcmV-R4z%&z9GxAIb$?vTa@)8P-RCP%rEH;$^O}@)9>=-ms!YZeCB91)O+qniD3Zg6 z6V2COya|$cLwA$N?8d(M|8$O>GCHB*sVRbyI+QnEQPw~DG)6tjhq9?7QN9Wm`o5JU?S;3GRayT{DYRYF zqHZ`x!Q@SyXTt$K2S}V(SPBwEK<9Rqn#QuGA{y%dG!PCw)B=B%U_xNV3Lr2WdEXMkn%L9W7Nkc zePp&(Lng?cVU&E1j(=wqPmJ;d9tY25fto~6sb`{6L2OVQ4P$N+m{Mmx*OfYal@50)MD6D%>ag;8`&M_%^fS|fK3`q#=BaAKGAu@O6Lwq;z?tEq_upZrdh*()Z&M#{#g$^J6`p+OuIi`a!KsVr{nsVJRkY8W;u|bIy&fF3Fgf z7&eWO=>G&Lim`l?(1v3g2U_%BLzi8&=_TG^bZt}N_9r6!#M|lS=OKGWUG^giY+7>- zTSRDCp|zV!3C+e{#0tv_Zg0kZXij^H;yKgt(tmV{KBK+dNrV^w4>$V5OWytYJ+5F% zYgyS~>tKyQ)a)(>9}sS4gsrb@oMTy`WHQIH>%$lOHO}J8jql>JKa6#GY`Rl*KJ?kC ztx%Cl4iA`1v@yoCTBFc5kNlN3}gyK1^YD&jUi_@Mtj65wz zD}N9Op2Qa=x5u`R;jAD$q4LMmkO)%a4>sc;M*Gf||FL9|4fe_;u9hE#x`Wx>3{ z!5CWKvex*sfav`@p(w_|3iSYnF|MGRc7JwQV*X-!y;oD)8VRIBkmD=7sMZDQhIz%J zV%SCj{ZQ=9L@_oiSO_%EvR2GbfEaDOJ928t#hNnDCrSqj94^fV-qI}Ml-O%4H@-#j>COPxRiJVjMzG%>&9?yQLlp)V|lUQxhgXhi=)tHWXNOFws+U7 z=-$hpJ3Z{oaYcUf*rB@;v#V7v@T?y_$J9+-wd;r8b+Rp4RK;R9XOQ?)n7qDmJXEi- zP3+HzyO87PNdL1@=1-(7B1upewtx1yf8}zw6-PnYtXZV~bfi~2j*j9~w@AI|P(Nr4 z6X8MC3q0$eqQ?;wR1d#V=1D}x8Y6fpp#qc0#)9wVa_WlX4n1EMdN-a)()QIE9k*Dmyg7sHtA&cy@DN zwOc8Wqt1byKvwS$56}*yFMQ?kj3;lqT_KEDusLY;-#awIsF^(a@l4Gzg0KQ9?GPb^ zOSNJONrb3}wLl41#M7R|Jb#=z;RI8;IcUW&VlLlATEcJa)CnY*M9fAgm8Hj&xchyshR#VksX@PW{-x6^Y=hKcuzyZ2Cxlj5C0po*s%w^rj&PuybBcsuNt*^ipxj-bFQ8I&%S0FFvhWhA{>TBb!BKuTt4Mp9BTJdHAy4nHGr`5={3 z^x&5MX5Kv(Kh|R{g3CO2z+Hj9oOiAEd;^c_T?q>oX$U1Xc_Eh7JORS4pmH;u6j>_J z*Ue8hT;Jbm5jJIUj5!GU4INICHcdzI&=9z9 zha^>6cKjme5 zH=J)URqDOC83`B{Gqc8vSHn0oU71z=E9$tUCVvGk_BgLyqeaKnH~xGF?x)DY?HR#u zU6%h%{-C+GKTEttV<8oDjT^G@t;T-!`VEzDZYKTdrv<+sPz$eikVIgK^cfcjpon1}Bn;zsCt)bZH#;CTI6FmMe;G9vVOu0abJ{|9uCU%bZk|U*l7D_^}gMU-3 z7$Q8Q4}37YJK%!~^75)aJU%(GkF| zN+9)2j(j}){eOwD&`cZvF%tFql`KU+3v^93swaIFTelgRV>}p_hgd~l*b##V? z%jVhvbzK842Sg5S8@3O+n%r5URpOplx#I)64&c!$B&NC{!|RbqY7V7o6BLzacmF z=r~qT-mlh+@$%F#I|EKRW>loRCdf|pyR(WZtBi{HokFY}n97M!O3Kk2oRrHGh)7&J zKb3@?N+7(&YFzt8 d6XGTOCMKgyUuV>IaxoL@k-f~b{{d*>ak}cC_WS?< delta 3595 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 R#Yn7I_L`pk4+P6@f(FG@{^I}u diff --git a/reference/data.html b/reference/data.html index f60ee9c..e47aa41 100644 --- a/reference/data.html +++ b/reference/data.html @@ -505,6 +505,24 @@ +
    +
    +restrict(other: NeonStream)#
    +

    Temporally restrict the stream to the timestamps of another stream. +In others words, crop the stream to tmin and tmax of the other stream.

    +
    +
    Parameters:
    +

    other (NeonStream) – The other stream whose timestamps are used to restrict the data.

    +
    +
    Returns:
    +

    Stream with data restricted to the timestamps of the other stream.

    +
    +
    Return type:
    +

    NeonStream

    +
    +
    +
    +
    interpolate(new_ts: ndarray | None = None, float_kind: str = 'linear', other_kind: str = 'nearest', inplace: bool = False) NeonStream | None#
    @@ -624,6 +642,50 @@

    Event ID.

    +
    +
    +crop(tmin: Number | None = None, tmax: Number | None = None, by: Literal['timestamp', 'row'] = 'timestamp', inplace: bool = False) NeonEV | None#
    +

    Crop data to a specific time range based on timestamps or row numbers.

    +
    +
    Parameters:
    +
      +
    • tmin (number, optional) – Start timestamp/row to crop the data to. If None, +the minimum timestamp/row in the data is used. Defaults to None.

    • +
    • tmax (number, optional) – End timestamp/row to crop the data to. If None, +the maximum timestamp/row in the data is used. Defaults to None.

    • +
    • by ("timestamp" or "row", optional) – Whether tmin and tmax are UTC timestamps in nanoseconds +or row numbers of the stream data. +Defaults to “timestamp”.

    • +
    • inplace (bool, optional) – Whether to replace the data in the object with the cropped data. +Defaults to False.

    • +
    +
    +
    Returns:
    +

    Cropped stream if inplace=False, otherwise None.

    +
    +
    Return type:
    +

    NeonEV or None

    +
    +
    +
    + +
    +
    +restrict(other: NeonStream) NeonEV#
    +

    Restrict events to a time range defined by another stream.

    +
    +
    Parameters:
    +

    other (NeonStream) – Stream to restrict to.

    +
    +
    Returns:
    +

    Restricted event data.

    +
    +
    Return type:
    +

    NeonEV

    +
    +
    +
    +
    @@ -878,6 +940,7 @@

    Returns:#
  • NeonStream.is_uniformly_sampled
  • NeonStream.time_to_ts()
  • NeonStream.crop()
  • +
  • NeonStream.restrict()
  • NeonStream.interpolate()
  • NeonStream.window_average()
  • @@ -891,6 +954,8 @@

    Returns:#
  • NeonEV.end_ts
  • NeonEV.durations
  • NeonEV.id
  • +
  • NeonEV.crop()
  • +
  • NeonEV.restrict()
  • NeonBlinks
  • diff --git a/searchindex.js b/searchindex.js index 41b15c2..d9a2831 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"1. Setup: Loading a Neon Recording": [[13, "1.-Setup:-Loading-a-Neon-Recording"]], "2. Mapping Gaze Data to Video Frames": [[13, "2.-Mapping-Gaze-Data-to-Video-Frames"]], "3. Estimating the Scanpath": [[13, "3.-Estimating-the-Scanpath"]], "4. Understanding Fixation Status": [[13, "4.-Understanding-Fixation-Status"]], "5. Overlaying Fixations on the Video": [[13, "5.-Overlaying-Fixations-on-the-Video"]], "Classes for individual data types": [[1, null]], "Concatenating different streams": [[11, "Concatenating-different-streams"]], "Conclusion": [[8, "Conclusion"]], "Data and metadata of a NeonRecording": [[12, "Data-and-metadata-of-a-NeonRecording"]], "Data as dataframes": [[12, "Data-as-dataframes"]], "Data format": [[0, "data-format"]], "Data streams and events": [[12, "Data-streams-and-events"]], "Export Neon data recording to BIDS formats": [[9, null]], "Exportation module": [[3, null]], "Installation": [[0, "installation"]], "Interpolate Data and Concatenate Channels": [[11, null]], "Interpolating data streams": [[11, "Interpolating-data-streams"]], "License": [[0, "license"]], "Mapping Scanpath to video": [[13, null]], "NeonDataset class": [[2, null]], "NeonRecording class": [[6, null]], "Parameters:": [[1, "parameters"], [6, "parameters"], [6, "id1"]], "Preprocessing module": [[5, null]], "PyNeon API": [[4, null]], "PyNeon Tutorials": [[10, null]], "Reading a Neon dataset/recording": [[12, null]], "Reading sample data": [[12, "Reading-sample-data"]], "Returns:": [[1, "returns"]], "Step 1: Loading Sample Data": [[8, "Step-1:-Loading-Sample-Data"]], "Step 2: Constructing Event Times": [[8, "Step-2:-Constructing-Event-Times"]], "Step 3: Verifying Event Intervals": [[8, "Step-3:-Verifying-Event-Intervals"]], "Step 4: Creating Epochs from the Data": [[8, "Step-4:-Creating-Epochs-from-the-Data"]], "Step 5: Initializing the Epoch Class": [[8, "Step-5:-Initializing-the-Epoch-Class"]], "Step 6: Converting Epochs to NumPy Array": [[8, "Step-6:-Converting-Epochs-to-NumPy-Array"]], "Step 7: Averaging Across Epochs": [[8, "Step-7:-Averaging-Across-Epochs"]], "Step 8: Averaging Over Time": [[8, "Step-8:-Averaging-Over-Time"]], "Summary": [[13, "Summary"]], "Tutorial: Processing Eye-Tracking Data with PyNeon": [[8, null]], "Unequally sampled data": [[11, "Unequally-sampled-data"]], "Useful attributes and methods for NeonStream and NeonEV": [[12, "Useful-attributes-and-methods-for-NeonStream-and-NeonEV"]], "Visualization module": [[7, null]], "Visualizing gaze heatmap": [[12, "Visualizing-gaze-heatmap"]], "Welcome to PyNeon documentation": [[0, null]]}, "docnames": ["index", "reference/data", "reference/dataset", "reference/export", "reference/index", "reference/preprocess", "reference/recording", "reference/vis", "tutorials/epoching", "tutorials/export_to_bids", "tutorials/index", "tutorials/interpolate_and_concat", "tutorials/read_recording", "tutorials/video"], "envversion": {"nbsphinx": 4, "sphinx": 64, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1}, "filenames": ["index.rst", "reference/data.rst", "reference/dataset.rst", "reference/export.rst", "reference/index.rst", "reference/preprocess.rst", "reference/recording.rst", "reference/vis.rst", "tutorials/epoching.ipynb", "tutorials/export_to_bids.ipynb", "tutorials/index.rst", "tutorials/interpolate_and_concat.ipynb", "tutorials/read_recording.ipynb", "tutorials/video.ipynb"], "indexentries": {"blinks (pyneon.neonrecording property)": [[6, "pyneon.NeonRecording.blinks", false]], "concat_events() (in module pyneon.preprocess)": [[5, "pyneon.preprocess.concat_events", false]], "concat_events() (pyneon.neonrecording method)": [[6, "pyneon.NeonRecording.concat_events", false]], "concat_streams() (in module pyneon.preprocess)": [[5, "pyneon.preprocess.concat_streams", false]], "concat_streams() (pyneon.neonrecording method)": [[6, "pyneon.NeonRecording.concat_streams", false]], "construct_event_times() (in module pyneon.preprocess)": [[5, "pyneon.preprocess.construct_event_times", false]], "contents (pyneon.neonrecording attribute)": [[6, "pyneon.NeonRecording.contents", false]], "create_epoch() (in module pyneon.preprocess)": [[5, "pyneon.preprocess.create_epoch", false]], "crop() (pyneon.stream.neonstream method)": [[1, "pyneon.stream.NeonStream.crop", false]], "customstream (class in pyneon.stream)": [[1, "pyneon.stream.CustomStream", false]], "data (pyneon.stream.neonstream attribute)": [[1, "pyneon.stream.NeonStream.data", false]], "data (pyneon.tabular.neontabular attribute)": [[1, "pyneon.tabular.NeonTabular.data", false]], "dataset_dir (pyneon.neondataset attribute)": [[2, "pyneon.NeonDataset.dataset_dir", false]], "duration (pyneon.stream.neonstream property)": [[1, "pyneon.stream.NeonStream.duration", false]], "durations (pyneon.events.neonev property)": [[1, "pyneon.events.NeonEV.durations", false]], "end_ts (pyneon.events.neonev property)": [[1, "pyneon.events.NeonEV.end_ts", false]], "epoch (class in pyneon.preprocess)": [[5, "pyneon.preprocess.Epoch", false]], "estimate_scanpath() (in module pyneon.video)": [[1, "pyneon.video.estimate_scanpath", false]], "estimate_scanpath() (pyneon.neonrecording method)": [[6, "pyneon.NeonRecording.estimate_scanpath", false]], "events (pyneon.neonrecording property)": [[6, "pyneon.NeonRecording.events", false]], "export_eye_bids() (in module pyneon.export)": [[3, "pyneon.export.export_eye_bids", false]], "export_eye_bids() (pyneon.neonrecording method)": [[6, "pyneon.NeonRecording.export_eye_bids", false]], "export_motion_bids() (in module pyneon.export)": [[3, "pyneon.export.export_motion_bids", false]], "export_motion_bids() (pyneon.neonrecording method)": [[6, "pyneon.NeonRecording.export_motion_bids", false]], "extract_event_times() (in module pyneon.preprocess)": [[5, "pyneon.preprocess.extract_event_times", false]], "eye_states (pyneon.neonrecording property)": [[6, "pyneon.NeonRecording.eye_states", false]], "file (pyneon.stream.neonstream attribute)": [[1, "pyneon.stream.NeonStream.file", false]], "first_ts (pyneon.stream.neonstream property)": [[1, "pyneon.stream.NeonStream.first_ts", false]], "fixations (pyneon.neonrecording property)": [[6, "pyneon.NeonRecording.fixations", false]], "fps (pyneon.video.neonvideo attribute)": [[1, "pyneon.video.NeonVideo.fps", false]], "gaze (pyneon.neonrecording property)": [[6, "pyneon.NeonRecording.gaze", false]], "height (pyneon.video.neonvideo attribute)": [[1, "pyneon.video.NeonVideo.height", false]], "id (pyneon.events.neonev property)": [[1, "pyneon.events.NeonEV.id", false]], "imu (pyneon.neonrecording property)": [[6, "pyneon.NeonRecording.imu", false]], "info (pyneon.neonrecording attribute)": [[6, "pyneon.NeonRecording.info", false]], "interpolate() (in module pyneon.preprocess)": [[5, "pyneon.preprocess.interpolate", false]], "interpolate() (pyneon.stream.neonstream method)": [[1, "pyneon.stream.NeonStream.interpolate", false]], "is_uniformly_sampled (pyneon.stream.neonstream property)": [[1, "pyneon.stream.NeonStream.is_uniformly_sampled", false]], "last_ts (pyneon.stream.neonstream property)": [[1, "pyneon.stream.NeonStream.last_ts", false]], "load_enrichment() (pyneon.neondataset method)": [[2, "pyneon.NeonDataset.load_enrichment", false]], "module": [[0, "module-pyneon", false], [1, "module-pyneon.events", false], [1, "module-pyneon.stream", false], [1, "module-pyneon.tabular", false], [1, "module-pyneon.video", false], [3, "module-pyneon.export", false], [5, "module-pyneon.preprocess", false], [7, "module-pyneon.vis", false]], "n_frames (pyneon.video.neonvideo attribute)": [[1, "pyneon.video.NeonVideo.n_frames", false]], "neonblinks (class in pyneon.events)": [[1, "pyneon.events.NeonBlinks", false]], "neondataset (class in pyneon)": [[2, "pyneon.NeonDataset", false]], "neonev (class in pyneon.events)": [[1, "pyneon.events.NeonEV", false]], "neonevents (class in pyneon.events)": [[1, "pyneon.events.NeonEvents", false]], "neoneyestates (class in pyneon.stream)": [[1, "pyneon.stream.NeonEyeStates", false]], "neonfixations (class in pyneon.events)": [[1, "pyneon.events.NeonFixations", false]], "neongaze (class in pyneon.stream)": [[1, "pyneon.stream.NeonGaze", false]], "neonimu (class in pyneon.stream)": [[1, "pyneon.stream.NeonIMU", false]], "neonrecording (class in pyneon)": [[6, "pyneon.NeonRecording", false]], "neonsaccades (class in pyneon.events)": [[1, "pyneon.events.NeonSaccades", false]], "neonstream (class in pyneon.stream)": [[1, "pyneon.stream.NeonStream", false]], "neontabular (class in pyneon.tabular)": [[1, "pyneon.tabular.NeonTabular", false]], "neonvideo (class in pyneon.video)": [[1, "pyneon.video.NeonVideo", false]], "plot_distribution() (in module pyneon.vis)": [[7, "pyneon.vis.plot_distribution", false]], "plot_distribution() (pyneon.neonrecording method)": [[6, "pyneon.NeonRecording.plot_distribution", false]], "plot_frame() (in module pyneon.vis)": [[7, "pyneon.vis.plot_frame", false]], "plot_frame() (pyneon.video.neonvideo method)": [[1, "pyneon.video.NeonVideo.plot_frame", false]], "plot_scanpath_on_video() (in module pyneon.vis)": [[7, "pyneon.vis.plot_scanpath_on_video", false]], "plot_scanpath_on_video() (pyneon.neonrecording method)": [[6, "pyneon.NeonRecording.plot_scanpath_on_video", false]], "pyneon": [[0, "module-pyneon", false]], "pyneon.events": [[1, "module-pyneon.events", false]], "pyneon.export": [[3, "module-pyneon.export", false]], "pyneon.preprocess": [[5, "module-pyneon.preprocess", false]], "pyneon.stream": [[1, "module-pyneon.stream", false]], "pyneon.tabular": [[1, "module-pyneon.tabular", false]], "pyneon.video": [[1, "module-pyneon.video", false]], "pyneon.vis": [[7, "module-pyneon.vis", false]], "recording_dir (pyneon.neonrecording attribute)": [[6, "pyneon.NeonRecording.recording_dir", false]], "recording_id (pyneon.neonrecording attribute)": [[6, "pyneon.NeonRecording.recording_id", false]], "recordings (pyneon.neondataset attribute)": [[2, "pyneon.NeonDataset.recordings", false]], "saccades (pyneon.neonrecording property)": [[6, "pyneon.NeonRecording.saccades", false]], "sampling_freq_effective (pyneon.stream.neonstream property)": [[1, "pyneon.stream.NeonStream.sampling_freq_effective", false]], "sampling_freq_nominal (pyneon.stream.neonstream attribute)": [[1, "pyneon.stream.NeonStream.sampling_freq_nominal", false]], "sections (pyneon.neondataset attribute)": [[2, "pyneon.NeonDataset.sections", false]], "start_datetime (pyneon.neonrecording attribute)": [[6, "pyneon.NeonRecording.start_datetime", false]], "start_time (pyneon.neonrecording attribute)": [[6, "pyneon.NeonRecording.start_time", false]], "start_ts (pyneon.events.neonev property)": [[1, "pyneon.events.NeonEV.start_ts", false]], "sync_gaze_to_video() (in module pyneon.video)": [[1, "pyneon.video.sync_gaze_to_video", false]], "sync_gaze_to_video() (pyneon.neonrecording method)": [[6, "pyneon.NeonRecording.sync_gaze_to_video", false]], "time_to_ts() (pyneon.stream.neonstream method)": [[1, "pyneon.stream.NeonStream.time_to_ts", false]], "times (pyneon.stream.neonstream property)": [[1, "pyneon.stream.NeonStream.times", false]], "timestamps (pyneon.stream.neonstream property)": [[1, "pyneon.stream.NeonStream.timestamps", false]], "timestamps (pyneon.video.neonvideo attribute)": [[1, "pyneon.video.NeonVideo.timestamps", false]], "to_numpy() (pyneon.preprocess.epoch method)": [[5, "pyneon.preprocess.Epoch.to_numpy", false]], "ts (pyneon.stream.neonstream property)": [[1, "pyneon.stream.NeonStream.ts", false]], "ts (pyneon.video.neonvideo attribute)": [[1, "pyneon.video.NeonVideo.ts", false]], "ts_diff (pyneon.stream.neonstream property)": [[1, "pyneon.stream.NeonStream.ts_diff", false]], "video (pyneon.neonrecording property)": [[6, "pyneon.NeonRecording.video", false]], "width (pyneon.video.neonvideo attribute)": [[1, "pyneon.video.NeonVideo.width", false]], "window_average() (in module pyneon.preprocess)": [[5, "pyneon.preprocess.window_average", false]], "window_average() (pyneon.stream.neonstream method)": [[1, "pyneon.stream.NeonStream.window_average", false]]}, "objects": {"": [[0, 0, 0, "-", "pyneon"]], "pyneon": [[2, 1, 1, "", "NeonDataset"], [6, 1, 1, "", "NeonRecording"], [1, 0, 0, "-", "events"], [3, 0, 0, "-", "export"], [5, 0, 0, "-", "preprocess"], [1, 0, 0, "-", "stream"], [1, 0, 0, "-", "tabular"], [1, 0, 0, "-", "video"], [7, 0, 0, "-", "vis"]], "pyneon.NeonDataset": [[2, 2, 1, "", "dataset_dir"], [2, 3, 1, "", "load_enrichment"], [2, 2, 1, "", "recordings"], [2, 2, 1, "", "sections"]], "pyneon.NeonRecording": [[6, 4, 1, "", "blinks"], [6, 3, 1, "", "concat_events"], [6, 3, 1, "", "concat_streams"], [6, 2, 1, "", "contents"], [6, 3, 1, "", "estimate_scanpath"], [6, 4, 1, "", "events"], [6, 3, 1, "", "export_eye_bids"], [6, 3, 1, "", "export_motion_bids"], [6, 4, 1, "", "eye_states"], [6, 4, 1, "", "fixations"], [6, 4, 1, "", "gaze"], [6, 4, 1, "", "imu"], [6, 2, 1, "", "info"], [6, 3, 1, "", "plot_distribution"], [6, 3, 1, "", "plot_scanpath_on_video"], [6, 2, 1, "", "recording_dir"], [6, 2, 1, "", "recording_id"], [6, 4, 1, "", "saccades"], [6, 2, 1, "", "start_datetime"], [6, 2, 1, "", "start_time"], [6, 3, 1, "", "sync_gaze_to_video"], [6, 4, 1, "", "video"]], "pyneon.events": [[1, 1, 1, "", "NeonBlinks"], [1, 1, 1, "", "NeonEV"], [1, 1, 1, "", "NeonEvents"], [1, 1, 1, "", "NeonFixations"], [1, 1, 1, "", "NeonSaccades"]], "pyneon.events.NeonEV": [[1, 4, 1, "", "durations"], [1, 4, 1, "", "end_ts"], [1, 4, 1, "", "id"], [1, 4, 1, "", "start_ts"]], "pyneon.export": [[3, 5, 1, "", "export_eye_bids"], [3, 5, 1, "", "export_motion_bids"]], "pyneon.preprocess": [[5, 1, 1, "", "Epoch"], [5, 5, 1, "", "concat_events"], [5, 5, 1, "", "concat_streams"], [5, 5, 1, "", "construct_event_times"], [5, 5, 1, "", "create_epoch"], [5, 5, 1, "", "extract_event_times"], [5, 5, 1, "", "interpolate"], [5, 5, 1, "", "window_average"]], "pyneon.preprocess.Epoch": [[5, 3, 1, "", "to_numpy"]], "pyneon.stream": [[1, 1, 1, "", "CustomStream"], [1, 1, 1, "", "NeonEyeStates"], [1, 1, 1, "", "NeonGaze"], [1, 1, 1, "", "NeonIMU"], [1, 1, 1, "", "NeonStream"]], "pyneon.stream.NeonStream": [[1, 3, 1, "", "crop"], [1, 2, 1, "", "data"], [1, 4, 1, "", "duration"], [1, 2, 1, "", "file"], [1, 4, 1, "", "first_ts"], [1, 3, 1, "", "interpolate"], [1, 4, 1, "", "is_uniformly_sampled"], [1, 4, 1, "", "last_ts"], [1, 4, 1, "", "sampling_freq_effective"], [1, 2, 1, "", "sampling_freq_nominal"], [1, 3, 1, "", "time_to_ts"], [1, 4, 1, "", "times"], [1, 4, 1, "", "timestamps"], [1, 4, 1, "", "ts"], [1, 4, 1, "", "ts_diff"], [1, 3, 1, "", "window_average"]], "pyneon.tabular": [[1, 1, 1, "", "NeonTabular"]], "pyneon.tabular.NeonTabular": [[1, 2, 1, "", "data"]], "pyneon.video": [[1, 1, 1, "", "NeonVideo"], [1, 5, 1, "", "estimate_scanpath"], [1, 5, 1, "", "sync_gaze_to_video"]], "pyneon.video.NeonVideo": [[1, 2, 1, "", "fps"], [1, 2, 1, "", "height"], [1, 2, 1, "", "n_frames"], [1, 3, 1, "", "plot_frame"], [1, 2, 1, "", "timestamps"], [1, 2, 1, "", "ts"], [1, 2, 1, "", "width"]], "pyneon.vis": [[7, 5, 1, "", "plot_distribution"], [7, 5, 1, "", "plot_frame"], [7, 5, 1, "", "plot_scanpath_on_video"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "property", "Python property"], "5": ["py", "function", "Python function"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property", "5": "py:function"}, "terms": {"": [1, 3, 5, 6, 8, 11, 12, 13], "0": [1, 5, 6, 7, 8, 11, 12, 13], "00": [12, 13], "000": 8, "0000000e": 12, "0040000e": 12, "01": [8, 12], "013398": 11, "02": [8, 12], "024792": 11, "025185": 11, "025579": 11, "025917": 11, "026247": 11, "02903257": 8, "03": [8, 12], "036588": 11, "037342": 11, "037639": 11, "037936": 11, "038238": 11, "038541": 11, "039238": 11, "04": 8, "040b8762cef8": 12, "042113": 11, "042568": 13, "045800": 11, "046721": 11, "048916": 11, "05": [8, 13], "051494": 11, "054556": 11, "057486": 11, "058594": 11, "059879": 11, "06": 8, "061802": 11, "062": 12, "063477": 11, "063728": 11, "065682": 11, "067636": 11, "07": [8, 13], "077253": 11, "077680": 11, "078107": 11, "08": [8, 12], "09": 8, "090109": 11, "093205": 11, "095861": 11, "0x000001b2167fc830": 12, "0x000001b236fa6db0": 12, "0x1fb49a7bb60": 11, "0x1fb49cd3d10": 11, "1": [3, 6, 9, 11, 12], "10": [6, 7, 12, 13], "100": [5, 8, 12], "1000": 8, "100000000": 8, "102": 13, "103": 12, "104": 12, "105": 12, "1050": 12, "106": 12, "1066": 12, "1067": [8, 12], "1069": [11, 12], "107": 12, "1070": 11, "1071": 12, "1072": 12, "1073": 11, "1085": 12, "1086": 12, "1087": 12, "1089": 12, "1090": 12, "10919": 11, "11": [3, 6, 8, 12, 13], "110": 11, "1106": 11, "110hz": 11, "1128": 6, "115": 11, "117": 12, "1195": 13, "12": [8, 12], "1200": [6, 7], "123m": 11, "125": 12, "129540": 11, "13": [8, 12], "130": [11, 12], "1334": 13, "14": [8, 12], "15": [8, 11, 12, 13], "154": 13, "155": 12, "158": 12, "16": [8, 11, 12, 13], "1600": [6, 7], "163666": 13, "17": [8, 12], "172": 11, "1725032224427000064": 8, "1725032224852161732": [8, 12], "1725032224857165732": 12, "1725032224862161732": 12, "1725032224867161732": 12, "1725032224872161732": 12, "1725032224878547732": 11, "1725032224887638641": 11, "1725032224896729550": 11, "1725032224905820459": 11, "1725032224914911368": 11, "1725032225007283732": 12, "1725032225027282732": 12, "1725032225282527732": 12, "1725032225347526656": 12, "1725032225347526732": 12, "1725032225617770732": 12, "1725032225667907732": 12, "1725032225798022732": 12, "1725032225833015732": 12, "1725032225958137732": 12, "1725032319533909732": 11, "1725032319717194732": 12, "1725032319722198732": 12, "1725032319727194732": 12, "1725032319732194732": 12, "1725032319737194732": 12, "173": 11, "1754": 12, "1755": 12, "1756": 12, "1757": 12, "1758": 12, "176285": 12, "179": 12, "18": [8, 12], "180": 12, "181": 12, "18769": [11, 12], "19": [8, 12], "1_task": 9, "1d": 8, "1e": 8, "1e6": 11, "1e9": 11, "2": [2, 6, 7, 9, 11, 12], "20": [12, 13], "200": 11, "200hz": [11, 13], "2024": [0, 3, 6, 12, 13], "21": [8, 12], "210049": 12, "212": 12, "212567": 11, "213": 12, "21303": [8, 12], "213030": 12, "214": 12, "215": 12, "216": 12, "217": 12, "218": 12, "22": [8, 12, 13], "220032": 13, "223000": 13, "226": 13, "228": 12, "23": [8, 12], "230": 11, "236726": 11, "24": [8, 12, 13], "244324": 13, "245426": 11, "25": [8, 12], "2544218633": 8, "254749": 11, "255": 12, "258": 13, "2583": 12, "2584": 12, "2585": 12, "2586": 12, "2587": 12, "2588": 12, "26": 8, "260388": 12, "269894": 12, "27": [8, 12], "270": 12, "271": 12, "274666": 11, "278283": 11, "28": [8, 13], "285": 12, "29": 8, "2d": 8, "2nd": 12, "3": [11, 12], "30": 12, "30hz": 13, "31": [8, 11, 13], "318": 13, "32": 8, "327660": 13, "33": 8, "335": 13, "335180": 11, "34": [8, 11, 12, 13], "35": 8, "353641": 11, "358431": 11, "36": 8, "360605": 11, "36139": 12, "364": 12, "366379": 11, "367312": 12, "3685": 12, "369094": 12, "37": [8, 12], "376": 13, "379116": 11, "38": 8, "382535": 11, "39": [8, 11, 12], "3d": [1, 11], "3d_eye_st": [5, 6, 12, 13], "4": [11, 12], "403803": 11, "41": 8, "410354": 11, "4108": 13, "42": 8, "426618": 12, "43": 8, "439": 12, "439696": 11, "439704": 11, "44": 8, "440": 13, "441": 13, "442": 13, "442760": 11, "443": 13, "444": 13, "444m": 11, "445": 13, "445815": 11, "446": 13, "447": [12, 13], "45": 8, "455": 13, "456": 13, "457": 13, "46": 8, "461626": 11, "47": 8, "473": 13, "473521": 12, "48": 8, "486": [8, 12], "487429": 13, "4875033e": 12, "488": 12, "4880033e": 12, "4885033e": 12, "49": 8, "491": 12, "493445": 11, "495": 13, "4d34": 12, "4f07": 13, "4f89": 12, "5": [11, 12], "50": 11, "5000000": 11, "500000000": 8, "508251": 12, "511733": 12, "512433": 12, "525265": 11, "527000": 12, "533": 12, "538": 12, "539": 8, "5411": 12, "546413": 12, "548737": 13, "550682": 11, "556964": 11, "561914": 12, "562393": 11, "564": 12, "572": 12, "576714": 13, "588647": 11, "591703": 11, "5a1a": 13, "5f3f": 12, "6": [11, 12, 13], "60": 12, "601": 12, "602498": 11, "608856": 13, "61": 8, "611": 11, "612": 11, "613": [11, 12], "614": 12, "615": 12, "617": 12, "620": [8, 12], "621": 13, "636408": 12, "639305591f79": 13, "648": 13, "65": 12, "654314": 11, "655640": 13, "676102": 12, "679003": 12, "691": 13, "692588": 11, "694": 12, "699": 12, "699777": 11, "7": [12, 13], "700505": 11, "711353": 11, "716": [3, 6], "72164082": 8, "722": 12, "722201": 11, "725032e": 8, "725586": 13, "74": 13, "742046": 11, "744383": 11, "746807": 11, "748291": 13, "74838272": 8, "748998": [8, 12], "775481": 12, "78": 13, "780": 12, "781338": 12, "784": 8, "789613": 11, "79": 13, "796": 12, "797": 12, "799": 12, "7bbfe91ec561": 12, "8": [11, 12, 13], "80": 13, "800": 12, "801082": 11, "81": 13, "813521": 12, "819739": 12, "843": 12, "856": [8, 12], "861": 12, "861883": 13, "866272": 13, "8727": 12, "878844": 12, "88": 13, "885033": 12, "891351": 11, "9": [8, 11, 12, 13], "901": 12, "906": 12, "91": 13, "919": 13, "920": 12, "921757": 11, "9265f7c1": 13, "93": 13, "932": 12, "93b8c234": 12, "94": 12, "940430": 11, "942273": 11, "944117": 11, "944336": 11, "955": 8, "96": 13, "962830": 13, "97": 13, "98": [12, 13], "982": 12, "983": 12, "986206": 13, "990a3de0": 13, "996703": 11, "996810": 11, "996917": 11, "997017": 11, "997115": 11, "999289": 12, "9dd1": 13, "A": [0, 5, 11, 13], "AND": 0, "AS": 0, "As": [12, 13], "At": 12, "BE": 0, "BUT": 0, "But": 11, "By": 13, "FOR": 0, "For": [1, 2, 3, 5, 6, 11, 12, 13], "IN": 0, "If": [1, 5, 6, 7, 11], "In": [1, 5, 6, 8, 11, 12, 13], "It": [0, 1, 2, 11, 12, 13], "NO": 0, "NOT": 0, "OF": 0, "OR": [0, 1], "On": [8, 12], "THE": 0, "TO": 0, "The": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 13], "There": 12, "These": [8, 12], "To": [0, 12, 13], "WITH": 0, "_": 6, "__init__": 12, "_acq": [3, 6], "_api": 12, "_ax": 12, "_axesbas": 12, "_base": 12, "_channel": 3, "_check_no_unit": 12, "_counter": 12, "_motion": [3, 6], "_physio": 6, "_physioev": 6, "_process_unit_info": 12, "_record": 6, "_run": [3, 6], "_se": [3, 6], "_task": [3, 6], "_tracksi": [3, 6], "abef": 12, "about": [6, 8, 13], "abov": [0, 11, 13], "acceler": 11, "accept": 12, "access": [2, 6, 11, 12], "accompani": 6, "accord": [1, 3, 6], "achiev": 13, "across": 13, "action": 0, "activ": 13, "actual": 13, "ad": [2, 5], "add": 11, "addit": [3, 5, 6], "advanc": 8, "after": [5, 6, 8, 11, 13], "algorithm": [1, 6, 13], "alia": [1, 5, 6], "align": 13, "all": [0, 5, 6, 8, 11, 12, 13], "allow": [11, 12, 13], "alreadi": 12, "also": [0, 5, 6, 8, 11, 12, 13], "altern": [8, 11, 12], "alwai": [5, 11, 12], "amount": 13, "ampl": 11, "amplitud": 12, "an": [0, 1, 2, 3, 5, 6, 8, 11, 12, 13], "analys": 8, "analysi": [8, 12], "analyz": 12, "ani": [0, 11, 12, 13], "annot": 8, "annotated_data": [5, 8], "anyth": 13, "apart": 8, "api": [0, 12], "app": 0, "appar": 12, "appdata": 8, "appelhoff": [3, 6], "append": 8, "appli": [1, 5, 6, 7], "appropri": 12, "ar": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 13], "arang": 8, "argument": [12, 13], "aris": 0, "around": [1, 5, 6, 13], "arrai": [1, 5], "assign": [8, 12, 13], "associ": [0, 5], "assum": 12, "attribut": [1, 2], "author": 0, "auto_titl": [1, 7], "automat": [1, 7, 12], "avail": [6, 7, 12, 13], "averag": [1, 5, 6, 13], "average_interv": 8, "avoid": 12, "awai": 12, "awar": 12, "ax": [1, 6, 7, 11, 12], "ax2": 12, "axi": [1, 6, 7, 8, 12], "axis_info": 12, "axis_map": 12, "axis_nam": 12, "axvlin": 11, "axvspan": 12, "azimuth": [8, 11, 12], "base": [1, 2, 5, 8, 11, 13], "basic": 12, "bcff2832": 12, "becaus": 12, "becom": 13, "been": 11, "befor": [5, 8], "begin": 12, "being": [2, 6, 11], "belong": 5, "below": [11, 12, 13], "benchmark": 13, "benefit": 13, "berg": [3, 6], "between": [1, 5, 6, 8, 11, 13], "bf9b": 13, "bia": 12, "bid": [3, 6, 10], "bin": 11, "blink": [1, 5, 6, 8, 11, 12, 13], "blue": [11, 13], "bodi": 13, "bool": [1, 5, 6, 7, 11], "both": 12, "brain": [0, 3, 6], "byte": 12, "c": [0, 8, 12], "calcul": [8, 12], "call": [11, 12, 13], "camera": [6, 7, 13], "can": [6, 7, 8, 10, 11, 12, 13], "care": 13, "carri": 13, "case": 6, "categori": 12, "caution": 12, "cell": [6, 7, 12, 13], "center": [11, 12], "centr": 12, "central": 11, "cfcb": 12, "chang": [11, 13], "channel": [8, 10], "charg": 0, "check": [8, 11, 12], "check_isinst": 12, "choos": [6, 7], "circl": [6, 7], "circle_radiu": [6, 7], "claim": 0, "clash": 13, "class": [4, 5, 12], "clone": 0, "closest": 1, "cloud": [0, 2, 6, 12], "cmap": [6, 7], "cockx": [3, 6], "collect": [6, 12], "color": [11, 12], "colormap": [6, 7], "column": [1, 5, 6, 8, 11, 12, 13], "column_id": [5, 8], "com": [1, 6], "combin": 11, "common": [5, 6, 8, 11, 12], "commonli": 12, "commun": 0, "companion": 0, "compar": 13, "compliant": [3, 6], "comprehens": 12, "comput": [1, 5, 6, 8, 11, 13], "concat_data": [5, 6], "concat_data_slic": 11, "concat_ev": [4, 5, 6], "concat_stream": [4, 5, 6, 11], "concaten": [5, 6, 10, 12], "conda": [0, 12], "condit": 0, "confirm": 8, "confus": [5, 12], "connect": [0, 6, 7, 13], "consecut": [1, 11], "consider": 13, "consist": [12, 13], "constant": 11, "construct": 5, "construct_event_tim": [4, 5, 8], "contain": [1, 2, 3, 5, 6, 7, 12, 13], "content": [6, 12], "continu": [1, 3, 6, 8, 11, 12, 13], "contract": 0, "convers": 12, "convert": [1, 5, 12], "coordin": [12, 13], "copi": [0, 11], "copyright": 0, "correctli": 8, "correspond": [5, 13], "could": [0, 6, 12], "count": [11, 12], "cover": 12, "creat": [1, 5, 6, 7, 12, 13], "create_epoch": [4, 5, 8], "crop": [1, 12], "csv": [1, 2, 6, 12, 13], "current": [2, 8, 13], "custom": 1, "customstream": [1, 4, 6], "d": 12, "d82369213dbf": 13, "damag": 0, "darkorang": 12, "data": [2, 3, 4, 5, 6, 7, 10], "datafram": [1, 2, 5, 6, 7, 8, 11, 13], "dataset": [2, 10, 11, 13], "dataset_dir": [2, 12], "date": 13, "datetim": 6, "deal": [0, 11], "def": 13, "default": [1, 3, 5, 6, 7, 11, 12, 13], "default_unit": 12, "defin": [5, 6, 11, 13], "definit": 13, "deg": [8, 11, 12], "demonstr": [8, 11], "dennot": 13, "denot": [5, 6, 11, 13], "dens": [6, 7], "densiti": 13, "depend": [12, 13], "descript": [5, 8], "desir": 11, "despit": 13, "detail": [1, 5, 6, 13], "detect": 13, "determin": 13, "develop": [0, 2], "deviat": [6, 7], "diamet": [11, 12], "dict": [1, 3, 5, 6], "dictionari": 5, "diff": [1, 5, 6, 8], "differ": [1, 5, 6, 8, 12], "dimens": [5, 6, 7], "directli": [11, 12], "directori": [2, 3, 6, 12, 13], "displai": [6, 7, 8, 12], "distribut": [0, 11], "divid": 12, "do": 0, "doc": 6, "document": 13, "don": 11, "dot": 13, "download": [2, 6, 12], "downsampl": [1, 5], "draw": 13, "drawn": [6, 7], "driven": 0, "drop": 13, "dtype": [8, 12], "dub": 12, "due": 12, "durat": [1, 12, 13], "dure": [5, 6, 13], "dynam": 13, "e": [1, 5, 6, 11, 12], "e116e606": [8, 9, 11, 12], "e3c": 13, "each": [1, 2, 5, 6, 8, 11, 12, 13], "earliest": [5, 6, 11], "easi": 11, "edit": [3, 6], "effect": [1, 12], "effort": 0, "either": [6, 11, 12], "elev": [8, 11, 12], "els": 12, "empti": [3, 8], "en": [3, 6], "end": [1, 5, 8, 11, 12, 13], "end_t": [1, 11], "end_tim": 11, "enntir": 13, "enrich": [2, 12], "enrichment_dir": 2, "enrichment_info": [2, 12], "ensur": 13, "env": 12, "ep_np": 8, "epoch": [4, 5], "epochs_df": 8, "epochs_np": 5, "equal": [11, 12], "equival": 8, "error": 13, "especi": 11, "essenc": 12, "essenti": 8, "estim": 11, "estimate_scanpath": [1, 4, 6, 13], "estimated_scanpath": 13, "etc": 0, "evalu": [1, 5], "event": [0, 1, 5, 6, 13], "event_data": 5, "event_nam": [5, 6], "event_tim": [5, 8], "everi": [8, 13], "exampl": [2, 6, 11, 12, 13], "except": [5, 12], "execut": 6, "exemplari": 11, "exist": [6, 12, 13], "exist_ok": 9, "expect": [5, 13], "experi": [3, 6], "explor": 11, "export": [0, 4, 6, 10], "export_eye_bid": [3, 4, 6], "export_motion_bid": [3, 4, 6], "express": 0, "extend": 8, "extens": [3, 6], "extra_metadata": [3, 6], "extract": [5, 8], "extract_event_tim": [4, 5], "ey": [0, 1, 6, 11, 12, 13], "eye_st": [5, 6, 11, 12], "eye_states_diff_uniqu": 11, "eye_states_nominal_diff": 11, "eyebal": 11, "f": [8, 11, 12], "facilit": 12, "fals": [1, 5, 6, 7, 12], "far": 11, "feed": 13, "few": 8, "field": [3, 6], "fig": [1, 6, 7, 11, 12], "figsiz": [11, 12], "figur": [1, 6, 7, 11, 12], "file": [0, 1, 2, 3, 6, 7, 8, 12, 13], "filenam": [3, 6, 12, 13], "final": [5, 6, 12], "find": 10, "finial": 6, "first": [1, 8, 12, 13], "first_record": 12, "first_t": 1, "fit": 0, "fix": [5, 13], "fixat": [1, 5, 6, 7, 8, 11, 12], "fixation_id": 11, "flag": 13, "flexibli": [6, 7], "float": [1, 5, 6, 7, 12, 13], "float64": 12, "float_kind": [1, 5], "floor": 12, "flow": [1, 6, 13], "folder": [2, 12], "follow": [0, 2, 5, 6, 11, 12, 13], "form": [5, 6, 10], "format": [3, 6, 10, 13], "found": [5, 6, 8, 12], "fp": 1, "frame": [1, 6, 7], "free": 0, "frequenc": [1, 5, 6, 11, 12], "from": [0, 1, 2, 5, 6, 7, 9, 11, 12, 13], "fromkei": 12, "front": 12, "full": 12, "funcion": 13, "function": [8, 11, 12], "furnish": 0, "further": [8, 11, 13], "futur": 0, "g": [6, 11, 12], "gabriel": 8, "gap": 12, "gaussian": [6, 7], "gaze": [0, 1, 2, 5, 6, 7, 8, 11], "gaze_color": 12, "gaze_crop": 12, "gaze_diff_uniqu": 11, "gaze_nominal_diff": 11, "gaze_resampl": 11, "gaze_resampled_to_imu": 11, "gener": [1, 6, 7], "get": [0, 8, 10, 12, 13], "get_sample_data": [8, 9, 11, 12], "get_xaxis_transform": 12, "github": [12, 13], "give": [8, 12], "given": [11, 13], "global": 5, "global_ref_tim": 8, "global_t_ref": [5, 8], "gramann": [3, 6], "grant": 0, "great": 12, "green": [11, 13], "grid": [5, 6, 7, 8, 11, 12], "gridlin": 11, "grothkopp": [3, 6], "gt": [8, 11, 12, 13], "gyro": 12, "gyro_color": 12, "gz": 6, "h": [3, 6], "ha": [8, 11, 12], "half": 13, "hand": [8, 12], "handl": 12, "hardwar": 13, "hartel": 8, "have": [2, 5, 6, 11, 12, 13], "have_unit": 12, "head": [8, 11, 12, 13], "heatmap": [6, 7], "heatmap_sourc": [6, 7], "heavili": 13, "height": [1, 6, 7], "help": [0, 10, 11], "here": [0, 10], "herebi": 0, "hi": 8, "high": 13, "higher": 11, "highest": [5, 6, 11], "hist": 11, "histogram": 11, "hold": 12, "holder": [0, 2], "horizon": 12, "horizontalalign": 12, "how": [8, 11, 12], "howev": 13, "html": [3, 6], "http": [1, 3, 6], "human": 12, "hz": [5, 11], "i": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 13], "id": [1, 2, 5, 6, 8, 11, 12, 13], "identifi": 5, "ignor": 5, "iloc": [8, 12], "imag": [3, 6, 12], "imagin": 13, "implement": [2, 13], "impli": 0, "import": [8, 9, 11, 12, 13], "improv": 13, "imu": [0, 1, 3, 5, 6, 11, 12, 13], "imu_diff_uniqu": 11, "imu_nominal_diff": 11, "includ": [0, 1, 3, 5, 7, 12, 13], "increas": [5, 13], "index": [1, 3, 5, 6, 7, 12, 13], "indic": [5, 8, 12, 13], "individu": [2, 4, 12], "inferno": [6, 7], "info": [2, 5, 6, 8, 12], "info_fil": 1, "inform": [2, 3, 5, 6, 8, 11, 13], "inherit": [1, 12], "inplac": [1, 5, 6], "input": 5, "inspect": [12, 13], "inspir": 0, "instal": 13, "instanc": 12, "instead": [0, 12], "int": [1, 5, 6, 7], "int32": 12, "int64": 12, "integ": 11, "integrate_in_tim": 8, "integrated_epoch": 8, "interest": 8, "intermedi": 13, "intern": [5, 12], "interp1d": [1, 5, 6, 11], "interp_float_kind": 5, "interp_other_kind": 5, "interpol": [1, 4, 5, 6, 10, 12, 13], "interv": [1, 5, 6, 13], "intuit": 13, "io": [3, 6], "ipykernel_12180": 8, "is_uniformly_sampl": 1, "issu": 11, "item": [5, 6, 12], "iter": 12, "itertool": 12, "its": [5, 6, 12, 13], "j": [3, 6], "jan": 8, "jeung": [3, 6], "json": [2, 3, 6, 12, 13], "jupyt": 10, "just": 12, "k": [3, 6], "kanad": [1, 6, 13], "kernel": [6, 7], "kind": [0, 1, 5, 6], "know": 12, "known": 12, "kwarg": 12, "lab": [0, 1, 6, 11, 12], "label": [3, 5, 6, 11, 12, 13], "larg": 12, "larger": [1, 5, 6], "last": [1, 5, 6, 11, 12, 13], "last_t": 1, "later": [3, 6], "latest": [5, 6, 11], "lead": 13, "left": [11, 12], "legend": 11, "len": 11, "length": [11, 12], "less": [6, 7], "let": [11, 12], "liabil": 0, "liabl": 0, "lib": 12, "librari": [0, 13], "lifecycl": 13, "light": 0, "lightgrai": 12, "like": 12, "likelihood": 13, "limit": [0, 13], "line": [6, 7, 12, 13], "line_thick": [6, 7], "linear": [1, 5, 6, 11, 13], "list": [2, 5, 6, 8, 11, 12, 13], "liter": [1, 6, 7], "live": 13, "lk_param": [1, 6], "ll": 8, "load": [1, 2, 6, 12], "load_enrich": 2, "local": 8, "locat": [6, 11, 12, 13], "log": 11, "long": [12, 13], "longer": 13, "look": [12, 13], "lost": 13, "lot": 13, "lowest": [5, 6, 11], "lt": [8, 11, 12], "luca": [1, 6, 13], "m": [11, 12], "mai": [5, 6, 12], "make": [3, 6, 13], "manag": 5, "mani": [11, 12, 13], "map": [1, 6, 10], "map_gaze_to_video": 13, "mapped_gaz": 13, "mapper_facemap": 12, "mapper_manualmap_csv": 12, "mapper_tagmap_csv": 12, "match": [6, 13], "matplotlib": [1, 6, 7, 11, 12], "max": [5, 6, 11], "max_fix": [6, 7], "maximum": [1, 6, 7], "mean": [8, 11, 12], "meat": 13, "median": [1, 5, 6], "memori": 12, "merchant": 0, "merg": 0, "messag": [1, 5, 6, 12], "metadata": [3, 6], "method": [1, 2, 6, 11, 13], "microsaccad": 13, "might": 11, "millisecond": 1, "min": [5, 6], "minimis": 13, "minimum": 1, "miss": [11, 12], "mit": 0, "mkdir": 9, "mm": 11, "modal": [0, 3, 6], "modifi": 0, "modul": 4, "moment": 13, "monoton": 5, "more": [3, 6, 7, 8, 12], "most": [12, 13], "motion": [3, 6, 9], "motion_dir": [3, 6, 9], "movement": 13, "mp4": [6, 7, 13], "mpatch": 12, "multi": 0, "multipl": [0, 2, 12, 13], "must": [1, 2, 5, 6], "n": [1, 5, 6, 8, 11, 12], "n_channel": 5, "n_epoch": 5, "n_frame": 1, "n_time": 5, "na": [8, 11, 12], "name": [1, 5, 6, 7, 8, 11, 12, 13], "nan": [5, 8, 13], "nan_statu": 5, "nanmean": 8, "nanosecond": [1, 5, 6, 8, 11, 12], "nativ": 0, "natur": [12, 13], "ncc": [0, 12], "ndarrai": [1, 5, 12], "nearest": [1, 5, 6, 13], "neatli": 12, "necessari": [11, 13], "necessarili": 11, "need": [8, 13], "neednew": 12, "neon": [0, 1, 6, 10, 11], "neonblink": [1, 4, 6, 12], "neondataset": [4, 12, 13], "neonev": [1, 4, 6], "neoneyest": [1, 4, 6, 12], "neonfix": [1, 4, 6, 12], "neongaz": [1, 4, 6, 12], "neonimu": [1, 3, 4, 6, 12], "neonimu_run": 9, "neonrecord": [1, 2, 3, 4, 5, 7, 8, 9, 11, 13], "neonsaccad": [1, 4, 6, 12], "neonstream": [1, 4], "neontabular": [1, 4, 12], "neonvideo": [1, 4, 6, 7], "nest": 5, "new": [1, 5, 6, 7, 11], "new_t": [1, 5, 6, 11], "next": [12, 13], "nomin": [1, 5, 6, 11, 12, 13], "non": 13, "none": [1, 5, 6, 7, 8, 11, 12], "noninfring": 0, "note": [3, 5, 6, 13], "notebook": 10, "notic": [0, 11], "now": [11, 12, 13], "np": [1, 5, 6, 8, 11, 13], "number": [1, 5, 6, 7, 12], "numer": [5, 6], "numpi": [5, 11, 12, 13], "object": [1, 2, 3, 5, 6, 7, 8, 11, 12, 13], "obtain": [0, 1, 5, 11], "occupi": 13, "occur": 12, "off": 13, "officewalk": [8, 9, 11, 12], "officewalk_fac": 12, "officewalk_mark": 12, "officewalk_stat": 12, "officewalk_tracksi": 9, "often": 12, "one": [8, 11], "ones": 8, "onli": [1, 5, 11, 12, 13], "onset": 11, "oop": 11, "oppos": 12, "optic": [1, 6, 13], "opticalflow": 13, "optimis": 13, "option": [1, 2, 3, 5, 6, 13], "orang": 11, "ordereddict": 12, "organ": [3, 6, 12], "origin": [1, 5, 6, 11, 12], "other": [0, 1, 5, 6, 8, 12], "other_kind": [1, 5], "otherwis": [0, 1], "our": 13, "out": 0, "outlin": 6, "output": [3, 6, 12, 13], "output_dir": [3, 6], "over": [1, 5, 6, 12, 13], "overal": 8, "overlai": 7, "overlaid": [6, 7, 13], "overlay_fixations_on_video": 13, "overlay_scanpath_on_video": [6, 13], "overview": 12, "own": 12, "p": [8, 12], "packag": 12, "panda": [1, 2, 5, 6, 7, 12, 13], "paramet": [2, 3, 5, 7, 11], "parent": 9, "pars": 2, "partial": 13, "particip": 12, "particular": 0, "past": 13, "path": [1, 2, 3, 6, 7, 12, 13], "pathlib": [1, 2, 3, 6, 7, 12], "pd": [1, 5, 13], "peak": 12, "per": [1, 5, 6, 7, 8], "perform": [5, 6, 8, 12, 13], "permiss": 0, "permit": 0, "person": 0, "physio": 6, "physioev": 6, "physiolog": 5, "pickl": 13, "pip": 0, "pipelin": 13, "pitch": 11, "pixel": [1, 6, 7], "pkl": [6, 13], "pl": 0, "plan": 0, "pleas": 0, "plot": [1, 6, 7, 11, 12], "plot_distribut": [4, 6, 7, 12], "plot_fram": [1, 4, 7], "plot_scanpath_on_video": [4, 6, 7], "plt": [11, 12], "point": [1, 5, 8, 12, 13], "portion": 0, "posit": 13, "possibl": [11, 13], "practic": 13, "prefix": [3, 6, 9], "preprocess": [4, 8, 12], "present": [5, 6, 12, 13], "preserv": 11, "presum": 12, "prevent": 5, "previou": 11, "print": [8, 11, 12, 13], "process": [0, 1, 12, 13], "produc": 12, "product": 1, "project": [0, 2, 6, 12], "properti": [1, 6, 12, 13], "provid": [0, 5, 6, 8, 11, 13], "publish": 0, "pupil": [0, 1, 2, 6, 11, 12], "pupillab": 13, "purpos": 0, "px": [8, 11, 12], "py": [8, 12, 13], "pyneon": [1, 2, 3, 5, 6, 7, 9, 11, 12, 13], "pypi": 0, "pyplot": [1, 6, 7, 11, 12], "python": 12, "qian": [12, 13], "qianc": 12, "quaternion": 11, "quick": 12, "quickli": 12, "quirk": 13, "radiu": [6, 7], "random": 13, "rang": [1, 11], "rate": [5, 11], "rather": 8, "raw": [11, 12], "raw_eye_states_data_slic": 11, "raw_gaze_data_slic": 11, "raw_imu_data_slic": 11, "re": 12, "reach": 13, "read": [0, 1, 2, 6, 10], "readabl": 6, "readthedoc": [3, 6], "rec": [1, 3, 5, 6, 7], "recenc": 13, "recent": [12, 13], "record": [0, 1, 2, 3, 6, 7, 8, 10, 11], "recording_dir": [6, 8, 9, 11, 12, 13], "recording_dir_1": 2, "recording_dir_2": 2, "recording_id": 6, "rectangl": 12, "red": [11, 13], "redund": 12, "refer": [0, 3, 5, 6, 8, 12], "rel": [1, 5, 8, 11, 12, 13], "relat": [5, 12], "relationship": 12, "releas": 0, "relev": 13, "remov": [1, 12], "renam": [5, 6], "render": 13, "repeat": 13, "replac": [1, 5, 6], "report": 13, "repositori": 0, "repres": 13, "reproduc": [3, 6], "requir": [6, 12, 13], "resamp_float_kind": [6, 13], "resamp_other_kind": [6, 13], "resampl": [5, 6, 11, 12], "research": [3, 6], "resolut": 13, "respect": [5, 6, 11, 13], "ressourc": 13, "restrict": 0, "result": [6, 7, 8, 13], "return": [5, 6, 7, 11, 12, 13], "rich": 0, "right": [0, 11], "roll": 11, "roughli": 13, "row": [1, 5, 8, 11, 12, 13], "royalblu": 12, "rtype": 6, "run": [0, 13], "runtim": 13, "runtimewarn": 8, "saccad": [1, 5, 6, 12, 13], "same": [11, 13], "sampl": [1, 3, 5, 6, 13], "sample_dir": [9, 12], "sampling_freq": [5, 6], "sampling_freq_effect": [1, 12], "sampling_freq_nomin": [1, 11, 12], "sampling_r": 5, "save": [3, 6, 7, 13], "scanpath": [1, 6, 7, 10], "scatter": [6, 7, 11], "scatter_sourc": [6, 7], "scatterplot": 12, "scene": [0, 2, 6, 7, 12, 13], "scene_camera": [6, 12, 13], "scene_video": [6, 12, 13], "scene_video_info": [12, 13], "scientif": [3, 6], "scipi": [1, 5, 6, 11], "seaborn": 12, "second": [1, 5, 8, 11, 12], "section": [1, 2, 12], "see": [0, 1, 3, 5, 6, 12, 13], "seem": 11, "seen": [11, 12, 13], "select": [5, 6, 8], "self": [12, 13], "sell": 0, "semi": 12, "sensor": 12, "seri": 8, "serv": 8, "set": [0, 1, 5, 6, 7, 11, 12], "set_color": 12, "set_titl": 11, "set_transform": 12, "set_unit": 12, "set_xlabel": 11, "set_ylabel": 11, "set_yscal": 11, "shall": 0, "shape": [5, 8, 11], "share": 11, "should": [3, 6, 11, 13], "show": [1, 6, 7, 11, 12, 13], "show_video": [6, 7, 13], "sigma": [6, 7], "sign": 13, "simpli": [11, 12], "simultan": 13, "sinc": [1, 5, 6, 11, 12], "singl": [0, 6, 8, 11, 12, 13], "singular": [5, 6], "site": 12, "size": [1, 5, 6, 7, 12], "slice": [8, 12], "smooth": [1, 5, 6, 7], "sn": 12, "so": [0, 12], "softwar": 0, "some": [12, 13], "sourc": [6, 7], "space": [8, 11, 13], "spars": [12, 13], "spec": 1, "special": 12, "specif": [1, 3, 6, 8, 12, 13], "specifi": [1, 5, 6, 7, 8, 11, 12], "sream": 6, "stabil": 12, "stabilis": 13, "stabl": [3, 6], "stack": 12, "standard": [3, 6, 7, 12], "start": [0, 1, 5, 6, 10, 11, 12, 13], "start_datetim": 6, "start_t": [1, 11], "start_tim": [6, 8, 11], "state": [0, 1, 6, 11], "statist": 12, "step_siz": [6, 7], "still": [6, 13], "store": 1, "str": [1, 2, 3, 5, 6, 7, 12, 13], "strcategoryconvert": 12, "stream": [1, 5, 6], "stream_nam": [5, 6], "street": 13, "string": [5, 12], "strip": 12, "structur": [2, 3, 6, 12], "sub": [3, 6, 9], "subclass": 12, "subject": 0, "sublicens": 0, "subplot": [11, 12], "subsequ": [8, 11, 13], "subset": 12, "substanti": 0, "suitabl": [6, 7], "super": 12, "suppli": 5, "support": [1, 5], "sy": 13, "sync_gaz": [1, 6], "sync_gaze_to_video": [1, 4, 6], "synchron": [1, 6, 11, 13], "t": [1, 3, 6, 11, 12], "t_after": [5, 8], "t_befor": [5, 8], "t_ref": [5, 8], "t_rel": [5, 8], "tabular": [1, 12], "tail": 13, "take": [1, 5, 11, 12, 13], "taken": 11, "target": 13, "task": 12, "temp": 8, "templat": [3, 6], "tend": 12, "test": 13, "test_ev": 8, "text": 12, "than": [1, 5, 6], "thei": [2, 5, 8, 11, 12, 13], "them": [11, 12, 13], "therefor": 13, "thi": [0, 5, 6, 8, 11, 12, 13], "thick": [6, 7], "though": 13, "three": 13, "through": 2, "thu": [6, 7, 12], "tick": 11, "tight_layout": 11, "time": [1, 5, 6, 11, 12, 13], "time_to_t": [1, 11], "time_unit": [5, 8], "times_df": [5, 8], "timeseri": [0, 2, 8, 9, 11, 12], "timestamp": [1, 5, 6, 8, 11, 12, 13], "timestamps_fil": 1, "titl": [1, 7], "tlist": 8, "tmax": 1, "tmin": 1, "to_csv": 13, "to_motion_bid": 9, "to_numpi": [5, 8], "to_pickl": 13, "toler": [5, 6], "too": 12, "tool": 0, "top": [6, 7, 12], "tort": 0, "traceback": [12, 13], "track": [0, 6, 13], "trade": 13, "treat": 13, "true": [1, 5, 6, 7, 8, 9, 11, 12, 13], "try": 12, "ts_diff": [1, 11], "tsv": [3, 6], "tupl": [6, 7], "turn": [11, 13], "tutori": [0, 11, 12, 13], "twinx": 12, "two": 12, "txt": [2, 12], "type": [2, 4, 5, 6, 11, 12, 13], "typeerror": [12, 13], "typic": [6, 7], "u": [11, 13], "unavail": 12, "under": [5, 6], "unhash": 12, "uniformli": 1, "uniqu": [5, 11, 12], "unit": [5, 12], "unitdata": 12, "unnderli": 13, "until": 6, "unzip": 12, "up": [12, 13], "updat": [1, 12, 13], "update_unit": 12, "upon": 12, "us": [0, 1, 5, 6, 7, 8, 11, 13], "usabl": 13, "user": [3, 5, 6, 7, 8, 12], "userwarn": 12, "usual": [12, 13], "utc": [1, 11, 12], "val": 12, "valu": [5, 8, 11, 12], "ve": 8, "veloc": 12, "versatil": 0, "vi": 7, "vicin": 13, "video": [0, 1, 2, 6, 7, 10, 12], "video_fil": 1, "video_output_path": [6, 7], "video_with_scanpath": 6, "videocaptur": 1, "visibl": 13, "visual": [4, 13], "w": 11, "wa": [11, 13], "walk": [12, 13], "walk1": [8, 9, 11, 12], "walk2": 12, "want": [11, 12], "warn": 12, "warranti": 0, "we": [0, 8, 11, 12, 13], "wearer": [12, 13], "weight": 0, "well": [8, 12, 13], "welzel": [3, 6], "were": [5, 8, 13], "what": 12, "when": [11, 12, 13], "where": [5, 12, 13], "whether": [0, 1, 5, 6, 7], "which": [0, 1, 5, 6, 11, 12, 13], "while": [12, 13], "whom": 0, "width": [1, 6, 7], "width_height": [6, 7], "window": [1, 5, 6], "window_averag": [1, 4, 5], "window_s": [1, 5, 6], "within": [5, 11, 13], "without": [0, 8], "word": [1, 5], "work": [0, 11, 13], "workflow": 13, "world_timestamp": [6, 12, 13], "worn": [8, 11, 12], "would": [2, 11, 12, 13], "x": [8, 11, 12, 13], "xmax": 12, "xmin": 12, "xtick": 11, "xx_record": 6, "xx_task": [3, 6], "y": [8, 11, 12, 13], "yaw": 11, "yaxi": 12, "yet": [2, 12], "yield": 13, "ymax": 12, "ymin": 12, "you": [0, 10, 12, 13], "your": 13, "ytick": 11, "yy_tracksi": [3, 6], "z": 11, "zeros_lik": 11}, "titles": ["Welcome to PyNeon documentation", "Classes for individual data types", "NeonDataset class", "Exportation module", "PyNeon API", "Preprocessing module", "NeonRecording class", "Visualization module", "Tutorial: Processing Eye-Tracking Data with PyNeon", "Export Neon data recording to BIDS formats", "PyNeon Tutorials", "Interpolate Data and Concatenate Channels", "Reading a Neon dataset/recording", "Mapping Scanpath to video"], "titleterms": {"1": [8, 13], "2": [8, 13], "3": [8, 13], "4": [8, 13], "5": [8, 13], "6": 8, "7": 8, "8": 8, "across": 8, "api": 4, "arrai": 8, "attribut": 12, "averag": 8, "bid": 9, "channel": 11, "class": [1, 2, 6, 8], "concaten": 11, "conclus": 8, "construct": 8, "convert": 8, "creat": 8, "data": [0, 1, 8, 9, 11, 12, 13], "datafram": 12, "dataset": 12, "differ": 11, "document": 0, "epoch": 8, "estim": 13, "event": [8, 12], "export": [3, 9], "ey": 8, "fixat": 13, "format": [0, 9], "frame": 13, "from": 8, "gaze": [12, 13], "heatmap": 12, "individu": 1, "initi": 8, "instal": 0, "interpol": 11, "interv": 8, "licens": 0, "load": [8, 13], "map": 13, "metadata": 12, "method": 12, "modul": [3, 5, 7], "neon": [9, 12, 13], "neondataset": 2, "neonev": 12, "neonrecord": [6, 12], "neonstream": 12, "numpi": 8, "over": 8, "overlai": 13, "paramet": [1, 6], "preprocess": 5, "process": 8, "pyneon": [0, 4, 8, 10], "read": 12, "record": [9, 12, 13], "return": 1, "sampl": [8, 11, 12], "scanpath": 13, "setup": 13, "statu": 13, "step": 8, "stream": [11, 12], "summari": 13, "time": 8, "track": 8, "tutori": [8, 10], "type": 1, "understand": 13, "unequ": 11, "us": 12, "verifi": 8, "video": 13, "visual": [7, 12], "welcom": 0}}) \ No newline at end of file +Search.setIndex({"alltitles": {"1. Setup: Loading a Neon Recording": [[13, "1.-Setup:-Loading-a-Neon-Recording"]], "2. Mapping Gaze Data to Video Frames": [[13, "2.-Mapping-Gaze-Data-to-Video-Frames"]], "3. Estimating the Scanpath": [[13, "3.-Estimating-the-Scanpath"]], "4. Understanding Fixation Status": [[13, "4.-Understanding-Fixation-Status"]], "5. Overlaying Fixations on the Video": [[13, "5.-Overlaying-Fixations-on-the-Video"]], "An example plot of cropped data": [[12, "An-example-plot-of-cropped-data"]], "Classes for individual data types": [[1, null]], "Concatenating different streams": [[11, "Concatenating-different-streams"]], "Conclusion": [[8, "Conclusion"]], "Data and metadata of a NeonRecording": [[12, "Data-and-metadata-of-a-NeonRecording"]], "Data as dataframes": [[12, "Data-as-dataframes"]], "Data format": [[0, "data-format"]], "Export Neon data recording to BIDS formats": [[9, null]], "Exportation module": [[3, null]], "Installation": [[0, "installation"]], "Interpolate Data and Concatenate Channels": [[11, null]], "Interpolating data streams": [[11, "Interpolating-data-streams"]], "License": [[0, "license"]], "Mapping Scanpath to video": [[13, null]], "NeonDataset class": [[2, null]], "NeonRecording class": [[6, null]], "Parameters:": [[1, "parameters"], [6, "parameters"], [6, "id1"]], "Preprocessing module": [[5, null]], "PyNeon API": [[4, null]], "PyNeon Tutorials": [[10, null]], "Reading a Neon dataset/recording": [[12, null]], "Reading sample data": [[12, "Reading-sample-data"]], "Returns:": [[1, "returns"]], "Step 1: Loading Sample Data": [[8, "Step-1:-Loading-Sample-Data"]], "Step 2: Constructing Event Times": [[8, "Step-2:-Constructing-Event-Times"]], "Step 3: Verifying Event Intervals": [[8, "Step-3:-Verifying-Event-Intervals"]], "Step 4: Creating Epochs from the Data": [[8, "Step-4:-Creating-Epochs-from-the-Data"]], "Step 5: Initializing the Epoch Class": [[8, "Step-5:-Initializing-the-Epoch-Class"]], "Step 6: Converting Epochs to NumPy Array": [[8, "Step-6:-Converting-Epochs-to-NumPy-Array"]], "Step 7: Averaging Across Epochs": [[8, "Step-7:-Averaging-Across-Epochs"]], "Step 8: Averaging Over Time": [[8, "Step-8:-Averaging-Over-Time"]], "Summary": [[13, "Summary"]], "Tutorial: Processing Eye-Tracking Data with PyNeon": [[8, null]], "Unequally sampled data": [[11, "Unequally-sampled-data"]], "Useful attributes and methods for NeonStream and NeonEV": [[12, "Useful-attributes-and-methods-for-NeonStream-and-NeonEV"]], "Visualization module": [[7, null]], "Visualizing gaze heatmap": [[12, "Visualizing-gaze-heatmap"]], "Welcome to PyNeon documentation": [[0, null]]}, "docnames": ["index", "reference/data", "reference/dataset", "reference/export", "reference/index", "reference/preprocess", "reference/recording", "reference/vis", "tutorials/epoching", "tutorials/export_to_bids", "tutorials/index", "tutorials/interpolate_and_concat", "tutorials/read_recording", "tutorials/video"], "envversion": {"nbsphinx": 4, "sphinx": 64, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1}, "filenames": ["index.rst", "reference/data.rst", "reference/dataset.rst", "reference/export.rst", "reference/index.rst", "reference/preprocess.rst", "reference/recording.rst", "reference/vis.rst", "tutorials/epoching.ipynb", "tutorials/export_to_bids.ipynb", "tutorials/index.rst", "tutorials/interpolate_and_concat.ipynb", "tutorials/read_recording.ipynb", "tutorials/video.ipynb"], "indexentries": {"blinks (pyneon.neonrecording property)": [[6, "pyneon.NeonRecording.blinks", false]], "concat_events() (in module pyneon.preprocess)": [[5, "pyneon.preprocess.concat_events", false]], "concat_events() (pyneon.neonrecording method)": [[6, "pyneon.NeonRecording.concat_events", false]], "concat_streams() (in module pyneon.preprocess)": [[5, "pyneon.preprocess.concat_streams", false]], "concat_streams() (pyneon.neonrecording method)": [[6, "pyneon.NeonRecording.concat_streams", false]], "construct_event_times() (in module pyneon.preprocess)": [[5, "pyneon.preprocess.construct_event_times", false]], "contents (pyneon.neonrecording attribute)": [[6, "pyneon.NeonRecording.contents", false]], "create_epoch() (in module pyneon.preprocess)": [[5, "pyneon.preprocess.create_epoch", false]], "crop() (pyneon.events.neonev method)": [[1, "pyneon.events.NeonEV.crop", false]], "crop() (pyneon.stream.neonstream method)": [[1, "pyneon.stream.NeonStream.crop", false]], "customstream (class in pyneon.stream)": [[1, "pyneon.stream.CustomStream", false]], "data (pyneon.stream.neonstream attribute)": [[1, "pyneon.stream.NeonStream.data", false]], "data (pyneon.tabular.neontabular attribute)": [[1, "pyneon.tabular.NeonTabular.data", false]], "dataset_dir (pyneon.neondataset attribute)": [[2, "pyneon.NeonDataset.dataset_dir", false]], "duration (pyneon.stream.neonstream property)": [[1, "pyneon.stream.NeonStream.duration", false]], "durations (pyneon.events.neonev property)": [[1, "pyneon.events.NeonEV.durations", false]], "end_ts (pyneon.events.neonev property)": [[1, "pyneon.events.NeonEV.end_ts", false]], "epoch (class in pyneon.preprocess)": [[5, "pyneon.preprocess.Epoch", false]], "estimate_scanpath() (in module pyneon.video)": [[1, "pyneon.video.estimate_scanpath", false]], "estimate_scanpath() (pyneon.neonrecording method)": [[6, "pyneon.NeonRecording.estimate_scanpath", false]], "events (pyneon.neonrecording property)": [[6, "pyneon.NeonRecording.events", false]], "export_eye_bids() (in module pyneon.export)": [[3, "pyneon.export.export_eye_bids", false]], "export_eye_bids() (pyneon.neonrecording method)": [[6, "pyneon.NeonRecording.export_eye_bids", false]], "export_motion_bids() (in module pyneon.export)": [[3, "pyneon.export.export_motion_bids", false]], "export_motion_bids() (pyneon.neonrecording method)": [[6, "pyneon.NeonRecording.export_motion_bids", false]], "extract_event_times() (in module pyneon.preprocess)": [[5, "pyneon.preprocess.extract_event_times", false]], "eye_states (pyneon.neonrecording property)": [[6, "pyneon.NeonRecording.eye_states", false]], "file (pyneon.stream.neonstream attribute)": [[1, "pyneon.stream.NeonStream.file", false]], "first_ts (pyneon.stream.neonstream property)": [[1, "pyneon.stream.NeonStream.first_ts", false]], "fixations (pyneon.neonrecording property)": [[6, "pyneon.NeonRecording.fixations", false]], "fps (pyneon.video.neonvideo attribute)": [[1, "pyneon.video.NeonVideo.fps", false]], "gaze (pyneon.neonrecording property)": [[6, "pyneon.NeonRecording.gaze", false]], "height (pyneon.video.neonvideo attribute)": [[1, "pyneon.video.NeonVideo.height", false]], "id (pyneon.events.neonev property)": [[1, "pyneon.events.NeonEV.id", false]], "imu (pyneon.neonrecording property)": [[6, "pyneon.NeonRecording.imu", false]], "info (pyneon.neonrecording attribute)": [[6, "pyneon.NeonRecording.info", false]], "interpolate() (in module pyneon.preprocess)": [[5, "pyneon.preprocess.interpolate", false]], "interpolate() (pyneon.stream.neonstream method)": [[1, "pyneon.stream.NeonStream.interpolate", false]], "is_uniformly_sampled (pyneon.stream.neonstream property)": [[1, "pyneon.stream.NeonStream.is_uniformly_sampled", false]], "last_ts (pyneon.stream.neonstream property)": [[1, "pyneon.stream.NeonStream.last_ts", false]], "load_enrichment() (pyneon.neondataset method)": [[2, "pyneon.NeonDataset.load_enrichment", false]], "module": [[0, "module-pyneon", false], [1, "module-pyneon.events", false], [1, "module-pyneon.stream", false], [1, "module-pyneon.tabular", false], [1, "module-pyneon.video", false], [3, "module-pyneon.export", false], [5, "module-pyneon.preprocess", false], [7, "module-pyneon.vis", false]], "n_frames (pyneon.video.neonvideo attribute)": [[1, "pyneon.video.NeonVideo.n_frames", false]], "neonblinks (class in pyneon.events)": [[1, "pyneon.events.NeonBlinks", false]], "neondataset (class in pyneon)": [[2, "pyneon.NeonDataset", false]], "neonev (class in pyneon.events)": [[1, "pyneon.events.NeonEV", false]], "neonevents (class in pyneon.events)": [[1, "pyneon.events.NeonEvents", false]], "neoneyestates (class in pyneon.stream)": [[1, "pyneon.stream.NeonEyeStates", false]], "neonfixations (class in pyneon.events)": [[1, "pyneon.events.NeonFixations", false]], "neongaze (class in pyneon.stream)": [[1, "pyneon.stream.NeonGaze", false]], "neonimu (class in pyneon.stream)": [[1, "pyneon.stream.NeonIMU", false]], "neonrecording (class in pyneon)": [[6, "pyneon.NeonRecording", false]], "neonsaccades (class in pyneon.events)": [[1, "pyneon.events.NeonSaccades", false]], "neonstream (class in pyneon.stream)": [[1, "pyneon.stream.NeonStream", false]], "neontabular (class in pyneon.tabular)": [[1, "pyneon.tabular.NeonTabular", false]], "neonvideo (class in pyneon.video)": [[1, "pyneon.video.NeonVideo", false]], "plot_distribution() (in module pyneon.vis)": [[7, "pyneon.vis.plot_distribution", false]], "plot_distribution() (pyneon.neonrecording method)": [[6, "pyneon.NeonRecording.plot_distribution", false]], "plot_frame() (in module pyneon.vis)": [[7, "pyneon.vis.plot_frame", false]], "plot_frame() (pyneon.video.neonvideo method)": [[1, "pyneon.video.NeonVideo.plot_frame", false]], "plot_scanpath_on_video() (in module pyneon.vis)": [[7, "pyneon.vis.plot_scanpath_on_video", false]], "plot_scanpath_on_video() (pyneon.neonrecording method)": [[6, "pyneon.NeonRecording.plot_scanpath_on_video", false]], "pyneon": [[0, "module-pyneon", false]], "pyneon.events": [[1, "module-pyneon.events", false]], "pyneon.export": [[3, "module-pyneon.export", false]], "pyneon.preprocess": [[5, "module-pyneon.preprocess", false]], "pyneon.stream": [[1, "module-pyneon.stream", false]], "pyneon.tabular": [[1, "module-pyneon.tabular", false]], "pyneon.video": [[1, "module-pyneon.video", false]], "pyneon.vis": [[7, "module-pyneon.vis", false]], "recording_dir (pyneon.neonrecording attribute)": [[6, "pyneon.NeonRecording.recording_dir", false]], "recording_id (pyneon.neonrecording attribute)": [[6, "pyneon.NeonRecording.recording_id", false]], "recordings (pyneon.neondataset attribute)": [[2, "pyneon.NeonDataset.recordings", false]], "restrict() (pyneon.events.neonev method)": [[1, "pyneon.events.NeonEV.restrict", false]], "restrict() (pyneon.stream.neonstream method)": [[1, "pyneon.stream.NeonStream.restrict", false]], "saccades (pyneon.neonrecording property)": [[6, "pyneon.NeonRecording.saccades", false]], "sampling_freq_effective (pyneon.stream.neonstream property)": [[1, "pyneon.stream.NeonStream.sampling_freq_effective", false]], "sampling_freq_nominal (pyneon.stream.neonstream attribute)": [[1, "pyneon.stream.NeonStream.sampling_freq_nominal", false]], "sections (pyneon.neondataset attribute)": [[2, "pyneon.NeonDataset.sections", false]], "start_datetime (pyneon.neonrecording attribute)": [[6, "pyneon.NeonRecording.start_datetime", false]], "start_time (pyneon.neonrecording attribute)": [[6, "pyneon.NeonRecording.start_time", false]], "start_ts (pyneon.events.neonev property)": [[1, "pyneon.events.NeonEV.start_ts", false]], "sync_gaze_to_video() (in module pyneon.video)": [[1, "pyneon.video.sync_gaze_to_video", false]], "sync_gaze_to_video() (pyneon.neonrecording method)": [[6, "pyneon.NeonRecording.sync_gaze_to_video", false]], "time_to_ts() (pyneon.stream.neonstream method)": [[1, "pyneon.stream.NeonStream.time_to_ts", false]], "times (pyneon.stream.neonstream property)": [[1, "pyneon.stream.NeonStream.times", false]], "timestamps (pyneon.stream.neonstream property)": [[1, "pyneon.stream.NeonStream.timestamps", false]], "timestamps (pyneon.video.neonvideo attribute)": [[1, "pyneon.video.NeonVideo.timestamps", false]], "to_numpy() (pyneon.preprocess.epoch method)": [[5, "pyneon.preprocess.Epoch.to_numpy", false]], "ts (pyneon.stream.neonstream property)": [[1, "pyneon.stream.NeonStream.ts", false]], "ts (pyneon.video.neonvideo attribute)": [[1, "pyneon.video.NeonVideo.ts", false]], "ts_diff (pyneon.stream.neonstream property)": [[1, "pyneon.stream.NeonStream.ts_diff", false]], "video (pyneon.neonrecording property)": [[6, "pyneon.NeonRecording.video", false]], "width (pyneon.video.neonvideo attribute)": [[1, "pyneon.video.NeonVideo.width", false]], "window_average() (in module pyneon.preprocess)": [[5, "pyneon.preprocess.window_average", false]], "window_average() (pyneon.stream.neonstream method)": [[1, "pyneon.stream.NeonStream.window_average", false]]}, "objects": {"": [[0, 0, 0, "-", "pyneon"]], "pyneon": [[2, 1, 1, "", "NeonDataset"], [6, 1, 1, "", "NeonRecording"], [1, 0, 0, "-", "events"], [3, 0, 0, "-", "export"], [5, 0, 0, "-", "preprocess"], [1, 0, 0, "-", "stream"], [1, 0, 0, "-", "tabular"], [1, 0, 0, "-", "video"], [7, 0, 0, "-", "vis"]], "pyneon.NeonDataset": [[2, 2, 1, "", "dataset_dir"], [2, 3, 1, "", "load_enrichment"], [2, 2, 1, "", "recordings"], [2, 2, 1, "", "sections"]], "pyneon.NeonRecording": [[6, 4, 1, "", "blinks"], [6, 3, 1, "", "concat_events"], [6, 3, 1, "", "concat_streams"], [6, 2, 1, "", "contents"], [6, 3, 1, "", "estimate_scanpath"], [6, 4, 1, "", "events"], [6, 3, 1, "", "export_eye_bids"], [6, 3, 1, "", "export_motion_bids"], [6, 4, 1, "", "eye_states"], [6, 4, 1, "", "fixations"], [6, 4, 1, "", "gaze"], [6, 4, 1, "", "imu"], [6, 2, 1, "", "info"], [6, 3, 1, "", "plot_distribution"], [6, 3, 1, "", "plot_scanpath_on_video"], [6, 2, 1, "", "recording_dir"], [6, 2, 1, "", "recording_id"], [6, 4, 1, "", "saccades"], [6, 2, 1, "", "start_datetime"], [6, 2, 1, "", "start_time"], [6, 3, 1, "", "sync_gaze_to_video"], [6, 4, 1, "", "video"]], "pyneon.events": [[1, 1, 1, "", "NeonBlinks"], [1, 1, 1, "", "NeonEV"], [1, 1, 1, "", "NeonEvents"], [1, 1, 1, "", "NeonFixations"], [1, 1, 1, "", "NeonSaccades"]], "pyneon.events.NeonEV": [[1, 3, 1, "", "crop"], [1, 4, 1, "", "durations"], [1, 4, 1, "", "end_ts"], [1, 4, 1, "", "id"], [1, 3, 1, "", "restrict"], [1, 4, 1, "", "start_ts"]], "pyneon.export": [[3, 5, 1, "", "export_eye_bids"], [3, 5, 1, "", "export_motion_bids"]], "pyneon.preprocess": [[5, 1, 1, "", "Epoch"], [5, 5, 1, "", "concat_events"], [5, 5, 1, "", "concat_streams"], [5, 5, 1, "", "construct_event_times"], [5, 5, 1, "", "create_epoch"], [5, 5, 1, "", "extract_event_times"], [5, 5, 1, "", "interpolate"], [5, 5, 1, "", "window_average"]], "pyneon.preprocess.Epoch": [[5, 3, 1, "", "to_numpy"]], "pyneon.stream": [[1, 1, 1, "", "CustomStream"], [1, 1, 1, "", "NeonEyeStates"], [1, 1, 1, "", "NeonGaze"], [1, 1, 1, "", "NeonIMU"], [1, 1, 1, "", "NeonStream"]], "pyneon.stream.NeonStream": [[1, 3, 1, "", "crop"], [1, 2, 1, "", "data"], [1, 4, 1, "", "duration"], [1, 2, 1, "", "file"], [1, 4, 1, "", "first_ts"], [1, 3, 1, "", "interpolate"], [1, 4, 1, "", "is_uniformly_sampled"], [1, 4, 1, "", "last_ts"], [1, 3, 1, "", "restrict"], [1, 4, 1, "", "sampling_freq_effective"], [1, 2, 1, "", "sampling_freq_nominal"], [1, 3, 1, "", "time_to_ts"], [1, 4, 1, "", "times"], [1, 4, 1, "", "timestamps"], [1, 4, 1, "", "ts"], [1, 4, 1, "", "ts_diff"], [1, 3, 1, "", "window_average"]], "pyneon.tabular": [[1, 1, 1, "", "NeonTabular"]], "pyneon.tabular.NeonTabular": [[1, 2, 1, "", "data"]], "pyneon.video": [[1, 1, 1, "", "NeonVideo"], [1, 5, 1, "", "estimate_scanpath"], [1, 5, 1, "", "sync_gaze_to_video"]], "pyneon.video.NeonVideo": [[1, 2, 1, "", "fps"], [1, 2, 1, "", "height"], [1, 2, 1, "", "n_frames"], [1, 3, 1, "", "plot_frame"], [1, 2, 1, "", "timestamps"], [1, 2, 1, "", "ts"], [1, 2, 1, "", "width"]], "pyneon.vis": [[7, 5, 1, "", "plot_distribution"], [7, 5, 1, "", "plot_frame"], [7, 5, 1, "", "plot_scanpath_on_video"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "property", "Python property"], "5": ["py", "function", "Python function"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property", "5": "py:function"}, "terms": {"": [1, 3, 5, 6, 8, 11, 12, 13], "0": [1, 5, 6, 7, 8, 11, 12, 13], "00": [12, 13], "000": 8, "0000000e": 12, "0000027ae592db90": 12, "003342": 12, "01": [8, 12], "013398": 11, "02": 8, "024792": 11, "025185": 11, "025579": 11, "025917": 11, "026247": 11, "027": 12, "02903257": 8, "03": [8, 12], "036588": 11, "037342": 11, "037639": 11, "037936": 11, "038238": 11, "038541": 11, "039238": 11, "04": 8, "040944": 12, "042113": 11, "042568": 13, "045800": 11, "046": 12, "046721": 11, "048916": 11, "05": [8, 13], "051494": 11, "0543440e": 12, "054556": 11, "0548444e": 12, "0553439e": 12, "057486": 11, "058594": 11, "059879": 11, "06": 8, "061802": 11, "063477": 11, "063728": 11, "065682": 11, "067636": 11, "07": [8, 13], "077253": 11, "077680": 11, "078107": 11, "08": 8, "09": 8, "090109": 11, "093205": 11, "095861": 11, "096": 12, "0x0000027ac22e0b90": 12, "0x0000027ae3680c20": 12, "0x1fb49a7bb60": 11, "0x1fb49cd3d10": 11, "1": [3, 6, 9, 11, 12], "10": [6, 7, 12, 13], "100": [5, 8], "1000": 8, "100000000": 8, "102": 13, "1025": 12, "1067": 8, "1069": 11, "1070": 11, "1073": 11, "108": 12, "10919": 11, "11": [3, 6, 8, 12, 13], "110": 11, "1106": 11, "110hz": 11, "1128": 6, "115": 11, "1191": 12, "1195": 13, "12": [8, 12], "1200": [6, 7], "123m": 11, "129540": 11, "13": [8, 12], "130": [11, 12], "1334": 13, "14": [8, 12], "15": [8, 11, 12, 13], "154": 13, "16": [8, 11, 13], "1600": [6, 7], "163666": 13, "169": 12, "17": 8, "172": 11, "1725032224427000064": 8, "1725032224852161732": 8, "1725032224878547732": 11, "1725032224887638641": 11, "1725032224896729550": 11, "1725032224905820459": 11, "1725032224914911368": 11, "1725032319533909732": 11, "173": 11, "1732621490425631343": 12, "1732621490430625343": 12, "1732621490435625343": 12, "1732621490440625343": 12, "1732621490445625343": 12, "1732621490876132343": 12, "1732621490891115343": 12, "1732621491241357343": 12, "1732621491291481343": 12, "1732621491441602343": 12, "1732621491516601343": 12, "1732621491626723343": 12, "1732621491696847343": 12, "1732621491917092343": 12, "1732621491977090343": 12, "1732621495430263343": 12, "1732621495435389343": 12, "1732621500421101343": 12, "1732621500424901343": 12, "1732621520958946343": 12, "1732621520964071343": 12, "1732621520969071343": 12, "1732621520974075343": 12, "1732621520979070343": 12, "18": 8, "180601": 12, "182240fd_0": 12, "18769": 11, "19": 8, "1_task": 9, "1d": 8, "1e": 8, "1e6": 11, "1e9": 11, "1st": 12, "2": [2, 6, 7, 9, 11, 12], "20": 13, "200": 11, "200hz": [11, 13], "2024": [0, 3, 6, 12, 13], "21": 8, "212": 12, "212567": 11, "21303": 8, "217052": 12, "22": [8, 13], "220": 12, "220032": 13, "223000": 13, "226": 13, "23": 8, "230": 11, "236726": 11, "24": [8, 13], "241": 12, "242": 12, "244324": 13, "244676": 12, "245426": 11, "25": 8, "250055": 12, "2544218633": 8, "254749": 11, "258": 13, "26": [8, 12], "27": 8, "2700": 12, "274666": 11, "278283": 11, "28": [8, 13], "284294": 12, "29": 8, "2d": 8, "3": [11, 12], "30hz": 13, "31": [8, 11, 13], "314947": 12, "318": 13, "32": [8, 12], "327660": 13, "33": 8, "335": [12, 13], "335180": 11, "34": [8, 11, 13], "35": 8, "353641": 11, "358431": 11, "36": 8, "360": 12, "360605": 11, "3615": 12, "366379": 11, "3687": 12, "37": 8, "3757": 12, "376": 13, "378644": 12, "379116": 11, "38": 8, "380044": 12, "382535": 11, "383787": 12, "385485": 12, "39": [8, 11, 12], "391730": 12, "394092": 12, "3d": [1, 11], "3d_eye_st": [5, 6, 12, 13], "3e28": 12, "4": [11, 12], "403803": 11, "41": 8, "410354": 11, "4108": 13, "42": 8, "4220": 12, "43": 8, "438": 12, "439696": 11, "439704": 11, "44": [8, 12], "440": 13, "441": 13, "442": 13, "442760": 11, "443": 13, "443a": 12, "444": 13, "444m": 11, "445": 13, "445815": 11, "446": 13, "447": 13, "45": 8, "455": 13, "456": 13, "457": 13, "45bf": 12, "46": 8, "461626": 11, "47": 8, "473": 13, "48": [8, 12], "486": 8, "487429": 13, "49": 8, "493445": 11, "495": 13, "4d3d": 12, "4f07": 13, "5": [11, 12], "50": [11, 12], "5000000": 11, "500000000": 8, "519804": 12, "520740": 12, "525265": 11, "5337": 12, "539": 8, "548737": 13, "550682": 11, "554": 12, "556": 12, "556964": 11, "557": 12, "558": 12, "562393": 11, "563214": 12, "576714": 13, "581023": 12, "581576": 12, "588647": 11, "591703": 11, "595": 12, "5a1a": 13, "6": [11, 12, 13], "60": 12, "602498": 11, "608618": 12, "608856": 13, "6091": 12, "61": 8, "611": 11, "612": 11, "613": 11, "6164": 12, "619205": 12, "620": 8, "621": 13, "6369": 12, "639305591f79": 13, "640x480": 12, "648": 13, "654314": 11, "655640": 13, "690596": 12, "691": 13, "692588": 11, "695": 12, "696": 12, "697": 12, "698": 12, "699777": 11, "7": [12, 13], "70": 12, "700505": 11, "709879": 12, "711353": 11, "713283": 12, "713532d5": 12, "713686": 12, "716": [3, 6], "72164082": 8, "722201": 11, "725032e": 8, "725586": 13, "74": 13, "742046": 11, "743352": 12, "744383": 11, "746807": 11, "748291": 13, "74838272": 8, "748998": 8, "75": 12, "752": 12, "78": 13, "784": 8, "789613": 11, "79": 13, "797": 12, "7dc8510473c2": 12, "8": [11, 12, 13], "80": 13, "801082": 11, "81": 13, "810": 12, "829": 12, "833": 12, "835": 12, "836": 12, "837": 12, "842812": 12, "856": 8, "861883": 13, "866272": 13, "88": 13, "891351": 11, "9": [8, 11, 12, 13], "903": 12, "91": 13, "914266": 12, "919": 13, "921757": 11, "9265f7c1": 13, "93": 13, "937000": 12, "937f": 12, "938179": 12, "940430": 11, "942273": 11, "944117": 11, "944336": 11, "955": 8, "96": 13, "962102": 12, "962830": 13, "97": 13, "974": 12, "98": 13, "986206": 13, "990a3de0": 13, "9940000e": 12, "996703": 11, "996810": 11, "996917": 11, "997017": 11, "997115": 11, "999": 12, "9dd1": 13, "A": [0, 5, 11, 13], "AND": 0, "AS": 0, "As": [12, 13], "At": 12, "BE": 0, "BUT": 0, "But": 11, "By": 13, "FOR": 0, "For": [1, 2, 3, 5, 6, 11, 12, 13], "IN": 0, "If": [1, 5, 6, 7, 11], "In": [1, 5, 6, 8, 11, 12, 13], "It": [0, 1, 2, 11, 12, 13], "NO": 0, "NOT": 0, "OF": 0, "OR": [0, 1], "On": [8, 12], "THE": 0, "TO": 0, "The": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 13], "There": 12, "These": [8, 12], "To": [0, 12, 13], "WITH": 0, "_": [6, 12], "_acq": [3, 6], "_channel": 3, "_motion": [3, 6], "_physio": 6, "_physioev": 6, "_record": 6, "_run": [3, 6], "_se": [3, 6], "_task": [3, 6], "_tracksi": [3, 6], "about": [6, 8, 13], "abov": [0, 11, 13], "acceler": 11, "accept": 12, "access": [2, 6, 11, 12], "accompani": 6, "accord": [1, 3, 6], "achiev": 13, "across": 13, "action": 0, "activ": 13, "actual": 13, "ad": [2, 5], "add": 11, "adda": 12, "addit": [3, 5, 6], "advanc": 8, "af6cd360": 12, "after": [5, 6, 8, 11, 12, 13], "algorithm": [1, 6, 13], "alia": [1, 5, 6], "align": 13, "all": [0, 5, 6, 8, 11, 12, 13], "allow": [11, 12, 13], "also": [0, 5, 6, 8, 11, 12, 13], "altern": [8, 11, 12], "alwai": [5, 11, 12], "amount": 13, "ampl": 11, "amplitud": 12, "an": [0, 1, 2, 3, 5, 6, 8, 11, 13], "analys": 8, "analysi": [8, 12], "analyz": 12, "ani": [0, 11, 12, 13], "annot": 8, "annotated_data": [5, 8], "anoth": [1, 12], "anyth": 13, "apart": 8, "api": [0, 12], "app": 0, "appdata": 8, "appelhoff": [3, 6], "append": 8, "appli": [1, 5, 6, 7], "appropri": 12, "ar": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 13], "arang": 8, "area": 12, "argument": [12, 13], "aris": 0, "around": [1, 5, 6, 13], "arrai": [1, 5], "assign": [8, 12, 13], "associ": [0, 5], "attribut": [1, 2], "author": 0, "auto_titl": [1, 7], "automat": [1, 7, 12], "avail": [6, 7, 12, 13], "averag": [1, 5, 6, 13], "average_interv": 8, "avoid": 12, "ax": [1, 6, 7, 11, 12], "axi": [1, 6, 7, 8], "axvlin": 11, "axvspan": 12, "azimuth": [8, 11, 12], "b": 12, "b9c14c3c1c5e": 12, "base": [1, 2, 5, 8, 11, 13], "basic": 12, "becom": 13, "been": 11, "befor": [5, 8, 12], "being": [2, 6, 11], "belong": 5, "below": [11, 12, 13], "benchmark": 13, "benefit": 13, "berg": [3, 6], "between": [1, 5, 6, 8, 11, 13], "bf9b": 13, "bia": 12, "bid": [3, 6, 10], "bin": 11, "blink": [1, 5, 6, 8, 11, 12, 13], "blue": [11, 13], "boardview": 12, "boardview1": 12, "boardview2": 12, "boardview_mark": 12, "bodi": 13, "bool": [1, 5, 6, 7, 11], "both": 12, "brain": [0, 3, 6], "c": [0, 8, 12], "calcul": 8, "call": [11, 12, 13], "camera": [6, 7, 12, 13], "can": [6, 7, 8, 10, 11, 12, 13], "care": 13, "carri": 13, "case": 6, "cell": [6, 7, 13], "center": 11, "centr": 12, "central": [11, 12], "chang": [11, 13], "channel": [8, 10], "charg": 0, "check": [8, 11], "choos": [6, 7], "chu": 12, "circl": [6, 7, 12], "circle_radiu": [6, 7], "claim": 0, "clash": 13, "class": [4, 5, 12], "clear": 12, "clone": 0, "closest": 1, "cloud": [0, 2, 6, 12], "cmap": [6, 7], "cockx": [3, 6], "collect": [6, 12], "color": [11, 12], "colormap": [6, 7], "column": [1, 5, 6, 8, 11, 12, 13], "column_id": [5, 8], "com": [1, 6], "combin": 11, "common": [5, 6, 8, 11, 12], "commonli": 12, "commun": 0, "companion": 0, "compar": 13, "compliant": [3, 6], "comprehens": 12, "comput": [1, 5, 6, 8, 11, 13], "concat_data": [5, 6], "concat_data_slic": 11, "concat_ev": [4, 5, 6], "concat_stream": [4, 5, 6, 11], "concaten": [5, 6, 10, 12], "conda": 0, "condit": 0, "confirm": 8, "confus": [5, 12], "connect": [0, 6, 7, 13], "consecut": [1, 11], "consider": 13, "consist": [12, 13], "constant": 11, "construct": 5, "construct_event_tim": [4, 5, 8], "contain": [1, 2, 3, 5, 6, 7, 12, 13], "content": [6, 12], "continu": [1, 3, 6, 8, 11, 12, 13], "contract": 0, "convert": [1, 5], "coordin": [12, 13], "copi": [0, 11], "copyright": 0, "correctli": 8, "correspond": [5, 13], "could": [0, 6, 12], "count": 11, "cover": 12, "creat": [1, 5, 6, 7, 12, 13], "create_epoch": [4, 5, 8], "crop": 1, "csv": [1, 2, 6, 12, 13], "current": [2, 8, 13], "custom": 1, "customstream": [1, 4, 6], "cv2": 12, "d4fd9a27": 12, "d82369213dbf": 13, "damag": 0, "data": [2, 3, 4, 5, 6, 7, 10], "datafram": [1, 2, 5, 6, 7, 8, 11, 13], "dataset": [2, 10, 11, 13], "dataset_dir": [2, 12], "date": 13, "datetim": 6, "deal": [0, 11], "def": 13, "default": [1, 3, 5, 6, 7, 11, 12, 13], "defin": [1, 5, 6, 11, 13], "definit": 13, "deg": [8, 11, 12], "demonstr": [8, 11], "dennot": 13, "denot": [5, 6, 11, 13], "dens": [6, 7], "densiti": 13, "depend": [12, 13], "descript": [5, 8], "desir": 11, "despit": 13, "detail": [1, 5, 6, 13], "detect": 13, "determin": 13, "develop": [0, 2], "deviat": [6, 7], "diamet": 11, "dict": [1, 3, 5, 6], "dictionari": 5, "diff": [1, 5, 6, 8], "differ": [1, 5, 6, 8, 12], "dimens": [5, 6, 7], "directli": [11, 12], "directori": [2, 3, 6, 12, 13], "displai": [6, 7, 8, 12], "distribut": [0, 11], "do": 0, "doc": 6, "document": [12, 13], "don": 11, "done": 12, "dot": 13, "download": [2, 6, 12], "downsampl": [1, 5], "draw": 13, "drawn": [6, 7], "driven": 0, "drop": 13, "dtype": [8, 12], "dub": 12, "durat": [1, 12, 13], "dure": [5, 6, 13], "dynam": 13, "e": [1, 5, 6, 11, 12], "e116e606": [8, 9, 11], "e3c": 13, "each": [1, 2, 5, 6, 8, 11, 12, 13], "earliest": [5, 6, 11], "easi": 11, "easili": 12, "edit": [3, 6], "effect": 1, "effort": 0, "either": [6, 11, 12], "elev": [8, 11, 12], "empti": [3, 8], "en": [3, 6], "end": [1, 5, 8, 11, 12, 13], "end_t": [1, 11], "end_tim": 11, "enntir": 13, "enrich": [2, 12], "enrichment_dir": 2, "enrichment_info": [2, 12], "ensur": 13, "ep_np": 8, "epoch": [4, 5], "epochs_df": 8, "epochs_np": 5, "equal": 11, "equival": 8, "error": 13, "especi": 11, "essenc": 12, "essenti": 8, "estim": 11, "estimate_scanpath": [1, 4, 6, 13], "estimated_scanpath": 13, "etc": 0, "evalu": [1, 5], "event": [0, 1, 5, 6, 12, 13], "event_data": 5, "event_nam": [5, 6], "event_tim": [5, 8], "everi": [8, 13], "exampl": [2, 6, 11, 13], "except": 5, "execut": 6, "exemplari": 11, "exist": [6, 12, 13], "exist_ok": 9, "expect": [5, 13], "experi": [3, 6], "explor": 11, "export": [0, 4, 6, 10], "export_eye_bid": [3, 4, 6], "export_motion_bid": [3, 4, 6], "express": 0, "extend": 8, "extens": [3, 6], "extra_metadata": [3, 6], "extract": [5, 8], "extract_event_tim": [4, 5], "ey": [0, 1, 6, 11, 13], "eye_st": [5, 6, 11], "eye_states_diff_uniqu": 11, "eye_states_nominal_diff": 11, "eyebal": 11, "f": [8, 11, 12], "facilit": 12, "fals": [1, 5, 6, 7], "far": 11, "feed": 13, "few": 8, "field": [3, 6], "fig": [1, 6, 7, 11, 12], "figsiz": [11, 12], "figur": [1, 6, 7, 11, 12], "file": [0, 1, 2, 3, 6, 7, 8, 12, 13], "filenam": [3, 6, 12, 13], "final": [5, 6, 12], "find": 10, "finial": 6, "first": [1, 8, 12, 13], "first_t": [1, 12], "fit": 0, "fix": [5, 13], "fixat": [1, 5, 6, 7, 8, 11, 12], "fixation_id": 11, "flag": 13, "flexibli": [6, 7], "float": [1, 5, 6, 7, 12, 13], "float64": 12, "float_kind": [1, 5], "flow": [1, 6, 13], "focu": 12, "folder": [2, 12], "follow": [0, 2, 5, 6, 11, 12, 13], "form": [5, 6, 10], "format": [3, 6, 10, 13], "found": [5, 6, 8], "fp": 1, "frame": [1, 6, 7], "free": 0, "frequenc": [1, 5, 6, 11], "from": [0, 1, 2, 5, 6, 7, 9, 11, 12, 13], "full": 12, "funcion": 13, "function": [8, 11, 12], "furnish": 0, "further": [8, 11, 13], "futur": 0, "g": [6, 11, 12], "gabriel": 8, "gaussian": [6, 7], "gaze": [0, 1, 2, 5, 6, 7, 8, 11], "gaze_crop": 12, "gaze_diff_uniqu": 11, "gaze_nominal_diff": 11, "gaze_resampl": 11, "gaze_resampled_to_imu": 11, "gener": [1, 6, 7], "get": [0, 8, 10, 12, 13], "get_sample_data": [8, 9, 11, 12], "github": [12, 13], "give": [8, 12], "given": [11, 13], "global": 5, "global_ref_tim": 8, "global_t_ref": [5, 8], "gramann": [3, 6], "grant": 0, "green": [11, 13], "grid": [5, 6, 7, 8, 11], "gridlin": 11, "grothkopp": [3, 6], "gt": [8, 11, 12, 13], "gz": 6, "h": [3, 6], "ha": [8, 11, 12], "half": 13, "hand": [8, 12], "handl": 12, "hardwar": 13, "hartel": 8, "have": [2, 5, 6, 11, 12, 13], "head": [8, 11, 12, 13], "heatmap": [6, 7], "heatmap_sourc": [6, 7], "heavili": 13, "height": [1, 6, 7], "help": [0, 10, 11], "here": [0, 10, 12], "herebi": 0, "hi": 8, "high": 13, "higher": 11, "highest": [5, 6, 11], "hist": 11, "histogram": 11, "hold": 12, "holder": [0, 2], "how": [8, 11, 12], "howev": 13, "html": [3, 6], "http": [1, 3, 6], "human": 12, "hz": [5, 11], "i": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 13], "id": [1, 2, 5, 6, 8, 11, 12, 13], "identifi": 5, "ignor": 5, "iloc": [8, 12], "imag": [3, 6], "imagin": 13, "implement": [2, 13], "impli": 0, "import": [8, 9, 11, 12, 13], "improv": 13, "imu": [0, 1, 3, 5, 6, 11, 12, 13], "imu_crop": 12, "imu_diff_uniqu": 11, "imu_nominal_diff": 11, "includ": [0, 1, 3, 5, 7, 12, 13], "increas": [5, 13], "index": [1, 3, 5, 6, 7, 12, 13], "indic": [5, 8, 13], "individu": [2, 4, 12], "inferno": [6, 7], "info": [2, 5, 6, 8, 12], "info_fil": 1, "inform": [2, 3, 5, 6, 8, 11, 13], "inherit": [1, 12], "inplac": [1, 5, 6], "input": [5, 12], "inspect": [12, 13], "inspir": 0, "instal": 13, "instanc": 12, "instead": 0, "int": [1, 5, 6, 7], "int32": 12, "int64": 12, "integ": 11, "integrate_in_tim": 8, "integrated_epoch": 8, "interest": 8, "intermedi": 13, "intern": [5, 12], "interp1d": [1, 5, 6, 11], "interp_float_kind": 5, "interp_other_kind": 5, "interpol": [1, 4, 5, 6, 10, 12, 13], "intersect": 12, "interv": [1, 5, 6, 13], "intuit": 13, "io": [3, 6], "ipykernel_12180": 8, "is_uniformly_sampl": 1, "issu": 11, "item": [5, 6], "iterrow": 12, "its": [5, 6, 12, 13], "j": [3, 6], "jan": 8, "jeung": [3, 6], "json": [2, 3, 6, 12, 13], "jupyt": 10, "just": 12, "k": [3, 6], "kanad": [1, 6, 13], "kernel": [6, 7], "kind": [0, 1, 5, 6], "know": 12, "lab": [0, 1, 6, 11, 12], "label": [3, 5, 6, 11, 12, 13], "larg": 12, "larger": [1, 5, 6], "last": [1, 5, 6, 11, 12, 13], "last_t": [1, 12], "later": [3, 6], "latest": [5, 6, 11], "lead": 13, "left": 11, "legend": [11, 12], "len": [11, 12], "length": [11, 12], "less": [6, 7], "let": 11, "liabil": 0, "liabl": 0, "librari": [0, 12, 13], "lifecycl": 13, "light": 0, "lightgrai": 12, "like": 12, "likelihood": 13, "limit": [0, 13], "line": [6, 7, 13], "line_thick": [6, 7], "linear": [1, 5, 6, 11, 13], "lineplot": 12, "list": [2, 5, 6, 8, 11, 12, 13], "liter": [1, 6, 7], "live": 13, "lk_param": [1, 6], "ll": 8, "load": [1, 2, 6, 12], "load_enrich": 2, "local": 8, "locat": [6, 11, 12, 13], "log": 11, "long": 13, "longer": 13, "look": [12, 13], "lost": 13, "lot": 13, "lowest": [5, 6, 11], "lt": [8, 11, 12], "luca": [1, 6, 13], "m": [11, 12], "mai": [5, 6, 12], "make": [3, 6, 13], "manag": 5, "mani": [11, 12, 13], "map": [1, 6, 10], "map_gaze_to_video": 13, "mapped_gaz": 13, "mapper": 12, "mapper_boardmapping_csv": 12, "marker": 12, "match": [6, 13], "matplotlib": [1, 6, 7, 11, 12], "max": [5, 6, 11], "max_fix": [6, 7], "maximum": [1, 6, 7], "mean": [8, 11, 12], "meat": 13, "median": [1, 5, 6], "memori": 12, "merchant": 0, "merg": 0, "messag": [1, 5, 6, 12], "metadata": [3, 6], "method": [1, 2, 6, 11, 13], "microsaccad": 13, "might": 11, "millisecond": 1, "min": [5, 6], "minimis": 13, "minimum": 1, "miss": 11, "mit": 0, "mkdir": 9, "mm": 11, "modal": [0, 3, 6], "modifi": 0, "modul": 4, "moment": 13, "monoton": 5, "more": [3, 6, 7, 8, 12], "most": [12, 13], "motion": [3, 6, 9], "motion_dir": [3, 6, 9], "movement": 13, "mp4": [6, 7, 12, 13], "multi": 0, "multipl": [0, 2, 13], "must": [1, 2, 5, 6], "n": [1, 5, 6, 8, 11, 12], "n_channel": 5, "n_epoch": 5, "n_frame": 1, "n_time": 5, "na": [8, 11, 12], "name": [1, 5, 6, 7, 8, 11, 12, 13], "nan": [5, 8, 13], "nan_statu": 5, "nanmean": 8, "nanosecond": [1, 5, 6, 8, 11, 12], "nativ": 0, "natur": [12, 13], "ncc": [0, 12], "ndarrai": [1, 5, 12], "nearest": [1, 5, 6, 13], "necessari": [11, 12, 13], "necessarili": 11, "need": [8, 13], "neon": [0, 1, 6, 10, 11], "neonblink": [1, 4, 6, 12], "neondataset": [4, 12, 13], "neonev": [1, 4, 6], "neoneyest": [1, 4, 6, 12], "neonfix": [1, 4, 6, 12], "neongaz": [1, 4, 6, 12], "neonimu": [1, 3, 4, 6, 12], "neonimu_run": 9, "neonrecord": [1, 2, 3, 4, 5, 7, 8, 9, 11, 13], "neonsaccad": [1, 4, 6, 12], "neonstream": [1, 4], "neontabular": [1, 4, 12], "neonvideo": [1, 4, 6, 7], "nest": 5, "new": [1, 5, 6, 7, 11], "new_t": [1, 5, 6, 11], "next": 13, "nomin": [1, 5, 6, 11, 13], "non": [12, 13], "none": [1, 5, 6, 7, 8, 11, 12], "noninfring": 0, "note": [3, 5, 6, 13], "notebook": 10, "notic": [0, 11], "now": [11, 12, 13], "np": [1, 5, 6, 8, 11, 13], "number": [1, 5, 6, 7], "numer": [5, 6], "numpi": [5, 11, 12, 13], "object": [1, 2, 3, 5, 6, 7, 8, 11, 12, 13], "obtain": [0, 1, 5, 11], "occupi": 13, "off": 13, "officewalk": [8, 9, 11, 12], "officewalk_tracksi": 9, "often": 12, "one": [8, 11, 12], "ones": 8, "onli": [1, 5, 11, 13], "onset": 11, "oop": 11, "optic": [1, 6, 13], "opticalflow": 13, "optimis": 13, "option": [1, 2, 3, 5, 6, 12, 13], "orang": 11, "organ": [3, 6], "origin": [1, 5, 6, 11], "other": [0, 1, 5, 6, 8, 12], "other_kind": [1, 5], "otherwis": [0, 1], "our": 13, "out": 0, "outlin": 6, "output": [3, 6, 12, 13], "output_dir": [3, 6], "over": [1, 5, 6, 13], "overal": 8, "overlai": 7, "overlaid": [6, 7, 12, 13], "overlay_fixations_on_video": 13, "overlay_scanpath_on_video": [6, 13], "overview": 12, "own": 12, "p": 8, "panda": [1, 2, 5, 6, 7, 12, 13], "paramet": [2, 3, 5, 7, 11], "parent": 9, "pars": 2, "partial": 13, "particip": 12, "particular": 0, "past": 13, "path": [1, 2, 3, 6, 7, 12, 13], "pathlib": [1, 2, 3, 6, 7, 12], "pd": [1, 5, 13], "peak": 12, "per": [1, 5, 6, 7, 8], "perform": [5, 6, 8, 12, 13], "permiss": 0, "permit": 0, "person": 0, "physio": 6, "physioev": 6, "physiolog": 5, "pickl": 13, "pip": 0, "pipelin": 13, "pitch": 11, "pixel": [1, 6, 7, 12], "pkl": [6, 13], "pl": 0, "plan": 0, "pleas": 0, "plot": [1, 6, 7, 11], "plot_distribut": [4, 6, 7, 12], "plot_fram": [1, 4, 7], "plot_heatmap": 12, "plot_scanpath_on_video": [4, 6, 7], "plt": [11, 12], "point": [1, 5, 8, 12, 13], "portion": 0, "posit": [12, 13], "possibl": [11, 13], "practic": 13, "prefix": [3, 6, 9], "preprocess": [4, 8, 12], "present": [5, 6, 12, 13], "preserv": 11, "prevent": 5, "previou": 11, "print": [8, 11, 12, 13], "process": [0, 1, 12, 13], "produc": 12, "product": 1, "project": [0, 2, 6, 12], "properti": [1, 6, 12, 13], "provid": [0, 5, 6, 8, 11, 13], "publish": 0, "pupil": [0, 1, 2, 6, 11, 12], "pupillab": 13, "purpos": 0, "px": [8, 11, 12], "py": [8, 13], "pyneon": [1, 2, 3, 5, 6, 7, 9, 11, 12, 13], "pypi": 0, "pyplot": [1, 6, 7, 11, 12], "python": 12, "qian": [12, 13], "quaternion": 11, "quick": 12, "quickli": 12, "quirk": 13, "radiu": [6, 7], "random": 13, "rang": [1, 11, 12], "rate": [5, 11], "rather": 8, "raw": [11, 12], "raw_eye_states_data_slic": 11, "raw_gaze_data_slic": 11, "raw_imu_data_slic": 11, "reach": 13, "read": [0, 1, 2, 6, 10], "readabl": 6, "readthedoc": [3, 6], "rec": [1, 3, 5, 6, 7], "recenc": 13, "recent": 13, "record": [0, 1, 2, 3, 6, 7, 8, 10, 11], "recording_dir": [6, 8, 9, 11, 12, 13], "recording_dir_1": 2, "recording_dir_2": 2, "recording_id": 6, "red": [11, 13], "redund": 12, "refer": [0, 3, 5, 6, 8, 12], "rel": [1, 5, 8, 11, 12, 13], "relat": 5, "relationship": 12, "releas": 0, "relev": 13, "remov": [1, 12], "renam": [5, 6], "render": 13, "repeat": 13, "replac": [1, 5, 6], "report": 13, "repositori": 0, "repres": 13, "reproduc": [3, 6], "requir": [6, 12, 13], "resamp_float_kind": [6, 13], "resamp_other_kind": [6, 13], "resampl": [5, 6, 11], "research": [3, 6], "resolut": 13, "respect": [5, 6, 11, 13], "ressourc": 13, "restrict": [0, 1, 12], "result": [6, 7, 8, 13], "return": [5, 6, 7, 11, 12, 13], "rich": 0, "right": [0, 11], "roll": 11, "roughli": 13, "row": [1, 5, 8, 11, 12, 13], "rtype": 6, "run": [0, 13], "runtim": 13, "runtimewarn": 8, "sac": 12, "saccad": [1, 5, 6, 12, 13], "saccades_crop": 12, "same": [11, 13], "sampl": [1, 3, 5, 6, 13], "sample_dir": [9, 12], "sampling_freq": [5, 6], "sampling_freq_effect": 1, "sampling_freq_nomin": [1, 11], "sampling_r": 5, "save": [3, 6, 7, 13], "scanpath": [1, 6, 7, 10], "scatter": [6, 7, 11], "scatter_sourc": [6, 7], "scene": [0, 2, 6, 7, 12, 13], "scene_camera": [6, 12, 13], "scene_video": [6, 12, 13], "scene_video_info": [12, 13], "scientif": [3, 6], "scipi": [1, 5, 6, 11], "seaaborn": 12, "seaborn": 12, "second": [1, 5, 8, 11, 12], "section": [1, 2, 12], "see": [0, 1, 3, 5, 6, 12, 13], "seem": 11, "seen": [11, 12, 13], "select": [5, 6, 8], "self": 13, "sell": 0, "semi": 12, "seri": 8, "serv": 8, "set": [0, 1, 5, 6, 7, 11, 12], "set_titl": 11, "set_xlabel": 11, "set_ylabel": [11, 12], "set_yscal": 11, "shadow": 12, "shall": 0, "shape": [5, 8, 11], "share": 11, "should": [3, 6, 11, 13], "show": [1, 6, 7, 11, 12, 13], "show_video": [6, 7, 13], "sigma": [6, 7], "sign": 13, "simpli": [11, 12], "simultan": 13, "sinc": [1, 5, 6, 11, 12], "singl": [0, 6, 8, 11, 12, 13], "singular": [5, 6], "size": [1, 5, 6, 7, 12], "slice": [8, 12], "smooth": [1, 5, 6, 7], "sn": 12, "so": [0, 12], "softwar": 0, "some": [12, 13], "sourc": [6, 7], "space": [8, 11, 13], "spars": [12, 13], "spec": 1, "special": 12, "specif": [1, 3, 6, 8, 12, 13], "specifi": [1, 5, 6, 7, 8, 11, 12], "sream": 6, "stabilis": 13, "stabl": [3, 6], "standard": [3, 6, 7, 12], "start": [0, 1, 5, 6, 10, 11, 12, 13], "start_datetim": 6, "start_t": [1, 11], "start_tim": [6, 8, 11], "state": [0, 1, 6, 11], "step_siz": [6, 7], "still": [6, 13], "store": [1, 12], "str": [1, 2, 3, 5, 6, 7, 13], "stream": [1, 5, 6, 12], "stream_nam": [5, 6], "street": 13, "string": [5, 12], "structur": [2, 3, 6, 12], "sub": [3, 6, 9], "subclass": 12, "subject": 0, "sublicens": 0, "subplot": [11, 12], "subsequ": [8, 11, 13], "subset": 12, "substanti": 0, "suitabl": [6, 7], "super": 12, "suppli": 5, "support": [1, 5, 12], "sy": 13, "sync_gaz": [1, 6], "sync_gaze_to_video": [1, 4, 6], "synchron": [1, 6, 11, 13], "t": [1, 3, 6, 11, 12], "t_after": [5, 8], "t_befor": [5, 8], "t_ref": [5, 8], "t_rel": [5, 8], "tabular": [1, 12], "tail": 13, "take": [1, 5, 11, 12, 13], "taken": 11, "target": 13, "temp": 8, "templat": [3, 6], "tempor": [1, 12], "tend": 12, "test": 13, "test_ev": 8, "than": [1, 5, 6], "thei": [2, 5, 8, 11, 12, 13], "them": [11, 12, 13], "therefor": 13, "thi": [0, 5, 6, 8, 11, 12, 13], "thick": [6, 7], "though": 13, "three": [12, 13], "through": 2, "thu": [6, 7], "tick": 11, "tight_layout": 11, "time": [1, 5, 6, 11, 12, 13], "time_to_t": [1, 11], "time_unit": [5, 8], "times_df": [5, 8], "timeseri": [0, 2, 8, 9, 11, 12], "timestamp": [1, 5, 6, 8, 11, 12, 13], "timestamps_fil": 1, "titl": [1, 7], "tlist": 8, "tmax": 1, "tmin": 1, "to_csv": 13, "to_motion_bid": 9, "to_numpi": [5, 8], "to_pickl": 13, "toler": [5, 6], "too": 12, "tool": 0, "top": [6, 7, 12], "tort": 0, "traceback": 13, "track": [0, 6, 13], "trade": 13, "treat": 13, "true": [1, 5, 6, 7, 8, 9, 11, 12, 13], "try": 12, "ts_diff": [1, 11], "tsv": [3, 6], "tupl": [6, 7], "turn": [11, 13], "tutori": [0, 11, 12, 13], "two": 12, "txt": [2, 12], "type": [2, 4, 5, 6, 11, 12, 13], "typeerror": 13, "typic": [6, 7], "u": [11, 13], "unavail": 12, "under": [5, 6], "uniformli": 1, "uniqu": [5, 11], "unit": [5, 12], "unnderli": 13, "until": 6, "unzip": 12, "up": 13, "updat": [1, 13], "upon": 12, "us": [0, 1, 5, 6, 7, 8, 11, 13], "usabl": 13, "user": [3, 5, 6, 7, 8, 12], "usual": [12, 13], "utc": [1, 11, 12], "valu": [5, 8, 11, 12], "ve": 8, "veloc": 12, "versatil": 0, "vi": 7, "vicin": 13, "video": [0, 1, 2, 6, 7, 10, 12], "video_fil": 1, "video_output_path": [6, 7], "video_with_scanpath": 6, "videocaptur": [1, 12], "visibl": 13, "visual": [4, 13], "w": 11, "wa": [11, 13], "walk": 13, "walk1": [8, 9, 11], "want": [11, 12], "warn": 12, "warranti": 0, "we": [0, 8, 11, 12, 13], "wearer": [12, 13], "weight": 0, "well": [8, 13], "welzel": [3, 6], "were": [5, 8, 13], "what": 12, "when": [11, 12, 13], "where": [5, 13], "whether": [0, 1, 5, 6, 7, 12], "which": [0, 1, 5, 6, 11, 12, 13], "while": [12, 13], "whom": 0, "whose": 1, "width": [1, 6, 7], "width_height": [6, 7], "window": [1, 5, 6, 12], "window_averag": [1, 4, 5], "window_s": [1, 5, 6], "within": [5, 11, 13], "without": [0, 8], "word": [1, 5], "work": [0, 11, 13], "workflow": 13, "world_timestamp": [6, 12, 13], "worn": [8, 11, 12], "would": [2, 11, 12, 13], "x": [8, 11, 12, 13], "xlabel": 12, "xtick": 11, "xx_record": 6, "xx_task": [3, 6], "y": [8, 11, 12, 13], "yaw": 11, "yet": [2, 12], "yield": 13, "ylabel": 12, "you": [0, 10, 12, 13], "your": 13, "ytick": 11, "yy_tracksi": [3, 6], "z": 11, "zeros_lik": 11}, "titles": ["Welcome to PyNeon documentation", "Classes for individual data types", "NeonDataset class", "Exportation module", "PyNeon API", "Preprocessing module", "NeonRecording class", "Visualization module", "Tutorial: Processing Eye-Tracking Data with PyNeon", "Export Neon data recording to BIDS formats", "PyNeon Tutorials", "Interpolate Data and Concatenate Channels", "Reading a Neon dataset/recording", "Mapping Scanpath to video"], "titleterms": {"1": [8, 13], "2": [8, 13], "3": [8, 13], "4": [8, 13], "5": [8, 13], "6": 8, "7": 8, "8": 8, "across": 8, "an": 12, "api": 4, "arrai": 8, "attribut": 12, "averag": 8, "bid": 9, "channel": 11, "class": [1, 2, 6, 8], "concaten": 11, "conclus": 8, "construct": 8, "convert": 8, "creat": 8, "crop": 12, "data": [0, 1, 8, 9, 11, 12, 13], "datafram": 12, "dataset": 12, "differ": 11, "document": 0, "epoch": 8, "estim": 13, "event": 8, "exampl": 12, "export": [3, 9], "ey": 8, "fixat": 13, "format": [0, 9], "frame": 13, "from": 8, "gaze": [12, 13], "heatmap": 12, "individu": 1, "initi": 8, "instal": 0, "interpol": 11, "interv": 8, "licens": 0, "load": [8, 13], "map": 13, "metadata": 12, "method": 12, "modul": [3, 5, 7], "neon": [9, 12, 13], "neondataset": 2, "neonev": 12, "neonrecord": [6, 12], "neonstream": 12, "numpi": 8, "over": 8, "overlai": 13, "paramet": [1, 6], "plot": 12, "preprocess": 5, "process": 8, "pyneon": [0, 4, 8, 10], "read": 12, "record": [9, 12, 13], "return": 1, "sampl": [8, 11, 12], "scanpath": 13, "setup": 13, "statu": 13, "step": 8, "stream": 11, "summari": 13, "time": 8, "track": 8, "tutori": [8, 10], "type": 1, "understand": 13, "unequ": 11, "us": 12, "verifi": 8, "video": 13, "visual": [7, 12], "welcom": 0}}) \ No newline at end of file diff --git a/tutorials/read_recording.html b/tutorials/read_recording.html index 9ea81d8..613eae4 100644 --- a/tutorials/read_recording.html +++ b/tutorials/read_recording.html @@ -351,8 +351,8 @@

    Reading a Neon dataset/recordingPupil Cloud and give an overview of the data structure.

    Reading sample data#

    -

    We will use a sample recording produced by the NCC Lab, called OfficeWalk. This project (collection of recordings on Pupil Cloud) contains two recordings and multiple enrichments and can be downloaded with the get_sample_data() function. The function returns a Pathlib.Path (reference) object pointing to the downloaded and unzipped directory. PyNeon accepts both Path and string objects but internally always uses -Path.

    +

    We will use a sample recording produced by the NCC Lab, called boardView. This project (collection of recordings on Pupil Cloud) contains two recordings downloaded with the Timeseries Data + Scene Video option and a marker mapper enrichment. It can be downloaded with the get_sample_data() function. The function returns a Pathlib.Path (reference) instance pointing to the downloaded and unzipped directory. PyNeon +accepts both Path and string objects but internally always uses Path.

    The OfficeWalk data has the following structure:

    -
    OfficeWalk
    -├── Timeseries Data
    -│   ├── walk1-e116e606
    +
    boardView
    +├── Timeseries Data + Scene Video
    +│   ├── boardview1-d4fd9a27
     │   │   ├── info.json
     │   │   ├── gaze.csv
     │   │   └── ....
    -│   ├── walk2-93b8c234
    +│   ├── boardview2-713532d5
     │   │   ├── info.json
     │   │   ├── gaze.csv
     │   │   └── ....
     |   ├── enrichment_info.txt
     |   └── sections.csv
    -├── OfficeWalk_FACE-MAPPER_FaceMap
    -├── OfficeWalk_MARKER-MAPPER_TagMap_csv
    -└── OfficeWalk_STATIC-IMAGE-MAPPER_ManualMap_csv
    +└── boardView_MARKER-MAPPER_boardMapping_csv
     
    -

    The Timeseries Data folder contains what PyNeon refers to as a NeonDataset. It consists of two recordings, each with its own info.json file and data files. These recordings can be loaded either individually as a NeonRecording as a collective NeonDataset.

    -

    To load a NeonDataset, specify the path to the Timeseries Data folder:

    +

    The Timeseries Data + Scene Video folder contains what PyNeon refers to as a NeonDataset. It consists of two recordings, each with its own info.json file and data files. These recordings can be loaded either individually as a NeonRecording as a collective NeonDataset.

    +

    To load a NeonDataset, specify the path to the Timeseries Data + Scene Video folder:

    @@ -470,28 +468,28 @@

    Data and metadata of a NeonRecording
     
    -Recording ID: e116e606-5f3f-4d34-8727-040b8762cef8
    -Wearer ID: bcff2832-cfcb-4f89-abef-7bbfe91ec561
    +Recording ID: d4fd9a27-3e28-45bf-937f-b9c14c3c1c5e
    +Wearer ID: af6cd360-443a-4d3d-adda-7dc8510473c2
     Wearer name: Qian
    -Recording start time: 2024-08-30 17:37:01.527000
    -Recording duration: 98.213s
    -                  exist              filename                                                                                  path
    -3d_eye_states      True     3d_eye_states.csv     D:\GitHub\pyneon\data\OfficeWalk\Timeseries Data\walk1-e116e606\3d_eye_states.csv
    -blinks             True            blinks.csv            D:\GitHub\pyneon\data\OfficeWalk\Timeseries Data\walk1-e116e606\blinks.csv
    -events             True            events.csv            D:\GitHub\pyneon\data\OfficeWalk\Timeseries Data\walk1-e116e606\events.csv
    -fixations          True         fixations.csv         D:\GitHub\pyneon\data\OfficeWalk\Timeseries Data\walk1-e116e606\fixations.csv
    -gaze               True              gaze.csv              D:\GitHub\pyneon\data\OfficeWalk\Timeseries Data\walk1-e116e606\gaze.csv
    -imu                True               imu.csv               D:\GitHub\pyneon\data\OfficeWalk\Timeseries Data\walk1-e116e606\imu.csv
    -labels             True            labels.csv            D:\GitHub\pyneon\data\OfficeWalk\Timeseries Data\walk1-e116e606\labels.csv
    -saccades           True          saccades.csv          D:\GitHub\pyneon\data\OfficeWalk\Timeseries Data\walk1-e116e606\saccades.csv
    -world_timestamps   True  world_timestamps.csv  D:\GitHub\pyneon\data\OfficeWalk\Timeseries Data\walk1-e116e606\world_timestamps.csv
    -scene_video_info  False                  None                                                                                  None
    -scene_video       False                  None                                                                                  None
    +Recording start time: 2024-11-26 12:44:48.937000
    +Recording duration: 32.046s
    +                 exist                 filename                                                                                                                                path
    +3d_eye_states     True        3d_eye_states.csv        C:\Users\qian.chu\Documents\GitHub\pyneon\data\boardView\Timeseries Data + Scene Video\boardview1-d4fd9a27\3d_eye_states.csv
    +blinks            True               blinks.csv               C:\Users\qian.chu\Documents\GitHub\pyneon\data\boardView\Timeseries Data + Scene Video\boardview1-d4fd9a27\blinks.csv
    +events            True               events.csv               C:\Users\qian.chu\Documents\GitHub\pyneon\data\boardView\Timeseries Data + Scene Video\boardview1-d4fd9a27\events.csv
    +fixations         True            fixations.csv            C:\Users\qian.chu\Documents\GitHub\pyneon\data\boardView\Timeseries Data + Scene Video\boardview1-d4fd9a27\fixations.csv
    +gaze              True                 gaze.csv                 C:\Users\qian.chu\Documents\GitHub\pyneon\data\boardView\Timeseries Data + Scene Video\boardview1-d4fd9a27\gaze.csv
    +imu               True                  imu.csv                  C:\Users\qian.chu\Documents\GitHub\pyneon\data\boardView\Timeseries Data + Scene Video\boardview1-d4fd9a27\imu.csv
    +labels            True               labels.csv               C:\Users\qian.chu\Documents\GitHub\pyneon\data\boardView\Timeseries Data + Scene Video\boardview1-d4fd9a27\labels.csv
    +saccades          True             saccades.csv             C:\Users\qian.chu\Documents\GitHub\pyneon\data\boardView\Timeseries Data + Scene Video\boardview1-d4fd9a27\saccades.csv
    +world_timestamps  True     world_timestamps.csv     C:\Users\qian.chu\Documents\GitHub\pyneon\data\boardView\Timeseries Data + Scene Video\boardview1-d4fd9a27\world_timestamps.csv
    +scene_video_info  True        scene_camera.json        C:\Users\qian.chu\Documents\GitHub\pyneon\data\boardView\Timeseries Data + Scene Video\boardview1-d4fd9a27\scene_camera.json
    +scene_video       True  182240fd_0.0-32.046.mp4  C:\Users\qian.chu\Documents\GitHub\pyneon\data\boardView\Timeseries Data + Scene Video\boardview1-d4fd9a27\182240fd_0.0-32.046.mp4
     
     
    -

    As seen in the output, this recording includes all data files except the scene video and its metadata because we downloaded only the “Timeseries Data” instead of “ “Timeseries Data + Scene Video” from Pupil Cloud. For processing video, refer to the Neon video tutorial.

    -

    Individual data streams can be accessed as properties of the NeonRecording object. For example, the gaze data can be accessed as recording.gaze, and upon accessing, the tabular data is loaded into memory. On the other hand, if you try to access unavailable data like the video, it will simply return None and a warning message.

    +

    As seen in the output, this recording includes all data files. This tutorial will focus on non-video data. For processing video, refer to the Neon video tutorial.

    +

    Individual data streams can be accessed as properties of the NeonRecording object. For example, the gaze data can be accessed as recording.gaze, and upon accessing, the tabular data is loaded into memory. On the other hand, if you try to access unavailable data, PyNeon will return None and a warning message.

    -
    -
    -
    -
    -
    -recording.gaze is <pyneon.stream.NeonGaze object at 0x000001B2167FC830>
    -recording.fixations is <pyneon.events.NeonFixations object at 0x000001B236FA6DB0>
    -recording.video is None
    -
    -
    -
    +
    -D:\GitHub\pyneon\pyneon\recording.py:271: UserWarning: Scene video not loaded because not all video-related files (video, scene_camera.json, world_timestamps.csv) are found.
    -  warnings.warn(
    +recording.gaze is <pyneon.stream.NeonGaze object at 0x0000027AE3680C20>
    +recording.saccades is <pyneon.events.NeonSaccades object at 0x0000027AC22E0B90>
    +recording.video is < cv2.VideoCapture 0000027AE592DB90>
     

    PyNeon reads tabular CSV file into specialized classes (e.g., gaze.csv to NeonGaze) which all have a data attribute that holds the tabular data as a pandas.DataFrame (reference). Depending on the nature of the data, such classes could be of NeonStream or NeonEV super classes. NeonStream contains (semi)-continuous data streams, while NeonEV (dubbed so to avoid confusion with the @@ -562,19 +549,19 @@

    Data as dataframes
                          gaze x [px]  gaze y [px]  worn  fixation id  blink id  \
     timestamp [ns]
    -1725032224852161732     1067.486      620.856     1            1      <NA>
    -1725032224857165732     1066.920      617.117     1            1      <NA>
    -1725032224862161732     1072.699      615.780     1            1      <NA>
    -1725032224867161732     1067.447      617.062     1            1      <NA>
    -1725032224872161732     1071.564      613.158     1            1      <NA>
    +1732621490425631343      697.829      554.242     1            1      <NA>
    +1732621490430625343      698.096      556.335     1            1      <NA>
    +1732621490435625343      697.810      556.360     1            1      <NA>
    +1732621490440625343      695.752      557.903     1            1      <NA>
    +1732621490445625343      696.108      558.438     1            1      <NA>
     
                          azimuth [deg]  elevation [deg]
     timestamp [ns]
    -1725032224852161732      16.213030        -0.748998
    -1725032224857165732      16.176285        -0.511733
    -1725032224862161732      16.546413        -0.426618
    -1725032224867161732      16.210049        -0.508251
    -1725032224872161732      16.473521        -0.260388
    +1732621490425631343      -7.581023         3.519804
    +1732621490430625343      -7.563214         3.385485
    +1732621490435625343      -7.581576         3.383787
    +1732621490440625343      -7.713686         3.284294
    +1732621490445625343      -7.690596         3.250055
     gaze x [px]        float64
     gaze y [px]        float64
     worn                 Int32
    @@ -589,8 +576,8 @@ 

    Data as dataframes
    [8]:
     

    -
    print(fixations.data.head())
    -print(fixations.data.dtypes)
    +
    print(saccades.data.head())
    +print(saccades.data.dtypes)
     
    @@ -599,48 +586,48 @@

    Data as dataframes
    -                      fixation id   end timestamp [ns]  duration [ms]  \
    +                      saccade id   end timestamp [ns]  duration [ms]  \
     start timestamp [ns]
    -1725032224852161732             1  1725032225007283732            155
    -1725032225027282732             2  1725032225282527732            255
    -1725032225347526732             3  1725032225617770732            270
    -1725032225667907732             4  1725032225798022732            130
    -1725032225833015732             5  1725032225958137732            125
    +1732621490876132343            1  1732621490891115343             15
    +1732621491241357343            2  1732621491291481343             50
    +1732621491441602343            3  1732621491516601343             75
    +1732621491626723343            4  1732621491696847343             70
    +1732621491917092343            5  1732621491977090343             60
     
    -                      fixation x [px]  fixation y [px]  azimuth [deg]  \
    +                      amplitude [px]  amplitude [deg]  mean velocity [px/s]  \
     start timestamp [ns]
    -1725032224852161732          1069.932          614.843      16.369094
    -1725032225027282732           906.439          538.107       5.878844
    -1725032225347526732           694.843          533.982      -7.781338
    -1725032225667907732           572.983          488.800     -15.679003
    -1725032225833015732           601.861          491.125     -13.813521
    +1732621490876132343        14.938179         0.962102           1025.709879
    +1732621491241357343       130.743352         8.378644           2700.713283
    +1732621491441602343       241.003342        15.391730           3615.380044
    +1732621491626723343       212.619205        13.608618           3757.394092
    +1732621491917092343       220.842812        13.914266           4220.180601
     
    -                      elevation [deg]
    +                      peak velocity [px/s]
     start timestamp [ns]
    -1725032224852161732         -0.367312
    -1725032225027282732          4.561914
    -1725032225347526732          4.819739
    -1725032225667907732          7.636408
    -1725032225833015732          7.512433
    -fixation id             Int32
    -end timestamp [ns]      Int64
    -duration [ms]           Int64
    -fixation x [px]       float64
    -fixation y [px]       float64
    -azimuth [deg]         float64
    -elevation [deg]       float64
    +1732621490876132343            1191.520740
    +1732621491241357343            3687.314947
    +1732621491441602343            5337.244676
    +1732621491626723343            6164.040944
    +1732621491917092343            6369.217052
    +saccade id                Int32
    +end timestamp [ns]        Int64
    +duration [ms]             Int64
    +amplitude [px]          float64
    +amplitude [deg]         float64
    +mean velocity [px/s]    float64
    +peak velocity [px/s]    float64
     dtype: object
     

    PyNeon performs the following preprocessing when reading the CSV files: 1. Removes the redundant section id and recording id columns that are present in the raw CSVs. 2. Sets the timestamp [ns] (or start timestamp [ns] for most event files) column as the DataFrame index. 3. Automatically assigns appropriate data types to columns. For instance, Int64 type is assigned to timestamps, Int32 to event IDs (blink/fixation/saccade ID), and float64 to float data (e.g. gaze location, pupil size).

    -

    Just like any other pandas.DataFrame, you can access individual rows, columns, or subsets of the data using the standard indexing and slicing methods. For example, gaze.data.iloc[0] returns the first row of the gaze data, and gaze.data['gaze x [px]'] returns the gaze x-coordinate column.

    +

    Just like any other pandas.DataFrame, you can access individual rows, columns, or subsets of the data using the standard indexing and slicing methods. For example, gaze.data.iloc[0] returns the first row of the gaze data, and gaze.data['gaze x [px]'] (or gaze['gaze x [px]']) returns the gaze x-coordinate column.

    [9]:
     
    print(f"First row of gaze data:\n{gaze.data.iloc[0]}\n")
    -print(f"All gaze x values:\n{gaze.data['gaze x [px]']}")
    +print(f"All gaze x values:\n{gaze['gaze x [px]']}")
     
    @@ -650,29 +637,29 @@

    Data as dataframes
     First row of gaze data:
    -gaze x [px]        1067.486
    -gaze y [px]         620.856
    +gaze x [px]         697.829
    +gaze y [px]         554.242
     worn                    1.0
     fixation id             1.0
     blink id               <NA>
    -azimuth [deg]      16.21303
    -elevation [deg]   -0.748998
    -Name: 1725032224852161732, dtype: Float64
    +azimuth [deg]     -7.581023
    +elevation [deg]    3.519804
    +Name: 1732621490425631343, dtype: Float64
     
     All gaze x values:
     timestamp [ns]
    -1725032224852161732    1067.486
    -1725032224857165732    1066.920
    -1725032224862161732    1072.699
    -1725032224867161732    1067.447
    -1725032224872161732    1071.564
    -                         ...
    -1725032319717194732     800.364
    -1725032319722198732     799.722
    -1725032319727194732     799.901
    -1725032319732194732     796.982
    -1725032319737194732     797.285
    -Name: gaze x [px], Length: 18769, dtype: float64
    +1732621490425631343    697.829
    +1732621490430625343    698.096
    +1732621490435625343    697.810
    +1732621490440625343    695.752
    +1732621490445625343    696.108
    +                        ...
    +1732621520958946343    837.027
    +1732621520964071343    836.595
    +1732621520969071343    836.974
    +1732621520974075343    835.169
    +1732621520979070343    833.797
    +Name: gaze x [px], Length: 6091, dtype: float64
     
    @@ -694,23 +681,22 @@

    Useful attributes and methods for NeonStream and NeonEV
    -[1725032224852161732 1725032224857165732 1725032224862161732 ...
    - 1725032319727194732 1725032319732194732 1725032319737194732]
    -[0.0000000e+00 5.0040000e-03 1.0000000e-02 ... 9.4875033e+01 9.4880033e+01
    - 9.4885033e+01]
    +[1732621490425631343 1732621490430625343 1732621490435625343 ...
    + 1732621520969071343 1732621520974075343 1732621520979070343]
    +[0.0000000e+00 4.9940000e-03 9.9940000e-03 ... 3.0543440e+01 3.0548444e+01
    + 3.0553439e+01]
     
    -

    Timestamps (UTC, in ns) and relative time (relative to the stream start, in s) are thus the two units of time that are most commonly used in PyNeon. For example, you can crop the stream by either timestamp or relative time by calling the crop() method. The method takes two arguments: start and end:

    +

    Timestamps (UTC, in ns), relative time (relative to the stream start, in s), and index are the three units of time that are most commonly used in PyNeon. For example, you can crop the stream by either timestamp or relative time by calling the crop() method. The method takes start and end of the crop window in either UTC timestamps or relative time, and uses by to specify whether

    [11]:
     
    -
    -

    There are many other attributes and methods available for NeonStream and NeonEV classes. For a full list, refer to the API reference. We will also cover some of them in the following tutorials (e.g., interpolation and concatenation of streams).

    - -
    -

    Data streams and events#

    -

    Up to this point, PyNeon simply reads and re-organizes the raw .csv files. Let’s plot some samples from the gaze and eye_states streams and a saccade from the saccades events.

    +

    You may also want to restrict one stream to the temporal range of another stream. This can be done by calling the restrict() method. The method takes another NeonStream instance as an argument and crops the stream to the intersection of the two streams’ temporal ranges.

    [12]:
     
    -
    import matplotlib.pyplot as plt
    -import seaborn as sns
    -
    -gaze_color = "royalblue"
    -gyro_color = "darkorange"
    -
    -imu = recording.imu
    -fixations = recording.saccades
    -
    -# Create a figure
    -fig, ax = plt.subplots(figsize=(10, 5))
    -ax2 = ax.twinx()
    -ax.yaxis.label.set_color(gaze_color)
    -ax2.yaxis.label.set_color(gyro_color)
    -
    -# Visualize the 2nd saccade
    -saccade = fixations.data.iloc[1]
    -print(saccade)
    -ax.axvspan(saccade.index.values, saccade["end timestamp [ns]"], color="lightgray")
    -ax.text(
    -    (saccade.index.values + saccade["end timestamp [ns]"]) / 2,
    -    1050,
    -    "Saccade",
    -    horizontalalignment="center",
    -)
    -
    -# Visualize gaze x and pupil diameter left
    -sns.scatterplot(
    -    ax=ax,
    -    data=gaze.data.head(100),
    -    x=gaze.data.index,
    -    y="gaze x [px]",
    -    color=gaze_color,
    +
    imu_crop = recording.imu.restrict(gaze_crop)
    +saccades_crop = saccades.restrict(gaze_crop)
    +print(
    +    f"IMU first timestamp: {imu_crop.first_ts} > Gaze first timestamp: {gaze_crop.first_ts}"
     )
    -sns.scatterplot(
    -    ax=ax2,
    -    data=imu.data.head(60),
    -    x=imu.data.index,
    -    y="gyro x [deg/s]",
    -    color=gyro_color,
    +print(
    +    f"IMU last timestamp: {imu_crop.last_ts} < Gaze last timestamp: {gaze_crop.last_ts}"
     )
     
    -
    +
    -saccade id                                2.0
    -end timestamp [ns]      1725032225347526656.0
    -duration [ms]                            65.0
    -amplitude [px]                      228.36139
    -amplitude [deg]                     14.676102
    -mean velocity [px/s]              3685.269894
    -peak velocity [px/s]              5411.775481
    -Name: 1725032225282527732, dtype: Float64
    +IMU first timestamp: 1732621495435389343 > Gaze first timestamp: 1732621495430263343
    +IMU last timestamp: 1732621500421101343 < Gaze last timestamp: 1732621500424901343
     
    -
    -
    +

    There are many other attributes and methods available for NeonStream and NeonEV classes. For a full list, refer to the API reference. We will also cover some of them in the following tutorials (e.g., interpolation and concatenation of streams).

    +
    +
    +

    An example plot of cropped data#

    +

    Below we show how to easily plot the gaze and saccade data we cropped just now. Since PyNeon data are stored in pandas.DataFrame, you can use any plotting library that supports pandas.DataFrame as input. Here we use seaaborn and matplotlib to plot the gaze x, y coordinates and the saccade durations (shadowed areas).

    +
    +
    [13]:
    +
    +
    +
    import matplotlib.pyplot as plt
    +import seaborn as sns
    +
    +# Create a figure
    +fig, ax = plt.subplots(figsize=(10, 4))
    +
    +# Visualize the 1st saccade
    +for _, sac in saccades_crop.data.iterrows():
    +    ax.axvspan(sac.name, sac["end timestamp [ns]"], color="lightgray")
    +
    +# Visualize gaze x and y
    +sns.lineplot(
    +    ax=ax,
    +    data=gaze_crop.data,
    +    x=gaze_crop.data.index,
    +    y="gaze x [px]",
    +    color="b",
    +    label="Gaze x",
    +)
    +sns.lineplot(
    +    ax=ax,
    +    data=gaze_crop.data,
    +    x=gaze_crop.data.index,
    +    y="gaze y [px]",
    +    color="g",
    +    label="Gaze y",
    +)
    +ax.set_ylabel("Gaze location (pixels)")
    +plt.legend()
    +plt.show()
    +
    -
    -
    ----------------------------------------------------------------------------
    -TypeError                                 Traceback (most recent call last)
    -Cell In[12], line 19
    -     17 saccade = fixations.data.iloc[1]
    -     18 print(saccade)
    ----> 19 ax.axvspan(saccade.index.values, saccade["end timestamp [ns]"], color="lightgray")
    -     20 ax.text(
    -     21     (saccade.index.values + saccade["end timestamp [ns]"]) / 2,
    -     22     1050,
    -     23     "Saccade",
    -     24     horizontalalignment="center",
    -     25 )
    -     27 # Visualize gaze x and pupil diameter left
    -
    -File c:\Users\QianC\.conda\envs\pyneon\Lib\site-packages\matplotlib\axes\_axes.py:1087, in Axes.axvspan(self, xmin, xmax, ymin, ymax, **kwargs)
    -   1085 # Strip units away.
    -   1086 self._check_no_units([ymin, ymax], ['ymin', 'ymax'])
    --> 1087 (xmin, xmax), = self._process_unit_info([("x", [xmin, xmax])], kwargs)
    -   1089 p = mpatches.Rectangle((xmin, ymin), xmax - xmin, ymax - ymin, **kwargs)
    -   1090 p.set_transform(self.get_xaxis_transform(which="grid"))
    -
    -File c:\Users\QianC\.conda\envs\pyneon\Lib\site-packages\matplotlib\axes\_base.py:2585, in _AxesBase._process_unit_info(self, datasets, kwargs, convert)
    -   2583     # Update from data if axis is already set but no unit is set yet.
    -   2584     if axis is not None and data is not None and not axis.have_units():
    --> 2585         axis.update_units(data)
    -   2586 for axis_name, axis in axis_map.items():
    -   2587     # Return if no axis is set.
    -   2588     if axis is None:
    -
    -File c:\Users\QianC\.conda\envs\pyneon\Lib\site-packages\matplotlib\axis.py:1756, in Axis.update_units(self, data)
    -   1754 neednew = self.converter != converter
    -   1755 self.converter = converter
    --> 1756 default = self.converter.default_units(data, self)
    -   1757 if default is not None and self.units is None:
    -   1758     self.set_units(default)
    -
    -File c:\Users\QianC\.conda\envs\pyneon\Lib\site-packages\matplotlib\category.py:105, in StrCategoryConverter.default_units(data, axis)
    -    103 # the conversion call stack is default_units -> axis_info -> convert
    -    104 if axis.units is None:
    ---> 105     axis.set_units(UnitData(data))
    -    106 else:
    -    107     axis.units.update(data)
    -
    -File c:\Users\QianC\.conda\envs\pyneon\Lib\site-packages\matplotlib\category.py:181, in UnitData.__init__(self, data)
    -    179 self._counter = itertools.count()
    -    180 if data is not None:
    ---> 181     self.update(data)
    -
    -File c:\Users\QianC\.conda\envs\pyneon\Lib\site-packages\matplotlib\category.py:214, in UnitData.update(self, data)
    -    212 # check if convertible to number:
    -    213 convertible = True
    ---> 214 for val in OrderedDict.fromkeys(data):
    -    215     # OrderedDict just iterates over unique values in data.
    -    216     _api.check_isinstance((str, bytes), value=val)
    -    217     if convertible:
    -    218         # this will only be called so long as convertible is True.
    -
    -TypeError: unhashable type: 'numpy.ndarray'
    -
    -../_images/tutorials_read_recording_26_2.png -
    -
    -

    It’s apparent that at the beginning of the recording, there are some missing data points in both the gaze and imu streams. This is presumably due to the time it takes for the sensors to start up and stabilize. We will show how to handle missing data using resampling in the next tutorial. For now, it’s important to be aware of these gaps and that it will require great caution to assume the data is continuously and equally sampled.

    -

    PyNeon also calculates the effective (as opposed to the nominal) sampling frequency of each stream by dividing the number of samples by the duration of the recording.

    -
    -
    [ ]:
    -
    -
    -
    print(
    -    f"Gaze: nominal sampling frequency = {gaze.sampling_freq_nominal}, "
    -    f"effective sampling frequency = {gaze.sampling_freq_effective}"
    -)
    -print(
    -    f"IMU: nominal sampling frequency = {recording.imu.sampling_freq_nominal}, "
    -    f"effective sampling frequency = {recording.imu.sampling_freq_effective}"
    -)
    -
    +../_images/tutorials_read_recording_28_0.png

    Visualizing gaze heatmap#

    -

    Finally, we will show how to plot a heatmap of the gaze/fixation data.

    -
    -
    [ ]:
    +

    Finally, we will show how to plot a heatmap of the gaze/fixation data. Since it requires gaze, fixation, and video data, the input it takes is an instance of NeonRecording that contains all necessary data. The method plot_heatmap(), by default, plots a gaze heatmap with fixations overlaid as circles.

    +
    +
    [14]:
     
    recording.plot_distribution()
     
    -

    we can neatly see that the recorded data shows a centre-bias, which is a well-known effect from eye statistics. In y, we can see that fixations tend to occur below the horizon, which is indicative of a walking task where a participant looks at the floor in front of them more often

    +
    +
    +
    +
    +../_images/tutorials_read_recording_30_0.png +
    +
    +
    +
    [14]:
    +
    +
    +
    +
    +(<Figure size 640x480 with 2 Axes>,
    + <Axes: xlabel='Scene camera x [px]', ylabel='Scene camera y [px]'>)
    +
    +
    +

    We can see a clear centre-bias, as participants tend to look more centrally relative to head position.

    @@ -947,7 +867,7 @@

    Visualizing gaze heatmapData and metadata of a NeonRecording
  • Data as dataframes
  • Useful attributes and methods for NeonStream and NeonEV
  • -
  • Data streams and events
  • +
  • An example plot of cropped data
  • Visualizing gaze heatmap
  • diff --git a/tutorials/read_recording.ipynb b/tutorials/read_recording.ipynb index 7456ffa..1b11a07 100644 --- a/tutorials/read_recording.ipynb +++ b/tutorials/read_recording.ipynb @@ -8,7 +8,7 @@ "In this tutorial, we will show how to load a single Neon recording downloaded from [Pupil Cloud](https://docs.pupil-labs.com/neon/pupil-cloud/) and give an overview of the data structure.\n", "\n", "## Reading sample data\n", - "We will use a sample recording produced by the NCC Lab, called `OfficeWalk`. This project (collection of recordings on Pupil Cloud) contains two recordings and multiple enrichments and can be downloaded with the `get_sample_data()` function. The function returns a `Pathlib.Path` [(reference)](https://docs.python.org/3/library/pathlib.html#pathlib.Path) object pointing to the downloaded and unzipped directory. PyNeon accepts both `Path` and `string` objects but internally always uses `Path`." + "We will use a sample recording produced by the NCC Lab, called `boardView`. This project (collection of recordings on Pupil Cloud) contains two recordings downloaded with the `Timeseries Data + Scene Video` option and a marker mapper enrichment. It can be downloaded with the `get_sample_data()` function. The function returns a `Pathlib.Path` [(reference)](https://docs.python.org/3/library/pathlib.html#pathlib.Path) instance pointing to the downloaded and unzipped directory. PyNeon accepts both `Path` and `string` objects but internally always uses `Path`." ] }, { @@ -20,7 +20,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "D:\\GitHub\\pyneon\\data\\OfficeWalk\n" + "C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\n" ] } ], @@ -28,7 +28,7 @@ "from pyneon import get_sample_data, NeonDataset, NeonRecording\n", "\n", "# Download sample data (if not existing) and return the path\n", - "sample_dir = get_sample_data(\"OfficeWalk\")\n", + "sample_dir = get_sample_data(\"boardView\")\n", "print(sample_dir)" ] }, @@ -39,31 +39,29 @@ "The `OfficeWalk` data has the following structure:\n", "\n", "```text\n", - "OfficeWalk\n", - "├── Timeseries Data\n", - "│ ├── walk1-e116e606\n", + "boardView\n", + "├── Timeseries Data + Scene Video\n", + "│ ├── boardview1-d4fd9a27\n", "│ │ ├── info.json\n", "│ │ ├── gaze.csv\n", "│ │ └── ....\n", - "│ ├── walk2-93b8c234\n", + "│ ├── boardview2-713532d5\n", "│ │ ├── info.json\n", "│ │ ├── gaze.csv\n", "│ │ └── ....\n", "| ├── enrichment_info.txt\n", "| └── sections.csv\n", - "├── OfficeWalk_FACE-MAPPER_FaceMap\n", - "├── OfficeWalk_MARKER-MAPPER_TagMap_csv\n", - "└── OfficeWalk_STATIC-IMAGE-MAPPER_ManualMap_csv\n", + "└── boardView_MARKER-MAPPER_boardMapping_csv\n", "```\n", "\n", - "The `Timeseries Data` folder contains what PyNeon refers to as a `NeonDataset`. It consists of two recordings, each with its own `info.json` file and data files. These recordings can be loaded either individually as a `NeonRecording` as a collective `NeonDataset`." + "The `Timeseries Data + Scene Video` folder contains what PyNeon refers to as a `NeonDataset`. It consists of two recordings, each with its own `info.json` file and data files. These recordings can be loaded either individually as a `NeonRecording` as a collective `NeonDataset`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "To load a `NeonDataset`, specify the path to the `Timeseries Data` folder:" + "To load a `NeonDataset`, specify the path to the `Timeseries Data + Scene Video` folder:" ] }, { @@ -80,7 +78,7 @@ } ], "source": [ - "dataset_dir = sample_dir / \"Timeseries Data\"\n", + "dataset_dir = sample_dir / \"Timeseries Data + Scene Video\"\n", "dataset = NeonDataset(dataset_dir)\n", "print(dataset)" ] @@ -102,14 +100,14 @@ "output_type": "stream", "text": [ "\n", - "D:\\GitHub\\pyneon\\data\\OfficeWalk\\Timeseries Data\\walk2-93b8c234\n" + "C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\\Timeseries Data + Scene Video\\boardview2-713532d5\n" ] } ], "source": [ - "first_recording = dataset[0]\n", - "print(type(first_recording))\n", - "print(first_recording.recording_dir)" + "recording = dataset[0]\n", + "print(type(recording))\n", + "print(recording.recording_dir)" ] }, { @@ -129,12 +127,12 @@ "output_type": "stream", "text": [ "\n", - "D:\\GitHub\\pyneon\\data\\OfficeWalk\\Timeseries Data\\walk1-e116e606\n" + "C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\\Timeseries Data + Scene Video\\boardview1-d4fd9a27\n" ] } ], "source": [ - "recording_dir = dataset_dir / \"walk1-e116e606\"\n", + "recording_dir = dataset_dir / \"boardview1-d4fd9a27\"\n", "recording = NeonRecording(recording_dir)\n", "print(type(recording))\n", "print(recording.recording_dir)" @@ -158,23 +156,23 @@ "output_type": "stream", "text": [ "\n", - "Recording ID: e116e606-5f3f-4d34-8727-040b8762cef8\n", - "Wearer ID: bcff2832-cfcb-4f89-abef-7bbfe91ec561\n", + "Recording ID: d4fd9a27-3e28-45bf-937f-b9c14c3c1c5e\n", + "Wearer ID: af6cd360-443a-4d3d-adda-7dc8510473c2\n", "Wearer name: Qian\n", - "Recording start time: 2024-08-30 17:37:01.527000\n", - "Recording duration: 98.213s\n", - " exist filename path\n", - "3d_eye_states True 3d_eye_states.csv D:\\GitHub\\pyneon\\data\\OfficeWalk\\Timeseries Data\\walk1-e116e606\\3d_eye_states.csv\n", - "blinks True blinks.csv D:\\GitHub\\pyneon\\data\\OfficeWalk\\Timeseries Data\\walk1-e116e606\\blinks.csv\n", - "events True events.csv D:\\GitHub\\pyneon\\data\\OfficeWalk\\Timeseries Data\\walk1-e116e606\\events.csv\n", - "fixations True fixations.csv D:\\GitHub\\pyneon\\data\\OfficeWalk\\Timeseries Data\\walk1-e116e606\\fixations.csv\n", - "gaze True gaze.csv D:\\GitHub\\pyneon\\data\\OfficeWalk\\Timeseries Data\\walk1-e116e606\\gaze.csv\n", - "imu True imu.csv D:\\GitHub\\pyneon\\data\\OfficeWalk\\Timeseries Data\\walk1-e116e606\\imu.csv\n", - "labels True labels.csv D:\\GitHub\\pyneon\\data\\OfficeWalk\\Timeseries Data\\walk1-e116e606\\labels.csv\n", - "saccades True saccades.csv D:\\GitHub\\pyneon\\data\\OfficeWalk\\Timeseries Data\\walk1-e116e606\\saccades.csv\n", - "world_timestamps True world_timestamps.csv D:\\GitHub\\pyneon\\data\\OfficeWalk\\Timeseries Data\\walk1-e116e606\\world_timestamps.csv\n", - "scene_video_info False None None\n", - "scene_video False None None\n", + "Recording start time: 2024-11-26 12:44:48.937000\n", + "Recording duration: 32.046s\n", + " exist filename path\n", + "3d_eye_states True 3d_eye_states.csv C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\\Timeseries Data + Scene Video\\boardview1-d4fd9a27\\3d_eye_states.csv\n", + "blinks True blinks.csv C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\\Timeseries Data + Scene Video\\boardview1-d4fd9a27\\blinks.csv\n", + "events True events.csv C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\\Timeseries Data + Scene Video\\boardview1-d4fd9a27\\events.csv\n", + "fixations True fixations.csv C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\\Timeseries Data + Scene Video\\boardview1-d4fd9a27\\fixations.csv\n", + "gaze True gaze.csv C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\\Timeseries Data + Scene Video\\boardview1-d4fd9a27\\gaze.csv\n", + "imu True imu.csv C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\\Timeseries Data + Scene Video\\boardview1-d4fd9a27\\imu.csv\n", + "labels True labels.csv C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\\Timeseries Data + Scene Video\\boardview1-d4fd9a27\\labels.csv\n", + "saccades True saccades.csv C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\\Timeseries Data + Scene Video\\boardview1-d4fd9a27\\saccades.csv\n", + "world_timestamps True world_timestamps.csv C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\\Timeseries Data + Scene Video\\boardview1-d4fd9a27\\world_timestamps.csv\n", + "scene_video_info True scene_camera.json C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\\Timeseries Data + Scene Video\\boardview1-d4fd9a27\\scene_camera.json\n", + "scene_video True 182240fd_0.0-32.046.mp4 C:\\Users\\qian.chu\\Documents\\GitHub\\pyneon\\data\\boardView\\Timeseries Data + Scene Video\\boardview1-d4fd9a27\\182240fd_0.0-32.046.mp4\n", "\n" ] } @@ -187,9 +185,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "As seen in the output, this recording includes all data files except the scene video and its metadata because we downloaded only the \"Timeseries Data\" instead of \" \"Timeseries Data + Scene Video\" from Pupil Cloud. For processing video, refer to the [Neon video tutorial](video.ipynb).\n", + "As seen in the output, this recording includes all data files. This tutorial will focus on non-video data. For processing video, refer to the [Neon video tutorial](video.ipynb).\n", "\n", - "Individual data streams can be accessed as properties of the `NeonRecording` object. For example, the gaze data can be accessed as `recording.gaze`, and upon accessing, the tabular data is loaded into memory. On the other hand, if you try to access unavailable data like the video, it will simply return `None` and a warning message." + "Individual data streams can be accessed as properties of the `NeonRecording` object. For example, the gaze data can be accessed as `recording.gaze`, and upon accessing, the tabular data is loaded into memory. On the other hand, if you try to access unavailable data, PyNeon will return `None` and a warning message." ] }, { @@ -201,17 +199,9 @@ "name": "stdout", "output_type": "stream", "text": [ - "recording.gaze is \n", - "recording.fixations is \n", - "recording.video is None\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "D:\\GitHub\\pyneon\\pyneon\\recording.py:271: UserWarning: Scene video not loaded because not all video-related files (video, scene_camera.json, world_timestamps.csv) are found.\n", - " warnings.warn(\n" + "recording.gaze is \n", + "recording.saccades is \n", + "recording.video is < cv2.VideoCapture 0000027AE592DB90>\n" ] } ], @@ -219,10 +209,8 @@ "# Gaze and fixation data are available\n", "gaze = recording.gaze\n", "print(f\"recording.gaze is {gaze}\")\n", - "fixations = recording.fixations\n", - "print(f\"recording.fixations is {fixations}\")\n", - "\n", - "# Video is not available\n", + "saccades = recording.saccades\n", + "print(f\"recording.saccades is {saccades}\")\n", "video = recording.video\n", "print(f\"recording.video is {video}\")" ] @@ -269,19 +257,19 @@ "text": [ " gaze x [px] gaze y [px] worn fixation id blink id \\\n", "timestamp [ns] \n", - "1725032224852161732 1067.486 620.856 1 1 \n", - "1725032224857165732 1066.920 617.117 1 1 \n", - "1725032224862161732 1072.699 615.780 1 1 \n", - "1725032224867161732 1067.447 617.062 1 1 \n", - "1725032224872161732 1071.564 613.158 1 1 \n", + "1732621490425631343 697.829 554.242 1 1 \n", + "1732621490430625343 698.096 556.335 1 1 \n", + "1732621490435625343 697.810 556.360 1 1 \n", + "1732621490440625343 695.752 557.903 1 1 \n", + "1732621490445625343 696.108 558.438 1 1 \n", "\n", " azimuth [deg] elevation [deg] \n", "timestamp [ns] \n", - "1725032224852161732 16.213030 -0.748998 \n", - "1725032224857165732 16.176285 -0.511733 \n", - "1725032224862161732 16.546413 -0.426618 \n", - "1725032224867161732 16.210049 -0.508251 \n", - "1725032224872161732 16.473521 -0.260388 \n", + "1732621490425631343 -7.581023 3.519804 \n", + "1732621490430625343 -7.563214 3.385485 \n", + "1732621490435625343 -7.581576 3.383787 \n", + "1732621490440625343 -7.713686 3.284294 \n", + "1732621490445625343 -7.690596 3.250055 \n", "gaze x [px] float64\n", "gaze y [px] float64\n", "worn Int32\n", @@ -307,43 +295,43 @@ "name": "stdout", "output_type": "stream", "text": [ - " fixation id end timestamp [ns] duration [ms] \\\n", - "start timestamp [ns] \n", - "1725032224852161732 1 1725032225007283732 155 \n", - "1725032225027282732 2 1725032225282527732 255 \n", - "1725032225347526732 3 1725032225617770732 270 \n", - "1725032225667907732 4 1725032225798022732 130 \n", - "1725032225833015732 5 1725032225958137732 125 \n", + " saccade id end timestamp [ns] duration [ms] \\\n", + "start timestamp [ns] \n", + "1732621490876132343 1 1732621490891115343 15 \n", + "1732621491241357343 2 1732621491291481343 50 \n", + "1732621491441602343 3 1732621491516601343 75 \n", + "1732621491626723343 4 1732621491696847343 70 \n", + "1732621491917092343 5 1732621491977090343 60 \n", "\n", - " fixation x [px] fixation y [px] azimuth [deg] \\\n", - "start timestamp [ns] \n", - "1725032224852161732 1069.932 614.843 16.369094 \n", - "1725032225027282732 906.439 538.107 5.878844 \n", - "1725032225347526732 694.843 533.982 -7.781338 \n", - "1725032225667907732 572.983 488.800 -15.679003 \n", - "1725032225833015732 601.861 491.125 -13.813521 \n", + " amplitude [px] amplitude [deg] mean velocity [px/s] \\\n", + "start timestamp [ns] \n", + "1732621490876132343 14.938179 0.962102 1025.709879 \n", + "1732621491241357343 130.743352 8.378644 2700.713283 \n", + "1732621491441602343 241.003342 15.391730 3615.380044 \n", + "1732621491626723343 212.619205 13.608618 3757.394092 \n", + "1732621491917092343 220.842812 13.914266 4220.180601 \n", "\n", - " elevation [deg] \n", - "start timestamp [ns] \n", - "1725032224852161732 -0.367312 \n", - "1725032225027282732 4.561914 \n", - "1725032225347526732 4.819739 \n", - "1725032225667907732 7.636408 \n", - "1725032225833015732 7.512433 \n", - "fixation id Int32\n", - "end timestamp [ns] Int64\n", - "duration [ms] Int64\n", - "fixation x [px] float64\n", - "fixation y [px] float64\n", - "azimuth [deg] float64\n", - "elevation [deg] float64\n", + " peak velocity [px/s] \n", + "start timestamp [ns] \n", + "1732621490876132343 1191.520740 \n", + "1732621491241357343 3687.314947 \n", + "1732621491441602343 5337.244676 \n", + "1732621491626723343 6164.040944 \n", + "1732621491917092343 6369.217052 \n", + "saccade id Int32\n", + "end timestamp [ns] Int64\n", + "duration [ms] Int64\n", + "amplitude [px] float64\n", + "amplitude [deg] float64\n", + "mean velocity [px/s] float64\n", + "peak velocity [px/s] float64\n", "dtype: object\n" ] } ], "source": [ - "print(fixations.data.head())\n", - "print(fixations.data.dtypes)" + "print(saccades.data.head())\n", + "print(saccades.data.dtypes)" ] }, { @@ -360,7 +348,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Just like any other `pandas.DataFrame`, you can access individual rows, columns, or subsets of the data using the standard indexing and slicing methods. For example, `gaze.data.iloc[0]` returns the first row of the gaze data, and `gaze.data['gaze x [px]']` returns the gaze x-coordinate column." + "Just like any other `pandas.DataFrame`, you can access individual rows, columns, or subsets of the data using the standard indexing and slicing methods. For example, `gaze.data.iloc[0]` returns the first row of the gaze data, and `gaze.data['gaze x [px]']` (or `gaze['gaze x [px]']`) returns the gaze x-coordinate column." ] }, { @@ -373,35 +361,35 @@ "output_type": "stream", "text": [ "First row of gaze data:\n", - "gaze x [px] 1067.486\n", - "gaze y [px] 620.856\n", + "gaze x [px] 697.829\n", + "gaze y [px] 554.242\n", "worn 1.0\n", "fixation id 1.0\n", "blink id \n", - "azimuth [deg] 16.21303\n", - "elevation [deg] -0.748998\n", - "Name: 1725032224852161732, dtype: Float64\n", + "azimuth [deg] -7.581023\n", + "elevation [deg] 3.519804\n", + "Name: 1732621490425631343, dtype: Float64\n", "\n", "All gaze x values:\n", "timestamp [ns]\n", - "1725032224852161732 1067.486\n", - "1725032224857165732 1066.920\n", - "1725032224862161732 1072.699\n", - "1725032224867161732 1067.447\n", - "1725032224872161732 1071.564\n", - " ... \n", - "1725032319717194732 800.364\n", - "1725032319722198732 799.722\n", - "1725032319727194732 799.901\n", - "1725032319732194732 796.982\n", - "1725032319737194732 797.285\n", - "Name: gaze x [px], Length: 18769, dtype: float64\n" + "1732621490425631343 697.829\n", + "1732621490430625343 698.096\n", + "1732621490435625343 697.810\n", + "1732621490440625343 695.752\n", + "1732621490445625343 696.108\n", + " ... \n", + "1732621520958946343 837.027\n", + "1732621520964071343 836.595\n", + "1732621520969071343 836.974\n", + "1732621520974075343 835.169\n", + "1732621520979070343 833.797\n", + "Name: gaze x [px], Length: 6091, dtype: float64\n" ] } ], "source": [ "print(f\"First row of gaze data:\\n{gaze.data.iloc[0]}\\n\")\n", - "print(f\"All gaze x values:\\n{gaze.data['gaze x [px]']}\")" + "print(f\"All gaze x values:\\n{gaze['gaze x [px]']}\")" ] }, { @@ -423,10 +411,10 @@ "name": "stdout", "output_type": "stream", "text": [ - "[1725032224852161732 1725032224857165732 1725032224862161732 ...\n", - " 1725032319727194732 1725032319732194732 1725032319737194732]\n", - "[0.0000000e+00 5.0040000e-03 1.0000000e-02 ... 9.4875033e+01 9.4880033e+01\n", - " 9.4885033e+01]\n" + "[1732621490425631343 1732621490430625343 1732621490435625343 ...\n", + " 1732621520969071343 1732621520974075343 1732621520979070343]\n", + "[0.0000000e+00 4.9940000e-03 9.9940000e-03 ... 3.0543440e+01 3.0548444e+01\n", + " 3.0553439e+01]\n" ] } ], @@ -439,7 +427,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Timestamps (UTC, in ns) and relative time (relative to the stream start, in s) are thus the two units of time that are most commonly used in PyNeon. For example, you can crop the stream by either timestamp or relative time by calling the `crop()` method. The method takes two arguments: `start` and `end`:" + "Timestamps (UTC, in ns), relative time (relative to the stream start, in s), and index are the three units of time that are most commonly used in PyNeon. For example, you can crop the stream by either timestamp or relative time by calling the `crop()` method. The method takes `start` and `end` of the crop window in either UTC timestamps or relative time, and uses `by` to specify whether " ] }, { @@ -451,18 +439,49 @@ "name": "stdout", "output_type": "stream", "text": [ - "94.885033\n", - "9.999289\n" + "Gaze data points before cropping: 6091\n", + "Gaze data points after cropping: 999\n" ] } ], "source": [ - "# Last data time of the original gaze data\n", - "print(gaze.times[-1])\n", + "print(f\"Gaze data points before cropping: {len(gaze)}\")\n", "\n", - "# Crop the gaze data to the first 10 seconds\n", - "gaze_cropped = gaze.crop(0, 10, by=\"time\") # Crop by time\n", - "print(gaze_cropped.times[-1])" + "# Crop the gaze data to 5-10 seconds\n", + "gaze_crop = gaze.crop(5, 10, by=\"time\") # Crop by time\n", + "print(f\"Gaze data points after cropping: {len(gaze_crop)}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You may also want to restrict one stream to the temporal range of another stream. This can be done by calling the `restrict()` method. The method takes another `NeonStream` instance as an argument and crops the stream to the intersection of the two streams' temporal ranges." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "IMU first timestamp: 1732621495435389343 > Gaze first timestamp: 1732621495430263343\n", + "IMU last timestamp: 1732621500421101343 < Gaze last timestamp: 1732621500424901343\n" + ] + } + ], + "source": [ + "imu_crop = recording.imu.restrict(gaze_crop)\n", + "saccades_crop = saccades.restrict(gaze_crop)\n", + "print(\n", + " f\"IMU first timestamp: {imu_crop.first_ts} > Gaze first timestamp: {gaze_crop.first_ts}\"\n", + ")\n", + "print(\n", + " f\"IMU last timestamp: {imu_crop.last_ts} < Gaze last timestamp: {gaze_crop.last_ts}\"\n", + ")" ] }, { @@ -476,52 +495,21 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Data streams and events\n", + "## An example plot of cropped data\n", "\n", - "Up to this point, PyNeon simply reads and re-organizes the raw .csv files. Let's plot some samples from the `gaze` and `eye_states` streams and a saccade from the `saccades` events." + "Below we show how to easily plot the gaze and saccade data we cropped just now. Since PyNeon data are stored in `pandas.DataFrame`, you can use any plotting library that supports `pandas.DataFrame` as input. Here we use `seaaborn` and `matplotlib` to plot the gaze x, y coordinates and the saccade durations (shadowed areas)." ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "metadata": {}, "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "saccade id 2.0\n", - "end timestamp [ns] 1725032225347526656.0\n", - "duration [ms] 65.0\n", - "amplitude [px] 228.36139\n", - "amplitude [deg] 14.676102\n", - "mean velocity [px/s] 3685.269894\n", - "peak velocity [px/s] 5411.775481\n", - "Name: 1725032225282527732, dtype: Float64\n" - ] - }, - { - "ename": "TypeError", - "evalue": "unhashable type: 'numpy.ndarray'", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[1;32mIn[12], line 19\u001b[0m\n\u001b[0;32m 17\u001b[0m saccade \u001b[38;5;241m=\u001b[39m fixations\u001b[38;5;241m.\u001b[39mdata\u001b[38;5;241m.\u001b[39miloc[\u001b[38;5;241m1\u001b[39m]\n\u001b[0;32m 18\u001b[0m \u001b[38;5;28mprint\u001b[39m(saccade)\n\u001b[1;32m---> 19\u001b[0m \u001b[43max\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43maxvspan\u001b[49m\u001b[43m(\u001b[49m\u001b[43msaccade\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mindex\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mvalues\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msaccade\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mend timestamp [ns]\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcolor\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mlightgray\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[0;32m 20\u001b[0m ax\u001b[38;5;241m.\u001b[39mtext(\n\u001b[0;32m 21\u001b[0m (saccade\u001b[38;5;241m.\u001b[39mindex\u001b[38;5;241m.\u001b[39mvalues \u001b[38;5;241m+\u001b[39m saccade[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mend timestamp [ns]\u001b[39m\u001b[38;5;124m\"\u001b[39m]) \u001b[38;5;241m/\u001b[39m \u001b[38;5;241m2\u001b[39m,\n\u001b[0;32m 22\u001b[0m \u001b[38;5;241m1050\u001b[39m,\n\u001b[0;32m 23\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mSaccade\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m 24\u001b[0m horizontalalignment\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcenter\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m 25\u001b[0m )\n\u001b[0;32m 27\u001b[0m \u001b[38;5;66;03m# Visualize gaze x and pupil diameter left\u001b[39;00m\n", - "File \u001b[1;32mc:\\Users\\QianC\\.conda\\envs\\pyneon\\Lib\\site-packages\\matplotlib\\axes\\_axes.py:1087\u001b[0m, in \u001b[0;36mAxes.axvspan\u001b[1;34m(self, xmin, xmax, ymin, ymax, **kwargs)\u001b[0m\n\u001b[0;32m 1085\u001b[0m \u001b[38;5;66;03m# Strip units away.\u001b[39;00m\n\u001b[0;32m 1086\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_check_no_units([ymin, ymax], [\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mymin\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mymax\u001b[39m\u001b[38;5;124m'\u001b[39m])\n\u001b[1;32m-> 1087\u001b[0m (xmin, xmax), \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_process_unit_info\u001b[49m\u001b[43m(\u001b[49m\u001b[43m[\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mx\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m[\u001b[49m\u001b[43mxmin\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mxmax\u001b[49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 1089\u001b[0m p \u001b[38;5;241m=\u001b[39m mpatches\u001b[38;5;241m.\u001b[39mRectangle((xmin, ymin), xmax \u001b[38;5;241m-\u001b[39m xmin, ymax \u001b[38;5;241m-\u001b[39m ymin, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m 1090\u001b[0m p\u001b[38;5;241m.\u001b[39mset_transform(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mget_xaxis_transform(which\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mgrid\u001b[39m\u001b[38;5;124m\"\u001b[39m))\n", - "File \u001b[1;32mc:\\Users\\QianC\\.conda\\envs\\pyneon\\Lib\\site-packages\\matplotlib\\axes\\_base.py:2585\u001b[0m, in \u001b[0;36m_AxesBase._process_unit_info\u001b[1;34m(self, datasets, kwargs, convert)\u001b[0m\n\u001b[0;32m 2583\u001b[0m \u001b[38;5;66;03m# Update from data if axis is already set but no unit is set yet.\u001b[39;00m\n\u001b[0;32m 2584\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m axis \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m data \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m axis\u001b[38;5;241m.\u001b[39mhave_units():\n\u001b[1;32m-> 2585\u001b[0m \u001b[43maxis\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mupdate_units\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 2586\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m axis_name, axis \u001b[38;5;129;01min\u001b[39;00m axis_map\u001b[38;5;241m.\u001b[39mitems():\n\u001b[0;32m 2587\u001b[0m \u001b[38;5;66;03m# Return if no axis is set.\u001b[39;00m\n\u001b[0;32m 2588\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m axis \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n", - "File \u001b[1;32mc:\\Users\\QianC\\.conda\\envs\\pyneon\\Lib\\site-packages\\matplotlib\\axis.py:1756\u001b[0m, in \u001b[0;36mAxis.update_units\u001b[1;34m(self, data)\u001b[0m\n\u001b[0;32m 1754\u001b[0m neednew \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mconverter \u001b[38;5;241m!=\u001b[39m converter\n\u001b[0;32m 1755\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mconverter \u001b[38;5;241m=\u001b[39m converter\n\u001b[1;32m-> 1756\u001b[0m default \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconverter\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdefault_units\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[0;32m 1757\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m default \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39munits \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m 1758\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mset_units(default)\n", - "File \u001b[1;32mc:\\Users\\QianC\\.conda\\envs\\pyneon\\Lib\\site-packages\\matplotlib\\category.py:105\u001b[0m, in \u001b[0;36mStrCategoryConverter.default_units\u001b[1;34m(data, axis)\u001b[0m\n\u001b[0;32m 103\u001b[0m \u001b[38;5;66;03m# the conversion call stack is default_units -> axis_info -> convert\u001b[39;00m\n\u001b[0;32m 104\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m axis\u001b[38;5;241m.\u001b[39munits \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m--> 105\u001b[0m axis\u001b[38;5;241m.\u001b[39mset_units(\u001b[43mUnitData\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata\u001b[49m\u001b[43m)\u001b[49m)\n\u001b[0;32m 106\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m 107\u001b[0m axis\u001b[38;5;241m.\u001b[39munits\u001b[38;5;241m.\u001b[39mupdate(data)\n", - "File \u001b[1;32mc:\\Users\\QianC\\.conda\\envs\\pyneon\\Lib\\site-packages\\matplotlib\\category.py:181\u001b[0m, in \u001b[0;36mUnitData.__init__\u001b[1;34m(self, data)\u001b[0m\n\u001b[0;32m 179\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_counter \u001b[38;5;241m=\u001b[39m itertools\u001b[38;5;241m.\u001b[39mcount()\n\u001b[0;32m 180\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m data \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m--> 181\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mupdate\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[1;32mc:\\Users\\QianC\\.conda\\envs\\pyneon\\Lib\\site-packages\\matplotlib\\category.py:214\u001b[0m, in \u001b[0;36mUnitData.update\u001b[1;34m(self, data)\u001b[0m\n\u001b[0;32m 212\u001b[0m \u001b[38;5;66;03m# check if convertible to number:\u001b[39;00m\n\u001b[0;32m 213\u001b[0m convertible \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[1;32m--> 214\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m val \u001b[38;5;129;01min\u001b[39;00m \u001b[43mOrderedDict\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfromkeys\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata\u001b[49m\u001b[43m)\u001b[49m:\n\u001b[0;32m 215\u001b[0m \u001b[38;5;66;03m# OrderedDict just iterates over unique values in data.\u001b[39;00m\n\u001b[0;32m 216\u001b[0m _api\u001b[38;5;241m.\u001b[39mcheck_isinstance((\u001b[38;5;28mstr\u001b[39m, \u001b[38;5;28mbytes\u001b[39m), value\u001b[38;5;241m=\u001b[39mval)\n\u001b[0;32m 217\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m convertible:\n\u001b[0;32m 218\u001b[0m \u001b[38;5;66;03m# this will only be called so long as convertible is True.\u001b[39;00m\n", - "\u001b[1;31mTypeError\u001b[0m: unhashable type: 'numpy.ndarray'" - ] - }, { "data": { - "image/png": "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arlCa9KkSVFeXh4dHR0D1js6OmLKlCmDXjNlypRc+yMGf9svIqJQKAx4exBS6+zsjIiImpoaZ40LylljuDhrDBdnjeHy/vm67LLLPvSsDVe/DCbXTx2sqKiIOXPmRGtra3Gtv78/Wltbo76+ftBr6uvrB+yPiHj55ZfPuh8AACCFUvZL7o8ONjU1xdKlS2Pu3Lkxb968WLduXXR3d8eyZcsiImLJkiVRU1MTLS0tERFxzz33xE033RSPP/543HrrrbFp06b49a9/HU8//XTeWwMAAORSqn7JHVoLFy6MkydPxqpVq6K9vT1mz54d27ZtK35h7MiRI1FW9sEbZddff30899xz8dBDD8UDDzwQf/3Xfx0vvvjiGV9eO5fKyspobm7+2H3uktHHWWO4OGsMF2eN4eKsMVzynrVS9EvEEH6PFgAAAOeW6ztaAAAAfDihBQAAkJjQAgAASExoAQAAJPaxCa3169fHjBkzoqqqKurq6mLHjh3n3P+Tn/wkrrrqqqiqqoqrr746tm7dOkyTMtLlOWsbN26MG2+8MSZOnBgTJ06MhoaGDz2b8L68f6+9b9OmTTFmzJhYsGDBhR2QUSPvWXv77bdj+fLlMXXq1KisrIwrr7zSv0c5L3nP2rp16+LTn/50XHzxxVEoFOK+++6LP/zhD8M0LSPRL3/5y5g/f35MmzYtxowZEy+++OKHXrN9+/b43Oc+F5WVlfGpT30qnn322Qs+5/n4WITW5s2bo6mpKZqbm2PXrl0xa9asaGxsjBMnTgy6/9VXX41FixbF7bffHrt3744FCxbEggULYu/evcM8OSNN3rO2ffv2WLRoUbzyyivR1tYWhUIhbrnlljh+/PgwT85Ik/esve/w4cPxjW98I2688cZhmpSRLu9Z6+3tjS984Qtx+PDheP755+PgwYOxcePGqKmpGebJGWnynrXnnnsuVqxYEc3NzbF///545plnYvPmzfHAAw8M8+SMJN3d3TFr1qxYv379ee1/880349Zbb42bb7459uzZE/fee2/ccccd8dJLL13gSc9D9jEwb968bPny5cXnfX192bRp07KWlpZB93/5y1/Obr311gFrdXV12T/+4z9e0DkZ+fKetT91+vTpbNy4cdmPfvSjCzUio8RQztrp06ez66+/PvvBD36QLV26NPu7v/u7YZiUkS7vWfv+97+fXX755Vlvb+9wjcgokfesLV++PPvbv/3bAWtNTU3ZDTfccEHnZPSIiOyFF144555vfvOb2Wc/+9kBawsXLswaGxsv4GTnp+TvaPX29sbOnTujoaGhuFZWVhYNDQ3R1tY26DVtbW0D9kdENDY2nnU/RAztrP2pd999N95777247LLLLtSYjAJDPWvf+ta3YvLkyXH77bcPx5iMAkM5az/72c+ivr4+li9fHtXV1TFz5sxYs2ZN9PX1DdfYjEBDOWvXX3997Ny5s/jxwkOHDsXWrVvji1/84rDMzJ+Hj3MXjC31AKdOnYq+vr7ib2Z+X3V1dRw4cGDQa9rb2wfd397efsHmZOQbyln7U/fff39MmzbtjP9Cw/83lLP2q1/9Kp555pnYs2fPMEzIaDGUs3bo0KH4z//8z/jKV74SW7dujTfeeCO+/vWvx3vvvRfNzc3DMTYj0FDO2m233RanTp2Kz3/+85FlWZw+fTruuusuHx0kqbN1QWdnZ/z+97+Piy++uESTfUy+owUjwdq1a2PTpk3xwgsvRFVVVanHYRTp6uqKxYsXx8aNG2PSpEmlHodRrr+/PyZPnhxPP/10zJkzJxYuXBgPPvhgbNiwodSjMcps37491qxZE0899VTs2rUrfvrTn8aWLVvi0UcfLfVoMCxK/o7WpEmTory8PDo6Ogasd3R0xJQpUwa9ZsqUKbn2Q8TQztr7HnvssVi7dm384he/iGuuueZCjskokPes/eY3v4nDhw/H/Pnzi2v9/f0RETF27Ng4ePBgXHHFFRd2aEakofy9NnXq1LjooouivLy8uPaZz3wm2tvbo7e3NyoqKi7ozIxMQzlrDz/8cCxevDjuuOOOiIi4+uqro7u7O+6888548MEHo6zM/9/PR3e2Lhg/fnxJ382K+Bi8o1VRURFz5syJ1tbW4lp/f3+0trZGfX39oNfU19cP2B8R8fLLL591P0QM7axFRHz3u9+NRx99NLZt2xZz584djlEZ4fKetauuuipee+212LNnT/HxpS99qfgTlAqFwnCOzwgylL/XbrjhhnjjjTeKMR8R8frrr8fUqVNFFmc1lLP27rvvnhFT7wd+lmUXblj+rHysu6DUP40jy7Js06ZNWWVlZfbss89m+/bty+68887s0ksvzdrb27Msy7LFixdnK1asKO7/r//6r2zs2LHZY489lu3fvz9rbm7OLrroouy1114r1R+BESLvWVu7dm1WUVGRPf/889lbb71VfHR1dZXqj8AIkfes/Sk/dZDzlfesHTlyJBs3blz2T//0T9nBgwezn//859nkyZOzb3/726X6IzBC5D1rzc3N2bhx47J///d/zw4dOpT9x3/8R3bFFVdkX/7yl0v1R2AE6Orqynbv3p3t3r07i4jsiSeeyHbv3p399re/zbIsy1asWJEtXry4uP/QoUPZJZdckv3zP/9ztn///mz9+vVZeXl5tm3btlL9EYo+FqGVZVn2r//6r9lf/uVfZhUVFdm8efOy//7v/y7+ZzfddFO2dOnSAft//OMfZ1deeWVWUVGRffazn822bNkyzBMzUuU5a3/1V3+VRcQZj+bm5uEfnBEn799r/5/QIo+8Z+3VV1/N6urqssrKyuzyyy/PvvOd72SnT58e5qkZifKctffeey9bvXp1dsUVV2RVVVVZoVDIvv71r2f/8z//M/yDM2K88sorg/5vr/fP1tKlS7ObbrrpjGtmz56dVVRUZJdffnn2b//2b8M+92DGZJn3bgEAAFIq+Xe0AAAARhuhBQAAkJjQAgAASExoAQAAJCa0AAAAEhNaAAAAiQktAACAxIQWAABAYkILAAAgMaEFAACQmNACAABITGgBAAAk9n+93APIaM1xaAAAAABJRU5ErkJggg==", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1sAAAFzCAYAAADIXBN3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAADJAklEQVR4nOzdd3iT1RfA8W/SdE+6B6WUvfcUBARkyhJBBBUFRUFEQQH5KQguBBGRJQoOEFARFFHZSzayQUBm2XRAKaV7JL8/rklbWqApaZOW83mePEnevOMmgfQ977n3XI3BYDAghBBCCCGEEMKitNZugBBCCCGEEEKURBJsCSGEEEIIIUQhkGBLCCGEEEIIIQqBBFtCCCGEEEIIUQgk2BJCCCGEEEKIQiDBlhBCCCGEEEIUAgm2hBBCCCGEEKIQSLAlhBBCCCGEEIVAZ+0GFAd6vZ4rV67g7u6ORqOxdnOEEEIIIYQQVmIwGLh16xbBwcFotXfPXUmwlQ9XrlwhNDTU2s0QQgghhBBC2IiLFy9SunTpu64jwVY+uLu7A+oD9fDwsHJr8i85OZmIiIh8rRseHo6zs3MhtyjLvdpWGO0pimPm5zMv6s9aWIe1/v+Zc9z8HtvcfZqz78Jgy7992RW3z9Waist3amkF/TdiKff6LG3t33Bx+ht8e1vz2677/Tdhqfd/t3bYymdcmOLj4wkNDTXFCHcjwVY+GLsOenh4FKtgy97eHjc3t3yt6+HhUaT/Me7VtsJoT1EcMz+feVF/1sI6rPX/z5zj5vfY5u7TnH0XBlv+7cuuuH2u1lRcvlNLK+i/EUu512dpa/+Gi9Pf4Nvbmt923e+/CUu9/7u1w1Y+46KQn+FFUiBDCCGEEEIIIQqBBFtCCCGEEEIIUQgk2BJCCCGEEEKIQiBjtoQQQgghhLBBmZmZpKenm56npqai1+sLvL/U1FSLTGN0t3ZY6hjWZm9vj52d3X3vR4ItIYQQQgghbExCQgKXLl3CYDCYlhkMhhzPzXXlyhWLBEJ3a4eljmFtGo2G0qVL33eRGgm2hBBCCCGEsCGZmZlcunQJFxcX/Pz8TMGLXq8nLS2twPt1cHC45yS8+XG3dljqGNZkMBiIiYnh0qVLVKxY8b4yXBJsCSGEEEIIYUPS09MxGAz4+fnlKKOu1+vvK2vk6OhosWDrTu2w1DGszc/Pj3PnzpGenn5fwVbx/ySEEEIIIYQogUpCd7ziylKfvQRbQgghhBBCCFEIJNh6wB075kRCgvwzEEIIIYQQwtLkLPsBtny5F08+WYH33gu2dlOEEEIIIYQocSTYekClp2sYO7Y0AKtWeXEfUzYIIYQQQggBQGRkJK+99hoVKlTAycmJgIAAmjVrxhdffEFSUpK1m1fkpBrhA+rgQZccz48f19CggZUaI4QQQgghir2IiAjatGmDl5cXH330ETVr1sTR0ZEjR47w1VdfERISQteuXa3dzCIlma0H1NatOSdo27hR/ikIIYQQQtgigwESE61zM2cO5ddeew2dTsfevXvp3bs3VatWpVy5cnTr1o0///yTLl26mNadOnUqNWvWxNXVldDQUIYMGUJCQoLp9VatWqHRaHLdzp07B0BcXBwvvPACfn5+eHh40Lp1aw4dOnTHti1YsAA3NzdOnTplWjZkyBCqVKlSqBk3yWw9oPbvdwWgVq0kDh924dtvdYwcCVJhVAghhBDCtiQlgZsbqDyJ8z3WtqyEBHB1vfd6169fZ8OGDXz44Ye43mGD7OXUtVot06dPJzw8nLNnzzJkyBBGjRrF7NmzAfjll19yTJz8yiuvcPToUQICAgDo1asXzs7OrFq1Ck9PT7788kvatGnDyZMn8fb2znXsZ599lj/++IN+/fqxY8cO1qxZw7x589i5cycuLi651rcUSWc8oC5dsgfg9dejcHHJ5N9/tUydauVGCSGEEEKIYunMmTMYDAYqVaqUY7mvry9ubm64ubkxevRo0/LXX3+dRx55hLJly9K6dWs++OADlixZYnrd29ubwMBAAgMD+eGHH9i4cSMrVqzA2dmZbdu28ffff/Pzzz/ToEEDKlasyJQpU/Dy8mLp0qV3bOOXX37J1atXGTZsGAMHDmT8+PHUr1/f8h9GNpLZegAlJ2u4fl0FW5UqpTB8eBQffhjMtGnwxhvWbZsQQgghhMjJxUVlmPR6PampqQXej6OjI1qtebmW+036/P333+j1evr165ej7evXr2fixIn8+++/xMfHk5GRQUpKCklJSTkyTatWreKtt97i999/NwVyhw4dIiEhAR8fnxzHSk5O5syZM3dsS6lSpfj6669p3749Dz30EG+99db9vbl8sGpma8uWLXTp0oXg4GA0Gg3Lly83vZaens7o0aNNfTmDg4N59tlnuXLl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", "text/plain": [ - "
    " + "
    " ] }, "metadata": {}, @@ -532,69 +520,33 @@ "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", - "gaze_color = \"royalblue\"\n", - "gyro_color = \"darkorange\"\n", - "\n", - "imu = recording.imu\n", - "fixations = recording.saccades\n", - "\n", "# Create a figure\n", - "fig, ax = plt.subplots(figsize=(10, 5))\n", - "ax2 = ax.twinx()\n", - "ax.yaxis.label.set_color(gaze_color)\n", - "ax2.yaxis.label.set_color(gyro_color)\n", + "fig, ax = plt.subplots(figsize=(10, 4))\n", "\n", - "# Visualize the 2nd saccade\n", - "saccade = fixations.data.iloc[1]\n", - "print(saccade)\n", - "ax.axvspan(saccade.index.values, saccade[\"end timestamp [ns]\"], color=\"lightgray\")\n", - "ax.text(\n", - " (saccade.index.values + saccade[\"end timestamp [ns]\"]) / 2,\n", - " 1050,\n", - " \"Saccade\",\n", - " horizontalalignment=\"center\",\n", - ")\n", + "# Visualize the 1st saccade\n", + "for _, sac in saccades_crop.data.iterrows():\n", + " ax.axvspan(sac.name, sac[\"end timestamp [ns]\"], color=\"lightgray\")\n", "\n", - "# Visualize gaze x and pupil diameter left\n", - "sns.scatterplot(\n", + "# Visualize gaze x and y\n", + "sns.lineplot(\n", " ax=ax,\n", - " data=gaze.data.head(100),\n", - " x=gaze.data.index,\n", + " data=gaze_crop.data,\n", + " x=gaze_crop.data.index,\n", " y=\"gaze x [px]\",\n", - " color=gaze_color,\n", + " color=\"b\",\n", + " label=\"Gaze x\",\n", ")\n", - "sns.scatterplot(\n", - " ax=ax2,\n", - " data=imu.data.head(60),\n", - " x=imu.data.index,\n", - " y=\"gyro x [deg/s]\",\n", - " color=gyro_color,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "It's apparent that at the beginning of the recording, there are some missing data points in both the `gaze` and `imu` streams. This is presumably due to the time it takes for the sensors to start up and stabilize. We will show how to handle missing data using resampling in the next tutorial. For now, it's important to be aware of these gaps and that it will require great caution to assume the data is continuously and equally sampled.\n", - "\n", - "PyNeon also calculates the effective (as opposed to the nominal) sampling frequency of each stream by dividing the number of samples by the duration of the recording." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(\n", - " f\"Gaze: nominal sampling frequency = {gaze.sampling_freq_nominal}, \"\n", - " f\"effective sampling frequency = {gaze.sampling_freq_effective}\"\n", + "sns.lineplot(\n", + " ax=ax,\n", + " data=gaze_crop.data,\n", + " x=gaze_crop.data.index,\n", + " y=\"gaze y [px]\",\n", + " color=\"g\",\n", + " label=\"Gaze y\",\n", ")\n", - "print(\n", - " f\"IMU: nominal sampling frequency = {recording.imu.sampling_freq_nominal}, \"\n", - " f\"effective sampling frequency = {recording.imu.sampling_freq_effective}\"\n", - ")" + "ax.set_ylabel(\"Gaze location (pixels)\")\n", + "plt.legend()\n", + "plt.show()" ] }, { @@ -602,14 +554,36 @@ "metadata": {}, "source": [ "## Visualizing gaze heatmap\n", - "Finally, we will show how to plot a heatmap of the gaze/fixation data." + "Finally, we will show how to plot a heatmap of the gaze/fixation data. Since it requires gaze, fixation, and video data, the input it takes is an instance of `NeonRecording` that contains all necessary data. The method `plot_heatmap()`, by default, plots a gaze heatmap with fixations overlaid as circles." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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nbP+ggsu4BOf+MScwOKQH/7wh7zlLW8B/KKCl112Gf/+7/+OlJJzzjmHG264gVwuF23/8MMPc+mll3L//fezfv16PvCBD/DRj3607XmGKX6+NjRK3WAwGAwLoQG1ounc4X1p+Ccn0p1bvJNmJu8y+MZ7DvjU8/2mzs7+jBE7BoPBYGgfI3b2N/brmB2DwWAwGAzz47uiltIIdG24sYzYMRgMBoNhtWKysdpiVVVQNhgMBoPBYOgUY9kxGAwGg2GVIpReUmFAodZG2K4ROwaDwWAwrFaUB0spgmzcWAaDwWAwGAyrH2PZMRgMBoNhtaKXaNkxjUANBoPBYDDszwitEHoJqed6bTQCNW4sg8FgMBhWK8pb+tIB1113Ha973evo6upiYGCAd7zjHTz22GMN25TLZS699FL6+/vJ5XKcc845cxpy722M2DEYDAaDwdAWd911F5deeik/+9nPuOOOO6jVapx66qkUCoVomyuuuIJ///d/51//9V+56667ePHFFzn77LP34axNu4i2MO0iDAaDwdA+e69dxNh/vopux1r8OAWP9Wc8sei5jo6OMjAwwF133cWb3/xmpqen2bBhA//8z//M7/zO7wDwy1/+ks2bN3PPPffwhje8YdFzXQrGsmMwGAwGw2pFqaUv+OIpvlQqlbYOPz09DUBfXx8ADzzwALVajVNOOSXa5ogjjuCQQw7hnnvuWeaTbx8jdgwGg8FgWOMcfPDB9PT0RMt11123x32UUlx++eW88Y1v5MgjjwRg9+7dJJNJent7G7YdHBxk9+7dKzH1tjDZWAaDwWAwrFKEUoglJFSF1Zefe+65BjdWKpXa476XXnop27dv53/+538WP4G9hBE7BoPBYDCsVpRaYgVlf+fu7u6OYnYuu+wyvvvd73L33Xfz8pe/PFo/NDREtVplamqqwbozPDzM0NDQEia6NIwby2AwGAwGQ1torbnsssv4zne+ww9+8AM2bdrU8PxrX/taEokEd955Z7TuscceY9euXZx44ol7e7oRxrJjMBgMBsNqZZksO+1y6aWX8s///M/8v//3/+jq6oricHp6eshkMvT09HDxxRdz5ZVX0tfXR3d3Nx/4wAc48cQT91kmFhixYzAYDAbD6mUvi50bb7wRgLe85S0N67/61a9y4YUXAvA3f/M3SCk555xzqFQqnHbaafzd3/3dEia5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Wq20dOlSOnToED3xxBOUkpJiiJ5vSaZOnUrJycn0xRdf0NmzZ7WlqqpK2+fJJ5+krKws2rRpE3399deUk5NDOTk52nY1/fGuu+6iffv20fr166lDhw4tknquos/GIooOG3bu3Elms5lefvllOnr0KL333nuUkJBA7777rrbPggULKCUlhT788EM6cOAAjR07NmQK9I033kg7duygbdu2UY8ePZo19XzSpEl0zTXXaKnnq1evprS0NPqP//iPVmvH5cuXae/evbR3714CQH/6059o7969WpZSY4y3rKyMMjIy6OGHH6bCwkJasWIFJSQkNGrKdm12uN1uGjNmDHXu3Jn27dtn+LzrM3daux2hCM7Gag121GXD6tWrKS4ujpYsWUJHjx6lv/71r2QymWjr1q3aOZryvqVmY8WZMshi7ljvJc6UERPZWCx2IuCvf/0rZWVlkcVioSFDhtD27dtbekgaAEIu77zzjrbPlStX6De/+Q21a9eOEhIS6P7776ezZ88aznPy5Em65557KD4+ntLS0uh3v/sdeTyeZrYmQLDYiRYbPv74Y+rbty9ZrVbq1asXLVmyxLBdlmV67rnnKCMjg6xWK91xxx1UVFRk2OfChQv04IMPksPhoKSkJHr00Ufp8uXLzWZDRUUFPfXUU5SVlUU2m426d+9Of/jDHwwP1NZmx+effx7yczBp0qRGHe/+/fvplltuIavVStdccw0tWLCg2ew4ceJE2M/7559/HjV2hCKU2GlpOyKx4R//+Adde+21ZLPZaMCAAbR27VrDOZryvsVi5+rgrucMwzAME2WoXc/Npg4Qov4RKUQyvL5z3PWcYRiGYZjWiZI6Xn+fBWdjMQzDMAzDtAHYs8MwDMMwUQsBDcqoio1IFhY7DMMwDBOlKNNQ9S/OGCthuyx2GIZhGCZKUerkNEDsxIhnh2N2GIZhGIZp07Bnh2EYhmGiloZ5djhmh2EYhmGY1k0DY3YQIzE7PI3FMEzMMXnyZAghIITA2rVrG/Xc2dnZ2rmDm0AyDNMysNhhmAg4d+4cpk6diqysLFitVmRmZiI3NxdffvllSw+NqSd33303zp49i3vuuadRz7tr1y78z//8T6Oek2HCwY1AI4PFDsNEwIQJE7B3714sW7YMR44cwUcffYTbbrsNFy5caOmhtRn03aubA1W0Wq3WRj1vhw4dkJqa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", + "text/plain": [ + "
    " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "(
    ,\n", + " )" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "recording.plot_distribution()" ] @@ -618,13 +592,13 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "we can neatly see that the recorded data shows a centre-bias, which is a well-known effect from eye statistics. In y, we can see that fixations tend to occur below the horizon, which is indicative of a walking task where a participant looks at the floor in front of them more often" + "We can see a clear centre-bias, as participants tend to look more centrally relative to head position." ] } ], "metadata": { "kernelspec": { - "display_name": "pyneon", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -638,7 +612,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.4" + "version": "3.12.6" } }, "nbformat": 4,