autoreject

Automated rejection and repair of bad trials/sensors in M/EEG

https://github.com/autoreject/autoreject

Science Score: 46.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: sciencedirect.com
  • Committers with academic emails
    3 of 34 committers (8.8%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.4%) to scientific vocabulary

Keywords

cross-validation electroencephalography magnetoencephalography meg mne-python preprocessing

Keywords from Contributors

neuroimaging eeg neuroscience ecog electrocorticography bids mne ieeg standards data-standards
Last synced: 6 months ago · JSON representation

Repository

Automated rejection and repair of bad trials/sensors in M/EEG

Basic Info
  • Host: GitHub
  • Owner: autoreject
  • License: bsd-3-clause
  • Language: Python
  • Default Branch: main
  • Homepage: https://autoreject.github.io
  • Size: 700 KB
Statistics
  • Stars: 145
  • Watchers: 11
  • Forks: 59
  • Open Issues: 36
  • Releases: 10
Topics
cross-validation electroencephalography magnetoencephalography meg mne-python preprocessing
Created almost 10 years ago · Last pushed 6 months ago
Metadata Files
Readme License

README.rst

autoreject
==========

|CircleCI|_ |GitHub Actions|_ |Codecov|_ |PyPI|_ |Conda-Forge|_

.. |CircleCI| image:: https://circleci.com/gh/autoreject/autoreject/tree/main.svg?style=shield&circle-token=:circle-token
.. _CircleCI: https://circleci.com/gh/autoreject/autoreject

.. |GitHub Actions| image:: https://github.com/autoreject/autoreject/actions/workflows/test.yml/badge.svg
.. _GitHub Actions: https://github.com/autoreject/autoreject/actions/workflows/test.yml

.. |Codecov| image:: http://codecov.io/github/autoreject/autoreject/coverage.svg?branch=main
.. _Codecov: http://codecov.io/github/autoreject/autoreject?branch=main

.. |PyPI| image:: https://badge.fury.io/py/autoreject.svg
.. _PyPI: https://badge.fury.io/py/autoreject

.. |Conda-Forge| image:: https://img.shields.io/conda/vn/conda-forge/autoreject.svg
.. _Conda-Forge: https://anaconda.org/conda-forge/autoreject/

This is a library to automatically reject bad trials and repair bad sensors in magneto-/electroencephalography (M/EEG) data.

.. image:: https://autoreject.github.io/stable/_images/sphx_glr_plot_auto_repair_001.png
   :width: 400


The documentation can be found under the following links:

- for the `stable release `_
- for the `latest (development) version `_

.. docs_readme_include_label

Installation
------------

We recommend the `Anaconda Python distribution `_
and a **Python version >= 3.10**.
We furthermore recommend that you install ``autoreject`` into an isolated
Python environment.
To obtain the stable release of ``autoreject``, you can use ``pip``::

    pip install -U autoreject

Or ``conda``::

    conda install -c conda-forge autoreject

If you want the latest (development) version of ``autoreject``, use::

    pip install https://github.com/autoreject/autoreject/archive/refs/heads/main.zip

To check if everything worked fine, you can do::

    python -c 'import autoreject'

and it should not give any error messages.

Below, we list the dependencies for ``autoreject``.
All required dependencies are installed automatically when you install ``autoreject``.

* ``mne`` (>=1.5.0)
* ``numpy`` (>=1.21.2)
* ``scipy`` (>=1.7.1)
* ``scikit-learn`` (>=1.0.0)
* ``joblib``
* ``matplotlib`` (>=3.5.0)

Optional dependencies are:

* ``openneuro-py`` (>= 2021.10.1, for fetching data from `OpenNeuro.org `_)

Quickstart
==========

The easiest way to get started is to copy the following three lines of code
in your script:

.. code:: python

	>>> from autoreject import AutoReject
	>>> ar = AutoReject()
	>>> epochs_clean = ar.fit_transform(epochs)  # doctest: +SKIP

This will automatically clean an `epochs` object read in using MNE-Python. To get the
rejection dictionary, simply do:

.. code:: python

	>>> from autoreject import get_rejection_threshold
	>>> reject = get_rejection_threshold(epochs)  # doctest: +SKIP

We also implement RANSAC from the `PREP pipeline `_
(see `PyPREP `_ for a full implementation of the PREP pipeline).
The API is the same:

.. code:: python

	>>> from autoreject import Ransac
	>>> rsc = Ransac()
	>>> epochs_clean = rsc.fit_transform(epochs)  # doctest: +SKIP

For more details check out the example to
`automatically detect and repair bad epochs `_.

Bug reports
===========

Please use the `GitHub issue tracker `_ to report bugs.

Cite
====

[1] Mainak Jas, Denis Engemann, Federico Raimondo, Yousra Bekhti, and Alexandre Gramfort, "`Automated rejection and repair of bad trials in MEG/EEG `_."
In 6th International Workshop on Pattern Recognition in Neuroimaging (PRNI), 2016.

