Last active
May 13, 2023 20:45
-
-
Save danibene/3d86a59bb2ce36aaaac99faaa07f8c74 to your computer and use it in GitHub Desktop.
nk_issue_824_b.ipynb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"nbformat": 4, | |
"nbformat_minor": 0, | |
"metadata": { | |
"colab": { | |
"provenance": [], | |
"authorship_tag": "ABX9TyPBXU+C9DKFViB3VF4ZOggJ", | |
"include_colab_link": true | |
}, | |
"kernelspec": { | |
"name": "python3", | |
"display_name": "Python 3" | |
}, | |
"language_info": { | |
"name": "python" | |
} | |
}, | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "view-in-github", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"<a href=\"https://colab.research.google.com/gist/danibene/3d86a59bb2ce36aaaac99faaa07f8c74/nk_issue_824_b.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"!pip install numpy==1.24\n", | |
"!pip install biosppy==1.0.0\n", | |
"!pip install neurokit2==0.2.4" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "ALWWASrMiC9n", | |
"outputId": "343eaa79-f2d0-4832-8d65-9ee19c54b85a" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", | |
"Requirement already satisfied: numpy==1.24 in /usr/local/lib/python3.10/dist-packages (1.24.0)\n", | |
"Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", | |
"Requirement already satisfied: biosppy==1.0.0 in /usr/local/lib/python3.10/dist-packages (1.0.0)\n", | |
"Requirement already satisfied: bidict in /usr/local/lib/python3.10/dist-packages (from biosppy==1.0.0) (0.22.1)\n", | |
"Requirement already satisfied: h5py in /usr/local/lib/python3.10/dist-packages (from biosppy==1.0.0) (3.8.0)\n", | |
"Requirement already satisfied: matplotlib in /usr/local/lib/python3.10/dist-packages (from biosppy==1.0.0) (3.7.1)\n", | |
"Requirement already satisfied: numpy in /usr/local/lib/python3.10/dist-packages (from biosppy==1.0.0) (1.24.0)\n", | |
"Requirement already satisfied: scikit-learn in /usr/local/lib/python3.10/dist-packages (from biosppy==1.0.0) (1.2.2)\n", | |
"Requirement already satisfied: scipy in /usr/local/lib/python3.10/dist-packages (from biosppy==1.0.0) (1.10.1)\n", | |
"Requirement already satisfied: shortuuid in /usr/local/lib/python3.10/dist-packages (from biosppy==1.0.0) (1.0.11)\n", | |
"Requirement already satisfied: six in /usr/local/lib/python3.10/dist-packages (from biosppy==1.0.0) (1.16.0)\n", | |
"Requirement already satisfied: joblib in /usr/local/lib/python3.10/dist-packages (from biosppy==1.0.0) (1.2.0)\n", | |
"Requirement already satisfied: opencv-python in /usr/local/lib/python3.10/dist-packages (from biosppy==1.0.0) (4.7.0.72)\n", | |
"Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->biosppy==1.0.0) (1.0.7)\n", | |
"Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib->biosppy==1.0.0) (0.11.0)\n", | |
"Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->biosppy==1.0.0) (4.39.3)\n", | |
"Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->biosppy==1.0.0) (1.4.4)\n", | |
"Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->biosppy==1.0.0) (23.1)\n", | |
"Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->biosppy==1.0.0) (8.4.0)\n", | |
"Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->biosppy==1.0.0) (3.0.9)\n", | |
"Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib->biosppy==1.0.0) (2.8.2)\n", | |
"Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn->biosppy==1.0.0) (3.1.0)\n", | |
"Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", | |
"Requirement already satisfied: neurokit2==0.2.4 in /usr/local/lib/python3.10/dist-packages (0.2.4)\n", | |
"Requirement already satisfied: numpy in /usr/local/lib/python3.10/dist-packages (from neurokit2==0.2.4) (1.24.0)\n", | |
"Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from neurokit2==0.2.4) (1.5.3)\n", | |
"Requirement already satisfied: scipy in /usr/local/lib/python3.10/dist-packages (from neurokit2==0.2.4) (1.10.1)\n", | |
"Requirement already satisfied: scikit-learn>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from neurokit2==0.2.4) (1.2.2)\n", | |
"Requirement already satisfied: matplotlib in /usr/local/lib/python3.10/dist-packages (from neurokit2==0.2.4) (3.7.1)\n", | |
"Requirement already satisfied: joblib>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from scikit-learn>=1.0.0->neurokit2==0.2.4) (1.2.0)\n", | |
"Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn>=1.0.0->neurokit2==0.2.4) (3.1.0)\n", | |
"Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->neurokit2==0.2.4) (1.0.7)\n", | |
"Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib->neurokit2==0.2.4) (0.11.0)\n", | |
"Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->neurokit2==0.2.4) (4.39.3)\n", | |
"Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->neurokit2==0.2.4) (1.4.4)\n", | |
"Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->neurokit2==0.2.4) (23.1)\n", | |
"Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->neurokit2==0.2.4) (8.4.0)\n", | |
"Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->neurokit2==0.2.4) (3.0.9)\n", | |
"Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib->neurokit2==0.2.4) (2.8.2)\n", | |
"Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas->neurokit2==0.2.4) (2022.7.1)\n", | |
"Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.7->matplotlib->neurokit2==0.2.4) (1.16.0)\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"import neurokit2 as nk\n", | |
"import biosppy\n", | |
"import numpy as np" | |
], | |
"metadata": { | |
"id": "cRYIjMO1iLm1" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 240 | |
}, | |
"id": "yqpAXjFliCbU", | |
"outputId": "40294fe1-45be-424b-e510-cc3e62783e60" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "error", | |
"ename": "ValueError", | |
"evalue": "ignored", | |
"traceback": [ | |
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", | |
"\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", | |
"\u001b[0;32m<ipython-input-3-e533f4a48e5c>\u001b[0m in \u001b[0;36m<cell line: 14>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 12\u001b[0m \u001b[0msignals\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minfo\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnk\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0meda_peaks\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0meda_phasic\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"gamboa2008\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 13\u001b[0m \u001b[0monsets\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpeaks\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mamplitudes\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mbiosppy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0meda\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbasic_scr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0meda_phasic\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msampling_rate\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m1000\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 14\u001b[0;31m \u001b[0;32massert\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mallclose\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minfo\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"SCR_Peaks\"\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0mpeaks\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmean\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0matol\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m1e-5\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 15\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 16\u001b[0m \u001b[0msignals\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minfo\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnk\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0meda_peaks\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0meda_phasic\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"kim2004\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", | |
"\u001b[0;31mValueError\u001b[0m: operands could not be broadcast together with shapes (120,) (119,) " | |
] | |
} | |
], | |
"source": [ | |
"sampling_rate = 1000\n", | |
"eda = nk.eda_simulate(\n", | |
" duration=30 * 20,\n", | |
" sampling_rate=sampling_rate,\n", | |
" scr_number=6 * 20,\n", | |
" noise=0,\n", | |
" drift=0.01,\n", | |
" random_state=42,\n", | |
")\n", | |
"eda_phasic = nk.eda_phasic(nk.standardize(eda), method=\"highpass\")[\"EDA_Phasic\"].values\n", | |
"\n", | |
"signals, info = nk.eda_peaks(eda_phasic, method=\"gamboa2008\")\n", | |
"onsets, peaks, amplitudes = biosppy.eda.basic_scr(eda_phasic, sampling_rate=1000)\n", | |
"assert np.allclose((info[\"SCR_Peaks\"] - peaks).mean(), 0, atol=1e-5)\n", | |
"\n", | |
"signals, info = nk.eda_peaks(eda_phasic, method=\"kim2004\")\n", | |
"onsets, peaks, amplitudes = biosppy.eda.kbk_scr(eda_phasic, sampling_rate=1000)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [], | |
"metadata": { | |
"id": "-h0PmfDmlzzg" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment