bidsmreye

BIDS app using deepMReye to decode eye motion for fMRI time series data.

https://github.com/cpp-lln-lab/bidsmreye

Science Score: 67.0%

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

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 17 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.2%) to scientific vocabulary

Keywords

bids bidsapp closember eye-tracking

Keywords from Contributors

particle energy-system energy-system-model diffusion neuroimaging medical-imaging meshes transformation fmri data-management
Last synced: 6 months ago · JSON representation ·

Repository

BIDS app using deepMReye to decode eye motion for fMRI time series data.

Basic Info
Statistics
  • Stars: 7
  • Watchers: 3
  • Forks: 6
  • Open Issues: 13
  • Releases: 7
Topics
bids bidsapp closember eye-tracking
Created about 4 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Citation

README.md

System tests Test and coverage codecov Documentation Status License PyPI version PyPI - Python Version https://github.com/psf/black Sourcery All Contributors paper doi zenodo DOI

bidsMReye

BIDS app for decoding gaze position from the eyeball MR-signal using deepMReye (1).

To be used on preprocessed BIDS derivatives (e.g. fMRIprep outputs). No eye-tracking data required.

By default, bidsMReye uses a pre-trained version of deepMReye trained on 5 datasets incl. guided fixations (2), smooth pursuit (3,4,5) and free viewing (6). Other pretrained versions are optional. Dedicated model training is recommended.

The pipeline automatically extracts the eyeball voxels. This can be used also for other multivariate pattern analyses in the absence of eye-tracking data. Decoded gaze positions allow computing eye movements.

Some basic quality control and outliers detection is also performed:

  • for each run

  • at the group level

For more information, see the User Recommendations. If you have other questions, please reach out to the developer team.

Install

Better to use the docker image as there are known install issues of deepmreye on Apple M1 for example.

Docker

Build

bash docker build --tag cpplab/bidsmreye:latest --file docker/Dockerfile .

Pull

Pull the latest docker image:

bash docker pull cpplab/bidsmreye:latest

Python package

You can also get the package from pypi if you want.

bash pip install bidsmreye

Conda installation

NOT TESTED YET

To encapsulate bidsMReye in a virtual environment install with the following commands:

bash conda create --name bidsmreye python=3.10 conda activate bidsmreye conda install pip pip install bidsmreye

The tensorflow dependency supports both CPU and GPU instructions.

Note that you might need to install cudnn first

bash conda install -c conda-forge cudnn

Dev install

Clone this repository.

bash git clone git://github.com/cpp-lln-lab/bidsmreye

Then install the package:

bash cd bidsMReye make install_dev

Usage

Requirements

bidsmreye requires your input fmri data:

  • to be minimally preprocessed (at least realigned),
  • with filenames and structure that conforms to a BIDS derivative dataset.

Two bids apps are available to generate those types of preprocessed data:

Obviousvly your fmri data must include the eyes of your participant for bidsmreye to work.

CLI

Type the following for more information:

bash bidsmreye --help

Preparing the data

prepapre means that bidsmreye will extract the data coming from the eyes from the fMRI images.

If your data is not in MNI space, bidsmreye will also register the data to MNI.

bash bidsmreye bids_dir output_dir participant prepare

Computing the eye movements

generalize use the extracted timeseries to predict the eye movements using the default pre-trained model of deepmreye.

This will also generate a quality control report of the decoded eye movements.

bash bidsmreye bids_dir output_dir participant generalize

Doing it all at once

all does "prepare" then "generalize".

bash bidsmreye bids_dir output_dir participant all

Group level summary

bidsmreye bids_dir output_dir group qc

Demo

Please look up the documentation

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Pauline Cabee
Pauline Cabee

💻 🤔 🚇
Remi Gau
Remi Gau

💻 🤔 ⚠️ 🚧
Ying Yang
Ying Yang

🐛 📓

This project follows the all-contributors specification. Contributions of any kind welcome!

If you train deepMReye, or if you have eye-tracking training labels and the extracted eyeball voxels, consider sharing it to contribute to the pretrained model pool.

Owner

  • Name: Crossmodal Perception and Plasticity laboratory
  • Login: cpp-lln-lab
  • Kind: organization
  • Location: Louvain la Neuve, Belgium

Citation (CITATION.cff)

cff-version: 1.2.0

title: "bidsMReye"

version: 0.3.0

abstract:
  "BIDS app using deepMReye to decode eye motion for fMRI time series data."

