.. include:: links.rst
.. _Usage :
-----
Usage
-----
Execution and the BIDS format
-----------------------------
The *sMRIPrep* workflow takes as principal input the path of the dataset
that is to be processed.
The input dataset is required to be in valid :abbr:`BIDS (Brain Imaging Data
Structure)` format, and it must include at least one T1w structural image and
(unless disabled with a flag) a BOLD series.
We highly recommend that you validate your dataset with the free, online
`BIDS Validator `_.
The exact command to run *sMRIPrep* depends on the Installation_ method.
The common parts of the command follow the `BIDS-Apps
`_ definition.
Example: ::
smriprep data/bids_root/ out/ participant -w work/
Command-Line Arguments
----------------------
.. argparse::
:ref: smriprep.cli.run.get_parser
:prog: smriprep
:nodefault:
:nodefaultconst:
The command-line interface of the docker wrapper
------------------------------------------------
.. argparse::
:ref: smriprep_docker.get_parser
:prog: smriprep-docker
:nodefault:
:nodefaultconst:
.. _fs_license:
The FreeSurfer license
----------------------
*sMRIPrep* uses FreeSurfer tools, which require a license to run.
To obtain a FreeSurfer license, simply register for free at
https://surfer.nmr.mgh.harvard.edu/registration.html.
When using manually-prepared environments or singularity, FreeSurfer will search
for a license key file first using the ``$FS_LICENSE`` environment variable and then
in the default path to the license key file (``$FREESURFER_HOME/license.txt``).
If using the ``--cleanenv`` flag and ``$FS_LICENSE`` is set, use ``--fs-license-file $FS_LICENSE``
to pass the license file location to *sMRIPrep*.
It is possible to run the docker container pointing the image to a local path
where a valid license file is stored.
For example, if the license is stored in the ``$HOME/.licenses/freesurfer/license.txt``
file on the host system: ::
$ docker run -ti --rm \
-v $HOME/fullds005:/data:ro \
-v $HOME/dockerout:/out \
-v $HOME/.licenses/freesurfer/license.txt:/opt/freesurfer/license.txt \
nipreps/smriprep:latest \
/data /out/out \
participant \
--ignore fieldmaps
Using FreeSurfer can also be enabled when using ``smriprep-docker``: ::
$ smriprep-docker --fs-license-file $HOME/.licenses/freesurfer/license.txt \
/path/to/data/dir /path/to/output/dir participant
RUNNING: docker run --rm -it -v /path/to/data/dir:/data:ro \
-v /home/user/.licenses/freesurfer/license.txt:/opt/freesurfer/license.txt \
-v /path/to_output/dir:/out nipreps/smriprep:1.0.0 \
/data /out participant
...
If the environment variable ``$FS_LICENSE`` is set in the host system, then
it will automatically used by ``smriprep-docker``. For instance, the following
would be equivalent to the latest example: ::
$ export FS_LICENSE=$HOME/.licenses/freesurfer/license.txt
$ smriprep-docker /path/to/data/dir /path/to/output/dir participant
RUNNING: docker run --rm -it -v /path/to/data/dir:/data:ro \
-v /home/user/.licenses/freesurfer/license.txt:/opt/freesurfer/license.txt \
-v /path/to_output/dir:/out nipreps/smriprep:1.0.0 \
/data /out participant
...