[2] Mainak Jas, Denis Engemann, Yousra Bekhti, Federico Raimondo, and Alexandre Gramfort. 2017.
"`Autoreject: Automated artifact rejection for MEG and EEG data `_".
NeuroImage, 159, 417-429.

Owner

  • Name: autoreject
  • Login: autoreject
  • Kind: organization

GitHub Events

Total
  • Issues event: 3
  • Watch event: 6
  • Delete event: 1
  • Issue comment event: 2
  • Push event: 3
  • Pull request event: 3
  • Fork event: 2
Last Year
  • Issues event: 3
  • Watch event: 6
  • Delete event: 1
  • Issue comment event: 2
  • Push event: 3
  • Pull request event: 3
  • Fork event: 2

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 535
  • Total Committers: 34
  • Avg Commits per committer: 15.735
  • Development Distribution Score (DDS): 0.664
Past Year
  • Commits: 36
  • Committers: 8
  • Avg Commits per committer: 4.5
  • Development Distribution Score (DDS): 0.5
Top Committers
Name Email Commits
Mainak Jas m****s@g****m 180
Stefan Appelhoff s****f@m****g 84
dengemann d****n@g****m 77
Alexandre Gramfort a****t@m****g 34
Alex a****l@m****g 19
Mainak Jas m****s@t****r 17
Eric Larson l****d@g****m 17
Mainak Jas j****k 16
Marcin Koculak k****n@g****m 15
Mathieu Scheltienne m****e@g****m 15
pstetz p****z@b****u 9
Robert Luke 7****e 6
“mattboggess” “****s@p****” 5
Paul Bogdan p****n@g****m 4
Carlos de la Torre 4****e 4
Fede Raimondo f****o@g****m 3
Mathieu Scheltienne 7****e 3
dependabot[bot] 4****] 3
Nikolai M Chapochnikov 2****n 3
skjerns 1****s 3
Robert Luke h****o@r****t 2
Richard Höchenberger r****r@g****m 2
mattboggess m****7@g****m 2
Adina Wagner a****r@t****e 2
Stephen Zerfas z****3@y****m 1
santopolskiy s****y@c****m 1
Hubert Banville h****e@g****m 1
callezenwaka c****a@g****m 1
rugolotti r****i@c****m 1
Raghav R V r****3@g****m 1
and 4 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 64
  • Total pull requests: 76
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 14 days
  • Total issue authors: 35
  • Total pull request authors: 19
  • Average comments per issue: 5.5
  • Average comments per pull request: 4.75
  • Merged pull requests: 64
  • Bot issues: 0
  • Bot pull requests: 7
Past Year
  • Issues: 1
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: about 18 hours
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.5
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 2
Top Authors
Issue Authors
  • jasmainak (7)
  • sappelhoff (7)
  • hoechenberger (6)
  • adam2392 (4)
  • eort (3)
  • mscheltienne (3)
  • alexrockhill (3)
  • skjerns (2)
  • guishuyunye-lyw (2)
  • larsoner (2)
  • guiomar (1)
  • AlexLepauvre (1)
  • sab-d (1)
  • binarycache (1)
  • aaronjnewman (1)
Pull Request Authors
  • sappelhoff (21)
  • larsoner (13)
  • jasmainak (10)
  • dependabot[bot] (9)
  • alexrockhill (4)
  • hoechenberger (3)
  • agramfort (3)
  • c-torre (2)
  • mscheltienne (2)
  • chapochn (2)
  • skjerns (2)
  • ktavabi (2)
  • LegrandNico (1)
  • fraimondo (1)
  • callezenwaka (1)
Top Labels
Issue Labels
question (4) docs (4) maint (4) bug (2) enhancement (2)
Pull Request Labels
dependencies (9) maint (3) enhancement (2) hacktoberfest-accepted (1) docs (1) github_actions (1)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 8,522 last-month
  • Total docker downloads: 12
  • Total dependent packages: 4
    (may contain duplicates)
  • Total dependent repositories: 43
    (may contain duplicates)
  • Total versions: 14
  • Total maintainers: 3
pypi.org: autoreject

Automated rejection and repair of epochs in M/EEG.

  • Versions: 10
  • Dependent Packages: 4
  • Dependent Repositories: 41
  • Downloads: 8,522 Last month
  • Docker Downloads: 12
Rankings
Dependent packages count: 1.9%
Dependent repos count: 2.3%
Docker downloads count: 3.5%
Downloads: 3.6%
Average: 3.8%
Forks count: 5.5%
Stargazers count: 6.2%
Maintainers (3)
Last synced: 6 months ago
conda-forge.org: autoreject
  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 2
Rankings
Dependent repos count: 20.2%
Forks count: 24.1%
Stargazers count: 31.0%
Average: 31.7%
Dependent packages count: 51.6%
Last synced: 6 months ago

Dependencies

setup.py pypi
  • mne *
  • numpy *
  • scipy *
.github/workflows/circle-artifacts.yml actions
  • larsoner/circleci-artifacts-redirector-action master composite
.github/workflows/python-publish.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/test.yml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • codecov/codecov-action v3 composite
doc/_static/versions.json meteor