There are two ways to install fMRIPrep:

The 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>

The fmriprep command-line options are documented in the Usage Notes section.

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 the 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 system’s $PATH. 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 pip installed, fMRIPrep can be installed using the habitual command

$ python -m pip install fmriprep

Check your installation with the --version argument

$ fmriprep --version

External Dependencies

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 the fmriprep package:

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.