Last active
May 13, 2023 20:45
-
-
Save danibene/240bc929d5593a3ccc8541889939abbf to your computer and use it in GitHub Desktop.
nk_issue_824_a.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": "ABX9TyPvqBnks5JmJuvNDsKyAjBI", | |
"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/240bc929d5593a3ccc8541889939abbf/nk_issue_824_a.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==0.6.1\n", | |
"!pip install neurokit2==0.2.4" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "ALWWASrMiC9n", | |
"outputId": "0e4a4aff-7cd7-419c-83aa-aaed06084906" | |
}, | |
"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==0.6.1 in /usr/local/lib/python3.10/dist-packages (0.6.1)\n", | |
"Requirement already satisfied: bidict in /usr/local/lib/python3.10/dist-packages (from biosppy==0.6.1) (0.22.1)\n", | |
"Requirement already satisfied: h5py in /usr/local/lib/python3.10/dist-packages (from biosppy==0.6.1) (3.8.0)\n", | |
"Requirement already satisfied: matplotlib in /usr/local/lib/python3.10/dist-packages (from biosppy==0.6.1) (3.7.1)\n", | |
"Requirement already satisfied: numpy in /usr/local/lib/python3.10/dist-packages (from biosppy==0.6.1) (1.24.0)\n", | |
"Requirement already satisfied: scikit-learn in /usr/local/lib/python3.10/dist-packages (from biosppy==0.6.1) (1.2.2)\n", | |
"Requirement already satisfied: scipy in /usr/local/lib/python3.10/dist-packages (from biosppy==0.6.1) (1.10.1)\n", | |
"Requirement already satisfied: shortuuid in /usr/local/lib/python3.10/dist-packages (from biosppy==0.6.1) (1.0.11)\n", | |
"Requirement already satisfied: six in /usr/local/lib/python3.10/dist-packages (from biosppy==0.6.1) (1.16.0)\n", | |
"Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->biosppy==0.6.1) (1.0.7)\n", | |
"Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib->biosppy==0.6.1) (0.11.0)\n", | |
"Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->biosppy==0.6.1) (4.39.3)\n", | |
"Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->biosppy==0.6.1) (1.4.4)\n", | |
"Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->biosppy==0.6.1) (23.1)\n", | |
"Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->biosppy==0.6.1) (8.4.0)\n", | |
"Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->biosppy==0.6.1) (3.0.9)\n", | |
"Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib->biosppy==0.6.1) (2.8.2)\n", | |
"Requirement already satisfied: joblib>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from scikit-learn->biosppy==0.6.1) (1.2.0)\n", | |
"Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn->biosppy==0.6.1) (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": 347 | |
}, | |
"id": "yqpAXjFliCbU", | |
"outputId": "988f4e65-0f73-485a-b2e4-6cc5aba900ec" | |
}, | |
"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: 17>\u001b[0;34m()\u001b[0m\n\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;32m---> 17\u001b[0;31m \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[0mkbk_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[0m", | |
"\u001b[0;32m/usr/local/lib/python3.10/dist-packages/biosppy/signals/eda.py\u001b[0m in \u001b[0;36mkbk_scr\u001b[0;34m(signal, sampling_rate, min_amplitude)\u001b[0m\n\u001b[1;32m 237\u001b[0m \u001b[0mpks\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mzeros\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0margmax\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mzeros\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mzeros\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 238\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 239\u001b[0;31m \u001b[0mscrs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mscrs\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 240\u001b[0m \u001b[0mamps\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mamps\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 241\u001b[0m \u001b[0mZC\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mZC\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: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (119,) + inhomogeneous part." | |
] | |
} | |
], | |
"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)" | |
] | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment