{
"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"
}
]
}