From 24aa9f8d06c1f13c4e5b0bc93abd7e13fe1d548f Mon Sep 17 00:00:00 2001 From: qian-chu <97355086+qian-chu@users.noreply.github.com> Date: Mon, 2 Sep 2024 22:20:33 +0200 Subject: [PATCH] add more tutorials --- docs/.buildinfo | 2 +- docs/{.nojekyll => .nonojekyll} | 0 docs/_sources/index.rst.txt | 18 +- .../tutorials/export_to_bids.ipynb.txt | 18 + docs/_sources/tutorials/index.rst.txt | 10 + .../_sources/tutorials/load_dataset.ipynb.txt | 30 ++ .../tutorials/load_recording.ipynb.txt | 26 + .../tutorials/resample_and_concat.ipynb.txt | 18 + docs/_static/nbsphinx-broken-thumbnail.svg | 9 + docs/_static/nbsphinx-code-cells.css | 259 +++++++++ docs/_static/nbsphinx-gallery.css | 31 ++ docs/_static/nbsphinx-no-thumbnail.svg | 9 + docs/genindex.html | 1 + docs/index.html | 20 +- docs/objects.inv | Bin 468 -> 979 bytes docs/py-modindex.html | 1 + docs/reference/dataset.html | 1 + docs/reference/index.html | 7 +- docs/reference/preprocess.html | 1 + docs/reference/recording.html | 3 +- docs/search.html | 1 + docs/searchindex.js | 2 +- docs/tutorials/export_to_bids.html | 480 +++++++++++++++++ docs/tutorials/export_to_bids.ipynb | 18 + docs/tutorials/index.html | 31 +- docs/tutorials/load_dataset.html | 490 ++++++++++++++++++ docs/tutorials/load_dataset.ipynb | 30 ++ docs/tutorials/load_recording.html | 490 ++++++++++++++++++ docs/tutorials/load_recording.ipynb | 26 + docs/tutorials/resample_and_concat.html | 480 +++++++++++++++++ docs/tutorials/resample_and_concat.ipynb | 18 + source/conf.py | 2 +- source/index.rst | 18 +- source/tutorials/export_to_bids.ipynb | 18 + source/tutorials/index.rst | 7 +- source/tutorials/load_dataset.ipynb | 2 +- source/tutorials/resample_and_concat.ipynb | 18 + 37 files changed, 2567 insertions(+), 28 deletions(-) rename docs/{.nojekyll => .nonojekyll} (100%) create mode 100644 docs/_sources/tutorials/export_to_bids.ipynb.txt create mode 100644 docs/_sources/tutorials/load_dataset.ipynb.txt create mode 100644 docs/_sources/tutorials/load_recording.ipynb.txt create mode 100644 docs/_sources/tutorials/resample_and_concat.ipynb.txt create mode 100644 docs/_static/nbsphinx-broken-thumbnail.svg create mode 100644 docs/_static/nbsphinx-code-cells.css create mode 100644 docs/_static/nbsphinx-gallery.css create mode 100644 docs/_static/nbsphinx-no-thumbnail.svg create mode 100644 docs/tutorials/export_to_bids.html create mode 100644 docs/tutorials/export_to_bids.ipynb create mode 100644 docs/tutorials/load_dataset.html create mode 100644 docs/tutorials/load_dataset.ipynb create mode 100644 docs/tutorials/load_recording.html create mode 100644 docs/tutorials/load_recording.ipynb create mode 100644 docs/tutorials/resample_and_concat.html create mode 100644 docs/tutorials/resample_and_concat.ipynb create mode 100644 source/tutorials/export_to_bids.ipynb create mode 100644 source/tutorials/resample_and_concat.ipynb diff --git a/docs/.buildinfo b/docs/.buildinfo index 440ea4c..7e6b952 100644 --- a/docs/.buildinfo +++ b/docs/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: d7d1e277d5650e23848c2f7b1e30761e +config: a3337b8fdb7d16f69d6f92f1c6fc4a2c tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/.nojekyll b/docs/.nonojekyll similarity index 100% rename from docs/.nojekyll rename to docs/.nonojekyll diff --git a/docs/_sources/index.rst.txt b/docs/_sources/index.rst.txt index cc49de9..e4cdf65 100644 --- a/docs/_sources/index.rst.txt +++ b/docs/_sources/index.rst.txt @@ -2,12 +2,17 @@ .. module:: pyneon -PyNeon documentation -==================== +Welcome to PyNeon documentation +=============================== PyNeon is a light-weight library to work with Neon (Pupil Labs) multi-modal -eye-tracking data. It is originally developed by Qian Chu and Jan-Gabriel -Hartel from the Max Planck Institute for Empirical Aesthetics. +eye-tracking data. It is a community-driven effort to provide a versatile set +of tools to work with the rich data (gaze, eye states, IMU, events, etc.) +provided by Neon. + +PyNeon is licensed under the MIT License. + +Here we provide tutorials and API reference to help you get started with PyNeon. Installation ============ @@ -28,6 +33,11 @@ PyNeon works with the "Timeseries Data" or "Timeseries Data + Scene Video" forma as exported from Pupil Clouds. The data could be from a single recording or from a project with multiple recordings. +Credits +======= + +PyNeon was inspired by https://github.com/pupil-labs/pl-neon-recording/ + .. toctree:: :maxdepth: 1 :hidden: diff --git a/docs/_sources/tutorials/export_to_bids.ipynb.txt b/docs/_sources/tutorials/export_to_bids.ipynb.txt new file mode 100644 index 0000000..5f33234 --- /dev/null +++ b/docs/_sources/tutorials/export_to_bids.ipynb.txt @@ -0,0 +1,18 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Export Neon data recording to BIDS formats\n" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/_sources/tutorials/index.rst.txt b/docs/_sources/tutorials/index.rst.txt index c10fb5d..e74a60e 100644 --- a/docs/_sources/tutorials/index.rst.txt +++ b/docs/_sources/tutorials/index.rst.txt @@ -3,3 +3,13 @@ PyNeon Tutorials ================ +Here you can find tutorials in the form of Jupyter notebooks to help you get +started with PyNeon. + +.. toctree:: + :maxdepth: 1 + + load_recording + load_dataset + resample_and_concat + export_to_bids \ No newline at end of file diff --git a/docs/_sources/tutorials/load_dataset.ipynb.txt b/docs/_sources/tutorials/load_dataset.ipynb.txt new file mode 100644 index 0000000..6f2a872 --- /dev/null +++ b/docs/_sources/tutorials/load_dataset.ipynb.txt @@ -0,0 +1,30 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Load a Neon dataset (Pupil Cloud project)\n", + "In this tutorial, we will show how to load a Neon dataset downloaded from [Pupil Cloud](https://docs.pupil-labs.com/neon/pupil-cloud/)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/_sources/tutorials/load_recording.ipynb.txt b/docs/_sources/tutorials/load_recording.ipynb.txt new file mode 100644 index 0000000..90e463a --- /dev/null +++ b/docs/_sources/tutorials/load_recording.ipynb.txt @@ -0,0 +1,26 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Load a Neon recording\n", + "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/)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/_sources/tutorials/resample_and_concat.ipynb.txt b/docs/_sources/tutorials/resample_and_concat.ipynb.txt new file mode 100644 index 0000000..375b925 --- /dev/null +++ b/docs/_sources/tutorials/resample_and_concat.ipynb.txt @@ -0,0 +1,18 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Resample data and concatenate channels\n" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/_static/nbsphinx-broken-thumbnail.svg b/docs/_static/nbsphinx-broken-thumbnail.svg new file mode 100644 index 0000000..4919ca8 --- /dev/null +++ b/docs/_static/nbsphinx-broken-thumbnail.svg @@ -0,0 +1,9 @@ + + + + diff --git a/docs/_static/nbsphinx-code-cells.css b/docs/_static/nbsphinx-code-cells.css new file mode 100644 index 0000000..a3fb27c --- /dev/null +++ b/docs/_static/nbsphinx-code-cells.css @@ -0,0 +1,259 @@ +/* remove conflicting styling from Sphinx themes */ +div.nbinput.container div.prompt *, +div.nboutput.container div.prompt *, +div.nbinput.container div.input_area pre, +div.nboutput.container div.output_area pre, +div.nbinput.container div.input_area .highlight, +div.nboutput.container div.output_area .highlight { + border: none; + padding: 0; + margin: 0; + box-shadow: none; +} + +div.nbinput.container > div[class*=highlight], +div.nboutput.container > div[class*=highlight] { + margin: 0; +} + +div.nbinput.container div.prompt *, +div.nboutput.container div.prompt * { + background: none; +} + +div.nboutput.container div.output_area .highlight, +div.nboutput.container div.output_area pre { + background: unset; +} + +div.nboutput.container div.output_area div.highlight { + color: unset; /* override Pygments text color */ +} + +/* avoid gaps between output lines */ +div.nboutput.container div[class*=highlight] pre { + line-height: normal; +} + +/* input/output containers */ +div.nbinput.container, +div.nboutput.container { + display: -webkit-flex; + display: flex; + align-items: flex-start; + margin: 0; + width: 100%; +} +@media (max-width: 540px) { + div.nbinput.container, + div.nboutput.container { + flex-direction: column; + } +} + +/* input container */ +div.nbinput.container { + padding-top: 5px; +} + +/* last container */ +div.nblast.container { + padding-bottom: 5px; +} + +/* input prompt */ +div.nbinput.container div.prompt pre, +/* for sphinx_immaterial theme: */ +div.nbinput.container div.prompt pre > code { + color: #307FC1; +} + +/* output prompt */ +div.nboutput.container div.prompt pre, +/* for sphinx_immaterial theme: */ +div.nboutput.container div.prompt pre > code { + color: #BF5B3D; +} + +/* all prompts */ +div.nbinput.container div.prompt, +div.nboutput.container div.prompt { + width: 4.5ex; + padding-top: 5px; + position: relative; + user-select: none; +} + +div.nbinput.container div.prompt > div, +div.nboutput.container div.prompt > div { + position: absolute; + right: 0; + margin-right: 0.3ex; +} + +@media (max-width: 540px) { + div.nbinput.container div.prompt, + div.nboutput.container div.prompt { + width: unset; + text-align: left; + padding: 0.4em; + } + div.nboutput.container div.prompt.empty { + padding: 0; + } + + div.nbinput.container div.prompt > div, + div.nboutput.container div.prompt > div { + position: unset; + } +} + +/* disable scrollbars and line breaks on prompts */ +div.nbinput.container div.prompt pre, +div.nboutput.container div.prompt pre { + overflow: hidden; + white-space: pre; +} + +/* input/output area */ +div.nbinput.container div.input_area, +div.nboutput.container div.output_area { + -webkit-flex: 1; + flex: 1; + overflow: auto; +} +@media (max-width: 540px) { + div.nbinput.container div.input_area, + div.nboutput.container div.output_area { + width: 100%; + } +} + +/* input area */ +div.nbinput.container div.input_area { + border: 1px solid #e0e0e0; + border-radius: 2px; + /*background: #f5f5f5;*/ +} + +/* override MathJax center alignment in output cells */ +div.nboutput.container div[class*=MathJax] { + text-align: left !important; +} + +/* override sphinx.ext.imgmath center alignment in output cells */ +div.nboutput.container div.math p { + text-align: left; +} + +/* standard error */ +div.nboutput.container div.output_area.stderr { + background: #fdd; +} + +/* ANSI colors */ +.ansi-black-fg { color: #3E424D; } +.ansi-black-bg { background-color: #3E424D; } +.ansi-black-intense-fg { color: #282C36; } +.ansi-black-intense-bg { background-color: #282C36; } +.ansi-red-fg { color: #E75C58; } +.ansi-red-bg { background-color: #E75C58; } +.ansi-red-intense-fg { color: #B22B31; } +.ansi-red-intense-bg { background-color: #B22B31; } +.ansi-green-fg { color: #00A250; } +.ansi-green-bg { background-color: #00A250; } +.ansi-green-intense-fg { color: #007427; } +.ansi-green-intense-bg { background-color: #007427; } +.ansi-yellow-fg { color: #DDB62B; } +.ansi-yellow-bg { background-color: #DDB62B; } +.ansi-yellow-intense-fg { color: #B27D12; } +.ansi-yellow-intense-bg { background-color: #B27D12; } +.ansi-blue-fg { color: #208FFB; } +.ansi-blue-bg { background-color: #208FFB; } +.ansi-blue-intense-fg { color: #0065CA; } +.ansi-blue-intense-bg { background-color: #0065CA; } +.ansi-magenta-fg { color: #D160C4; } +.ansi-magenta-bg { background-color: #D160C4; } +.ansi-magenta-intense-fg { color: #A03196; } +.ansi-magenta-intense-bg { background-color: #A03196; } +.ansi-cyan-fg { color: #60C6C8; } +.ansi-cyan-bg { background-color: #60C6C8; } +.ansi-cyan-intense-fg { color: #258F8F; } +.ansi-cyan-intense-bg { background-color: #258F8F; } +.ansi-white-fg { color: #C5C1B4; } +.ansi-white-bg { background-color: #C5C1B4; } +.ansi-white-intense-fg { color: #A1A6B2; } +.ansi-white-intense-bg { background-color: #A1A6B2; } + +.ansi-default-inverse-fg { color: #FFFFFF; } +.ansi-default-inverse-bg { background-color: #000000; } + +.ansi-bold { font-weight: bold; } +.ansi-underline { text-decoration: underline; } + + +div.nbinput.container div.input_area div[class*=highlight] > pre, +div.nboutput.container div.output_area div[class*=highlight] > pre, +div.nboutput.container div.output_area div[class*=highlight].math, +div.nboutput.container div.output_area.rendered_html, +div.nboutput.container div.output_area > div.output_javascript, +div.nboutput.container div.output_area:not(.rendered_html) > img{ + padding: 5px; + margin: 0; +} + +/* fix copybtn overflow problem in chromium (needed for 'sphinx_copybutton') */ +div.nbinput.container div.input_area > div[class^='highlight'], +div.nboutput.container div.output_area > div[class^='highlight']{ + overflow-y: hidden; +} + +/* hide copy button on prompts for 'sphinx_copybutton' extension ... */ +.prompt .copybtn, +/* ... and 'sphinx_immaterial' theme */ +.prompt .md-clipboard.md-icon { + display: none; +} + +/* Some additional styling taken form the Jupyter notebook CSS */ +.jp-RenderedHTMLCommon table, +div.rendered_html table { + border: none; + border-collapse: collapse; + border-spacing: 0; + color: black; + font-size: 12px; + table-layout: fixed; +} +.jp-RenderedHTMLCommon thead, +div.rendered_html thead { + border-bottom: 1px solid black; + vertical-align: bottom; +} +.jp-RenderedHTMLCommon tr, +.jp-RenderedHTMLCommon th, +.jp-RenderedHTMLCommon td, +div.rendered_html tr, +div.rendered_html th, +div.rendered_html td { + text-align: right; + vertical-align: middle; + padding: 0.5em 0.5em; + line-height: normal; + white-space: normal; + max-width: none; + border: none; +} +.jp-RenderedHTMLCommon th, +div.rendered_html th { + font-weight: bold; +} +.jp-RenderedHTMLCommon tbody tr:nth-child(odd), +div.rendered_html tbody tr:nth-child(odd) { + background: #f5f5f5; +} +.jp-RenderedHTMLCommon tbody tr:hover, +div.rendered_html tbody tr:hover { + background: rgba(66, 165, 245, 0.2); +} + diff --git a/docs/_static/nbsphinx-gallery.css b/docs/_static/nbsphinx-gallery.css new file mode 100644 index 0000000..365c27a --- /dev/null +++ b/docs/_static/nbsphinx-gallery.css @@ -0,0 +1,31 @@ +.nbsphinx-gallery { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); + gap: 5px; + margin-top: 1em; + margin-bottom: 1em; +} + +.nbsphinx-gallery > a { + padding: 5px; + border: 1px dotted currentColor; + border-radius: 2px; + text-align: center; +} + +.nbsphinx-gallery > a:hover { + border-style: solid; +} + +.nbsphinx-gallery img { + max-width: 100%; + max-height: 100%; +} + +.nbsphinx-gallery > a > div:first-child { + display: flex; + align-items: start; + justify-content: center; + height: 120px; + margin-bottom: 5px; +} diff --git a/docs/_static/nbsphinx-no-thumbnail.svg b/docs/_static/nbsphinx-no-thumbnail.svg new file mode 100644 index 0000000..9dca758 --- /dev/null +++ b/docs/_static/nbsphinx-no-thumbnail.svg @@ -0,0 +1,9 @@ + + + + diff --git a/docs/genindex.html b/docs/genindex.html index d706cfc..9121188 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -37,6 +37,7 @@ + diff --git a/docs/index.html b/docs/index.html index be0e260..c11a36f 100644 --- a/docs/index.html +++ b/docs/index.html @@ -8,7 +8,7 @@ - PyNeon documentation — PyNeon 0.1.0 documentation + Welcome to PyNeon documentation — PyNeon 0.1.0 documentation @@ -38,6 +38,9 @@ + + + @@ -320,11 +323,14 @@
-
-

PyNeon documentation#

+
+

Welcome to PyNeon documentation#

PyNeon is a light-weight library to work with Neon (Pupil Labs) multi-modal -eye-tracking data. It is originally developed by Qian Chu and Jan-Gabriel -Hartel from the Max Planck Institute for Empirical Aesthetics.

+eye-tracking data. It is a community-driven effort to provide a versatile set +of tools to work with the rich data (gaze, eye states, IMU, events, etc.) +provided by Neon.

+

PyNeon is licensed under the MIT License.

+

Here we provide tutorials and API reference to help you get started with PyNeon.

Installation#

@@ -340,6 +346,10 @@

Data format +

Credits#

+

PyNeon was inspired by pupil-labs/pl-neon-recording

diff --git a/docs/objects.inv b/docs/objects.inv index f0a75f311083ee1c134f07ebe1aa3b3be2eaebeb..840f1bb2c8fe6dc0b3d2d15bf932456a14bdba32 100644 GIT binary patch delta 876 zcmV-y1C#vJ1JehPbbqZ^J#X7E5Z(PN2q;53&~DajZIZ!28W>4|jshcHY!wnIkTe?g z*OwG6i;_s{t3wipclYj*Jl;E(6$M67S=|>bJ?DVFqKu~Sxjo4ukIWjrL3mTvj@uXY z>ybzzKZ;437Irx`uELwREk2Y+u9MiV0A;mF4JwF*Bob<%lCu)HtQJ8X$zNCvk`?C#7|pRe?+1G?$Z@Mz$dZF1k$@1L@@SD- z2Vb?cd_C8X1G{q;4&LlceR3g@km-F+-XYgGZP}t^;R$PESSm9qJRi z+`zZP-iZ)p>D@R=?d3+Y9(90F@9CpK%kV=sZDQDErhnz~#|KHY%_Xp{ZU;iH4&=qO zOYLfymdG8tB>Q%G_CbqYn|+|u%h@<2f81#%TWbzjL9{bX1no2F)w9J4Vwc&(W0^@t z&nPRnm=VWq*zDw4GM5EGilrt62d>J;%F7U3dKW*zFKvH`J6-R{-J3se7Pi%>=y} z`+*!`Ge;0^h6>=*Nt^tC6Z;-1caD%Ux;woaXN^qxx@REMq{bd>J8tl`E%YCERgLKe C3%5f6 delta 361 zcmV-v0ha#L2h;(xyBBZ5j!*%uj%p31NRVml2F`x z`bZsofdehzUS=@!SHw3E#>qxkIMt2tb#ft$7Cf9q&9w&QhkxNA)JEQ<1`*Ca@Bo95 zb;g1V@g}K?|G>XRnzp+^V>~y)e`7RB3n0=qvJuGKmwbx+ zks102t&Az7dScD)cVyf)OY(G-+242=r+z9=WMk-jQQU31b(^d{go|wNwwz#=6qLUT z3f%;ZAR)k|mKmW~Mu-RQM7=y{u4U4D#!FrS30*L*;mR-DFJ<)pA0tXuee; + diff --git a/docs/reference/dataset.html b/docs/reference/dataset.html index a51d88b..784dbdf 100644 --- a/docs/reference/dataset.html +++ b/docs/reference/dataset.html @@ -38,6 +38,7 @@ + diff --git a/docs/reference/index.html b/docs/reference/index.html index c5f11ed..d7d871e 100644 --- a/docs/reference/index.html +++ b/docs/reference/index.html @@ -38,11 +38,12 @@ + - + @@ -381,12 +382,12 @@

previous

-

PyNeon Tutorials

+

Export Neon data recording to BIDS formats

+ diff --git a/docs/reference/recording.html b/docs/reference/recording.html index abc8098..c36744f 100644 --- a/docs/reference/recording.html +++ b/docs/reference/recording.html @@ -38,6 +38,7 @@ + @@ -405,7 +406,7 @@

pyneon.NeonRecording
Parameters:

@@ -360,6 +369,16 @@

PyNeon Tutorials#

+

Here you can find tutorials in the form of Jupyter notebooks to help you get +started with PyNeon.

+
@@ -378,15 +397,15 @@

previous

-

PyNeon documentation

+

Welcome to PyNeon documentation

next

-

PyNeon API

+

Load a Neon recording

diff --git a/docs/tutorials/load_dataset.html b/docs/tutorials/load_dataset.html new file mode 100644 index 0000000..3c4a434 --- /dev/null +++ b/docs/tutorials/load_dataset.html @@ -0,0 +1,490 @@ + + + + + + + + + + + Load a Neon dataset (Pupil Cloud project) — PyNeon 0.1.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+
+
+ +
+ +
+ + + + + +
+
+ + + +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

Load a Neon dataset (Pupil Cloud project)#

+

In this tutorial, we will show how to load a Neon dataset downloaded from Pupil Cloud.

