{ "info": { "author": "Jan Freyberg", "author_email": "jan.freyberg@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "# ssvepy\n\nA package to analyse MNE-formatted EEG data for steady-state visually evoked potentials (SSVEPs).\n\n### Install:\n\n`pip install git+https://github.com/janfreyberg/ssvepy.git`\n\nAs always with pip packages, you can install a \"development\" version of this package by (forking and) cloning the git repository and installing it via `pip install -e /path/to/package`. Please do open a pull request if you make improvements.\n\n### Documentation:\n\nThe docs for this package are at http://www.janfreyberg.com/ssvepy. There, you'll find the API and an example notebook.\n\n### Usage:\n\nYou should load, preprocess and epoch your data using [MNE](https://github.com/mne-tools/mne-python).\n\nTake a look at a notebook that sets up an SSVEP analysis structure with the example data in this package:\nhttps://github.com/janfreyberg/ssvepy/blob/master/example.ipynb\n\nOnce you have a data structure of the class `Epoch`, you can use `ssvepy.Ssvep(epoch_data, stimulation_frequency)`, where `stimulation_frequency` is the frequency (or list of frequencies) at which you stimulated your participants.\n\nOther input parameters and their defaults are:\n- The following parameters, which are equivalent to the parameters in `mne.time_frequency.psd_multitaper`:\n - `fmin=0.1`, the low end of the frequency range\n - `fmax=50`, the high end of the frequency range\n - `tmin=None`, the start time of the segment you want to analyse\n - `tmax=None`, the end time of the segment you want to analyse\n- `noisebandwidth=1.0`, what bandwidth around a frequency should be used to calculate its signal-to-noise-ratio\n- Whether you want to compute the following nonlinearity frequencies:\n - `compute_harmonics=True`\n - `compute_subharmonics=False`\n - `compute_intermodulation=True` (NB: only when there's more than one input frequency)\n- You can also provide your own Power-spectrum data, if you have worked it out using another method.\n - `psd=None` The powerspectrum. Needs to be a numpy array with dimensions: (epochs, channels, frequency)\n - `freqs=None` The frequencys at which the powerspectrum was evaluated. Needs to be a one-dimensional numpy array.\n\nThe resulting data has the following attributes:\n\n- `stimulation`: a data structure with the following attributes:\n - `stimulation.frequencies`, `stimulation.power`, `stimulation.snr`\n- `harmonics`, `subharmonics`, `intermodulations`: non-linear combination of your input stimulus frequencies, all with the attributes:\n - `_.frequencies`, `_.power`, `_.snr`, `_.order`\n- `psd`: the Power-spectrum\n- `freqs`: the frequencies at which the psd was evaluated\n\nAnd the following methods:\n\n- `plot_psd()`: Plot the power spectrum\n- `plot_snr()`: Plot the SNR spectrum\n- `save(filename)`: Saves an `hdf5` file that can be loaded with `ssvepy.load_ssvep(filename)` 1\n\nMore to come.\n\n---\n\n1: This package currently uses hierarchical data files (hdf5) because it seems to lend itself to the different data stored in ssvep classes, but I know it's less than ideal to have different data structures from MNE. I'm still thinking about improvements.\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/janfreyberg/ssvepy/0.2", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://www.janfreyberg.com/ssvepy/", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "ssvepy", "package_url": "https://pypi.org/project/ssvepy/", "platform": "", "project_url": "https://pypi.org/project/ssvepy/", "project_urls": { "Download": "https://github.com/janfreyberg/ssvepy/0.2", "Homepage": "https://www.janfreyberg.com/ssvepy/" }, "release_url": "https://pypi.org/project/ssvepy/0.2/", "requires_dist": null, "requires_python": "", "summary": "A package that provides classes for SSVEP analysis", "version": "0.2" }, "last_serial": 2924554, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "f49e7555c3cb1f51e8dabc6ea3b460d9", "sha256": "071148c48a381cfa0ad99206ca90e538281ed4abd3c8c3f913f0bc954d691391" }, "downloads": -1, "filename": "ssvepy-0.2.tar.gz", "has_sig": false, "md5_digest": "f49e7555c3cb1f51e8dabc6ea3b460d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15332212, "upload_time": "2017-06-04T15:22:53", "url": "https://files.pythonhosted.org/packages/cc/62/f2e124c6c8cd763bdfc8cf038a679f9a5bcfef8fa59d5d437a44b13aaacd/ssvepy-0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f49e7555c3cb1f51e8dabc6ea3b460d9", "sha256": "071148c48a381cfa0ad99206ca90e538281ed4abd3c8c3f913f0bc954d691391" }, "downloads": -1, "filename": "ssvepy-0.2.tar.gz", "has_sig": false, "md5_digest": "f49e7555c3cb1f51e8dabc6ea3b460d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15332212, "upload_time": "2017-06-04T15:22:53", "url": "https://files.pythonhosted.org/packages/cc/62/f2e124c6c8cd763bdfc8cf038a679f9a5bcfef8fa59d5d437a44b13aaacd/ssvepy-0.2.tar.gz" } ] }