There are two ways to install fMRIPrep:
using container technologies (RECOMMENDED); or
within a Manually Prepared Environment (Python 3.10+), also known as bare-metal installation.
fmriprep command-line adheres to the BIDS-Apps recommendations
for the user interface.
Therefore, the command-line has the following structure:
$ fmriprep <input_bids_path> <derivatives_path> <analysis_level> <named_options>
fmriprep command-line options are documented in the Usage Notes
The command as shown works for a bare-metal environment set-up (second option above).
If you choose the recommended container-based installation, then
the command-line will be composed of a preamble to configure the
container execution followed by the
fmriprep command-line options
as if you were running it on a bare-metal installation.
The command-line structure above is then modified as follows:
$ <container_command_and_options> <container_image> \
<input_bids_path> <derivatives_path> <analysis_level> <fmriprep_named_options>
Therefore, once specified the container options and the image to be run
the command line is the same as for the bare-metal installation but dropping
fmriprep executable name.
Containerized execution (Docker and Singularity)
fMRIPrep is a NiPreps application, and therefore follows some overarching principles of containerized execution drawn from the BIDS-Apps protocols. For detailed information of containerized execution of NiPreps, please visit the corresponding Docker or Singularity subsections. The NiPreps portal also contains extended details of execution with the Docker wrapper.
In short, install the
fmriprep-docker wrapper with pip:
$ python -m pip install fmriprep-docker
Then run the
fmriprep-docker command-line as if you were running
fmriprep on a bare-metal installation:
$ fmriprep-docker <input_bids_path> <derivatives_path> <analysis_level> <named_options>
Manually Prepared Environment (Python 3.10+)
This method is not recommended! Please consider using containers.
Make sure all of fMRIPrep’s External Dependencies are installed.
These tools must be installed and their binaries available in the
A relatively interpretable description of how your environment can be set-up
is found in the Dockerfile.
As an additional installation setting, FreeSurfer requires a license file (see The FreeSurfer license).
On a functional Python 3.10 (or above) environment with
fMRIPrep can be installed using the habitual command
$ python -m pip install fmriprep
Check your installation with the
$ fmriprep --version
fMRIPrep is written using Python 3.8 (or above), and is based on nipype.
fMRIPrep requires some other neuroimaging software tools that are
not handled by the Python’s packaging system (Pypi) used to deploy
Not running on a local machine? - Data transfer
If you intend to run fMRIPrep on a remote system, you will need to make your data available within that system first.
For instance, here at the Poldrack Lab we use Stanford’s HPC system, called Sherlock. Sherlock enables the following data transfer options.
Alternatively, more comprehensive solutions such as Datalad will handle data transfers with the appropriate settings and commands. Datalad also performs version control over your data.