message: "If you use this software, please cite it as below."

repository-code: "https://github.com/cpp-lln-lab/bidsMReye.git"

identifiers:
  - description: deepMReye paper
    type: doi
    value: "10.1038/s41593-021-00947-w"
  - description: zenodo code
    type: doi
    value: "10.5281/zenodo.7493322"

contact:
  - affiliation: "McGill university"
    email: remi.gau2@mcgill.ca
    family-names: Gau
    given-names: Rémi

authors:
  - family-names: "Gau"
    given-names: "Rémi"
    orcid: "https://orcid.org/0000-0002-1535-9767"
    affiliation: "McGill university"

  - family-names: "Cabee"
    given-names: "Pauline"

  - family-names: "Yang"
    given-names: "Ying"
    orcid: "https://orcid.org/0000-0002-4157-2975"
    affiliation: "Université catholique de Louvain"

license: GPL-3.0

keywords:
  - BIDS
  - brain imaging data structure
  - neuroimaging
  - automated pipeline
  - MRI
  - Python
  - Eyetracking
  - Machine learning

GitHub Events

Total
  • Issues event: 1
  • Watch event: 2
  • Delete event: 11
  • Issue comment event: 13
  • Push event: 16
  • Pull request review event: 12
  • Pull request event: 26
  • Fork event: 1
  • Create event: 13
Last Year
  • Issues event: 1
  • Watch event: 2
  • Delete event: 11
  • Issue comment event: 13
  • Push event: 16
  • Pull request review event: 12
  • Pull request event: 26
  • Fork event: 1
  • Create event: 13

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 323
  • Total Committers: 8
  • Avg Commits per committer: 40.375
  • Development Distribution Score (DDS): 0.254
Past Year
  • Commits: 51
  • Committers: 3
  • Avg Commits per committer: 17.0
  • Development Distribution Score (DDS): 0.373
Top Committers
Name Email Commits
Remi Gau r****u@h****m 241
pre-commit-ci[bot] 6****] 58
dependabot[bot] 4****] 10
Sourcery AI 4
Matthias Nau 3****y 4
allcontributors[bot] 4****] 4
Pauline p****e@y****m 1
Sourcery AI u****n 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 59
  • Total pull requests: 169
  • Average time to close issues: 4 months
  • Average time to close pull requests: 10 days
  • Total issue authors: 6
  • Total pull request authors: 6
  • Average comments per issue: 1.02
  • Average comments per pull request: 0.66
  • Merged pull requests: 158
  • Bot issues: 0
  • Bot pull requests: 111
Past Year
  • Issues: 1
  • Pull requests: 25
  • Average time to close issues: N/A
  • Average time to close pull requests: 6 days
  • Issue authors: 1
  • Pull request authors: 3
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.84
  • Merged pull requests: 20
  • Bot issues: 0
  • Bot pull requests: 21
Top Authors
Issue Authors
  • Remi-Gau (51)
  • Michael-Sun (3)
  • yyang1234 (2)
  • dal50musc (1)
  • Naubody (1)
  • dkp (1)
Pull Request Authors
  • pre-commit-ci[bot] (103)
  • Remi-Gau (69)
  • dependabot[bot] (17)
  • sourcery-ai[bot] (4)
  • allcontributors[bot] (2)
  • Naubody (1)
Top Labels
Issue Labels
bug (4) enhancement (1)
Pull Request Labels
dependencies (17) github_actions (17)

Dependencies

.github/workflows/check_md_links.yml actions
  • actions/checkout master composite
  • gaurav-nelson/github-action-markdown-link-check v1 composite
.github/workflows/docker_build.yml actions
  • actions/checkout v3 composite
.github/workflows/new_issue.yml actions
  • actions/checkout v3 composite
  • juliangruber/read-file-action v1 composite
  • peter-evans/create-or-update-comment 5adcb0bb0f9fb3f95ef05400558bdb3f329ee808 composite
.github/workflows/package.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/system_tests.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/test_and_coverage.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • codecov/codecov-action v3 composite
.github/workflows/validate_cff.yml actions
  • actions/checkout v3 composite
  • citation-file-format/cffconvert-github-action 2.0.0 composite
Dockerfile docker
  • python 3.10.9-bullseye build
pyproject.toml pypi
  • attrs *
  • chevron *
  • deepmreye *
  • kaleido *
  • pooch >=1.6.0
  • pybids *
  • rich *
  • tomli python_version < '3.11'
  • tqdm *