+
+
[ ]:
+
+
+

+
+
+
+
+ + +
+ + + + + + + +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/docs/tutorials/load_dataset.ipynb b/docs/tutorials/load_dataset.ipynb new file mode 100644 index 0000000..35a9f40 --- /dev/null +++ b/docs/tutorials/load_dataset.ipynb @@ -0,0 +1,30 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Load a Neon dataset\n", + "In this tutorial, we will show how to load a Neon dataset downloaded from [Pupil Cloud](https://docs.pupil-labs.com/neon/pupil-cloud/)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/tutorials/load_recording.html b/docs/tutorials/load_recording.html new file mode 100644 index 0000000..781f4ce --- /dev/null +++ b/docs/tutorials/load_recording.html @@ -0,0 +1,490 @@ + + + + + + + + + + + Load a Neon recording — PyNeon 0.1.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+
+
+ +
+ +
+ + + + + +
+
+ + + +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

Load a Neon recording#

+

In this tutorial, we will show how to load a single Neon recording downloaded from Pupil Cloud.

+
+
[ ]:
+
+
+

+
+
+
+
+ + +
+ + + + + + + +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/docs/tutorials/load_recording.ipynb b/docs/tutorials/load_recording.ipynb new file mode 100644 index 0000000..90e463a --- /dev/null +++ b/docs/tutorials/load_recording.ipynb @@ -0,0 +1,26 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Load a Neon recording\n", + "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/)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/tutorials/resample_and_concat.html b/docs/tutorials/resample_and_concat.html new file mode 100644 index 0000000..5b20f48 --- /dev/null +++ b/docs/tutorials/resample_and_concat.html @@ -0,0 +1,480 @@ + + + + + + + + + + + Resample data and concatenate channels — PyNeon 0.1.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+
+
+ +
+ +
+ + + + + +
+
+ + + +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

