Ecosystem#
Overview#
Neuroscout is a platform for reproducible fMRI research, encompassing the lifecycle of analysis from model specification to estimation and sharing.
The platform is composed of two primary components: neuroscout.org: an interactive model builder and data ingestion API; and Neuroscout-CLI: an automated model fitting workflow. In addition, PyNS (Python API) supports querying of the API and advanced model creation and model fitting workflows.
neuroscout.org#
The neuroscout.org server is the key central service in the ecosystem.
Analysis Builder#
As an end user, you’ll use the neuroscout.org analysis builder–an easy-to-use and interactive web application. On neuroscout.org you can create analyses as well as browse & manage existing analyses. If you’re a first time user, head there to build your first analysis and get started!
Neuroscout API#
These services are supported by the Neuroscout API, which makes available all the datasets & predictors through a programmatic interface. The Neuroscout API indexes a curated set of BIDS fMRI datasets, sourced primarily from OpenNeuro & DataLad repositories. All datasets are pre-processed and ingested into a SQL database.
In naturalistic datasets, novel features are extracted from the stimuli using Pliers– an expandable library for feature extraction which spans a wide range of state-of-the-art machine learning algorithms.
The Neuroscout API and Documentation can be accessed at https://neuroscout.org/api/. Access is facilitated in Python by the PyNS library. You can also browse datasets and explore predictors on the neuroscout website.
Neuroscout-CLI#
The Neuroscout-CLI is a portable analysis engine which supports the execution of analyses created on neuroscout.org.
Neuroscout-CLI makes it easy to run your analysis with no configuration by fetching a self-contained analysis bundle, and downloading the required preprocessed fMRI data. Internally, we use FitLins–a NiPype pipeline for fMRI analysis in BIDS–to fit a statistical model to the fMRI data, and produce comprehensive reports. Neuroscout-CLI automatically uploads the resulting images to Neurovault, and links them to the analysis listing, making it easy to view and share your results.
pyNS#
pyNS is the Python library for Neuroscout, supporting programmatic access of the Neuroscout API in Python. Serving as the interface for the Neuroscout API, pyNS is used by Neuroscout-CLI to communicate with the Neuroscout server, and push back results to Neurovault.
Advanced end-users can use pyNS directly instead of the neuroscout.org analysis builder in order to programmaticaly build analyses. This is useful for users that wish to create a large number of analyses, or want to create models which are not supported by the streamlined web-bsed analysis builder.
As Neuroscout continues to evolve, we aim to support a broader set of models (e.g. encoding models), which may not yet be supported by the Neuroscout analysis builder, or Neuroscout-CLI. pyNS provides the flexibly for developers to create novel workflows such as these, which can later be incorporated upstream as a primary mode of use for the platform.