Git Product home page Git Product logo

brainiak-srm's Introduction

BrainIAK-SRM BIDS app

Shared Response Model (SRM) from the Brain Imaging Analysis Kit (BrainIAK).

Description

The Shared Response Model (SRM) is a method for aligning fMRI scans from several subjects by assuming similar functional behavior in the brain. The voxels of each subject are mapped to voxels of other subjects by projecting the information from each subject into a low-dimensional space.

Documentation

http://brainiak.org/docs/brainiak.funcalign.html

How to report errors

Open a GitHub issue in BrainIAK (if the issue is about SRM) or here (if the issue is about this wrapper app). We also welcome all kinds of contributions to BrainIAK.

Acknowledgements

Please cite the following papers based on which SRM is implemented.

"A Reduced-Dimension fMRI Shared Response Model", P.-H. Chen, J. Chen, Y. Yeshurun-Dishon, U. Hasson, J. Haxby, P. Ramadge, Advances in Neural Information Processing Systems (NIPS), 2015. http://papers.nips.cc/paper/5855-a-reduced-dimension-fmri-shared-response-model

"Enabling Factor Analysis on Thousand-Subject Neuroimaging Datasets", Michael J. Anderson, Mihai Capotă, Javier S. Turek, Xia Zhu, Theodore L. Willke, Yida Wang, Po-Hsuan Chen, Jeremy R. Manning, Peter J. Ramadge, Kenneth A. Norman, IEEE Big Data, 2016. https://doi.org/10.1109/BigData.2016.7840719

Usage

This App has the following command line arguments:

usage: run.py [-h]
              [--participant_label PARTICIPANT_LABEL [PARTICIPANT_LABEL ...]]
              [--run RUN] [--task TASK] [--preproc PREPROC] [--mask MASK]
              [--iterations ITERATIONS] [--features FEATURES]
              bids_dir output_dir {participant,group}

Shared Response Model runner

positional arguments:
  bids_dir              Input directory
  output_dir            Output directory
  {group}   Level of the analysis that will be performed

optional arguments:
  -h, --help            show this help message and exit
  --participant_label PARTICIPANT_LABEL [PARTICIPANT_LABEL ...]
                        Labels for participants to be analyzed (default: None)
  --run RUN             Run to be analyzed (default: 01)
  --task TASK           Task to be analyzed, default is any (default: *)
  --preproc PREPROC     Preprocessing tag, default is any (default: *)
  --mask MASK           Mask tag (default: bmask)
  --iterations ITERATIONS
                        Number of iterations, default is SRM default (default:
                        None)
  --features FEATURES   Number of features, default is SRM default (default:
                        None)

Special considerations

This app requires preprocessed data with all volumes of a subject registered. It also requires masks to be present in the input data; all to-be-analyzed volumes of a subject must use the same mask.

SRM works only on group level because it is a method for aligning fMRI scans from multiple subjects.

The data must be time-synchronized, i.e., all subjects must be presented with the same stimuli with the same duration in the same order.

Multiple runs and tasks can be given ("*") if the number of voxels is the same within subject (the number of voxels can differ across subjects).

brainiak-srm's People

Contributors

chrisgorgo avatar mihaic avatar pre-commit-ci[bot] avatar remi-gau avatar yidawang avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

mihaic nagyistge

brainiak-srm's Issues

--particpant_label is being ignored

setting --participant_label to a list of participant ids should limit the analysis to a subset of participants (even on the group level).

Input data are being ignored

The app currently ignores input data. Independently of what user specified it downloads examples from dropbox giving always the same result.

No stdout

The App does not produce anything on stdout even if everything goes well. It's not a big deal, but lack of any output makes it hard to debug.

dependency version conflict

in CI when running

https://app.circleci.com/pipelines/github/bids-apps/brainiak-srm/8/workflows/71418e04-4203-4749-9bd0-1b0f09a501b4/jobs/41

#!/bin/bash -eo pipefail
docker run -ti --rm \
  -v /tmp/workspace/data/ds005-deriv-light:/bids_dataset \
  -v ${HOME}/outputs:/outputs \
    bids/${CIRCLE_PROJECT_REPONAME,,} --version
^@^@Traceback (most recent call last):
  File "/code/run.py", line 11, in <module>
    import nilearn.masking
  File "/usr/local/lib/python3.8/dist-packages/nilearn/__init__.py", line 68, in <module>
    _check_module_dependencies()
  File "/usr/local/lib/python3.8/dist-packages/nilearn/version.py", line 180, in _check_module_dependencies
    _import_module_with_version_check(
  File "/usr/local/lib/python3.8/dist-packages/nilearn/version.py", line 72, in _import_module_with_version_check
    module = __import__(module_name)
  File "/usr/local/lib/python3.8/dist-packages/pandas/__init__.py", line 22, in <module>
    from pandas.compat import is_numpy_dev as _is_numpy_dev  # pyright: ignore # noqa:F401
  File "/usr/local/lib/python3.8/dist-packages/pandas/compat/__init__.py", line 18, in <module>
    from pandas.compat.numpy import (
  File "/usr/local/lib/python3.8/dist-packages/pandas/compat/numpy/__init__.py", line 22, in <module>
    raise ImportError(
ImportError: this version of pandas is incompatible with numpy < 1.20.3
your numpy version is 1.19.5.
Please upgrade numpy to >= 1.20.3 to use this pandas version. Module "pandas" could not be found. See https://nilearn.github.io/stable/introduction.html#installation for installation information.

Exited with code exit status 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.