Resample data and concatenate channels#

+
+ + +
+ + + + + + + +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/tutorials/resample_and_concat.ipynb b/docs/tutorials/resample_and_concat.ipynb new file mode 100644 index 0000000..375b925 --- /dev/null +++ b/docs/tutorials/resample_and_concat.ipynb @@ -0,0 +1,18 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Resample data and concatenate channels\n" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/source/conf.py b/source/conf.py index 50d353c..94c21a5 100644 --- a/source/conf.py +++ b/source/conf.py @@ -24,7 +24,7 @@ exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"] intersphinx_mapping = { - 'pandas': ('https://pandas.pydata.org/pandas-docs/stable/', None), + "pandas": ("https://pandas.pydata.org/pandas-docs/stable/", None), } # -- Options for HTML output ------------------------------------------------- diff --git a/source/index.rst b/source/index.rst index cc49de9..e4cdf65 100644 --- a/source/index.rst +++ b/source/index.rst @@ -2,12 +2,17 @@ .. module:: pyneon -PyNeon documentation -==================== +Welcome to PyNeon documentation +=============================== PyNeon is a light-weight library to work with Neon (Pupil Labs) multi-modal -eye-tracking data. It is originally developed by Qian Chu and Jan-Gabriel -Hartel from the Max Planck Institute for Empirical Aesthetics. +eye-tracking data. It is a community-driven effort to provide a versatile set +of tools to work with the rich data (gaze, eye states, IMU, events, etc.) +provided by Neon. + +PyNeon is licensed under the MIT License. + +Here we provide tutorials and API reference to help you get started with PyNeon. Installation ============ @@ -28,6 +33,11 @@ PyNeon works with the "Timeseries Data" or "Timeseries Data + Scene Video" forma as exported from Pupil Clouds. The data could be from a single recording or from a project with multiple recordings. +Credits +======= + +PyNeon was inspired by https://github.com/pupil-labs/pl-neon-recording/ + .. toctree:: :maxdepth: 1 :hidden: diff --git a/source/tutorials/export_to_bids.ipynb b/source/tutorials/export_to_bids.ipynb new file mode 100644 index 0000000..5f33234 --- /dev/null +++ b/source/tutorials/export_to_bids.ipynb @@ -0,0 +1,18 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Export Neon data recording to BIDS formats\n" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/source/tutorials/index.rst b/source/tutorials/index.rst index f549875..e74a60e 100644 --- a/source/tutorials/index.rst +++ b/source/tutorials/index.rst @@ -3,8 +3,13 @@ PyNeon Tutorials ================ +Here you can find tutorials in the form of Jupyter notebooks to help you get +started with PyNeon. + .. toctree:: :maxdepth: 1 load_recording - load_dataset \ No newline at end of file + load_dataset + resample_and_concat + export_to_bids \ No newline at end of file diff --git a/source/tutorials/load_dataset.ipynb b/source/tutorials/load_dataset.ipynb index 35a9f40..6f2a872 100644 --- a/source/tutorials/load_dataset.ipynb +++ b/source/tutorials/load_dataset.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Load a Neon dataset\n", + "# Load a Neon dataset (Pupil Cloud project)\n", "In this tutorial, we will show how to load a Neon dataset downloaded from [Pupil Cloud](https://docs.pupil-labs.com/neon/pupil-cloud/)." ] }, diff --git a/source/tutorials/resample_and_concat.ipynb b/source/tutorials/resample_and_concat.ipynb new file mode 100644 index 0000000..375b925 --- /dev/null +++ b/source/tutorials/resample_and_concat.ipynb @@ -0,0 +1,18 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Resample data and concatenate channels\n" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}