Hi, I’m trying to install fmriprep according to following link. However, in the second step, I get the error in the below:
RuntimeError: ERROR: a valid license file is required for FreeSurfer to run. fMRIPrep looked for an existing license file at several paths, in this order: 1) command line argument
$FS_LICENSE environment variable; and 3) the
$FREESURFER_HOME/license.txt path. Get it (for free) by registering at https://surfer.nmr.mgh.harvard.edu/registration.html
When I command
gedit $FREESURFER_HOME/license.txt I see the license file with no problem. Can you help me with this problem? I saw that other people having same problems but their solutions did not helped me
Hi, can you share your whole command? This may be a docker issue, but it’s hard to tell without the specific invocation.
Also, just as a heads up to one of the more confusing bits of neuroimaging software: FSL is completely unrelated to FreeSurfer. FSL stands for FMRIB Software Library.
My bad! I corrected as Freesurfer.
I was just used fmriprep-docker to see how things work. But since I got this error, the process never goes further.
Ah, sorry, I wasn’t clear. I mean, could you show the full command-line, e.g.:
fmriprep-docker ARG1 ARG2 ...
fmriprep-docker /home/beyza/Documents/ds000238-download /home/beyza/Desktop --participant-label 01
This was the command I used. However, I saw we can specify FreeSurfer license like this
fmriprep-docker /home/beyza/Documents/ds000238-download /home/beyza/Desktop --participant-label 01 --fs-license-file $FREESURFER_HOME/license.txt
The second command worked. However, it is not clear for me why fmriprep says it did not found license file.
fmriprep-docker does not know to look in
$FREESURFER_HOME/license.txt without being told. If you have
$FS_LICENSE defined, we will detect that.
But as you can see in the first post, the output says the exact opposite
it says like it checked the
Right, we should distinguish between fMRIPrep and
fmriprep-docker. fMRIPrep is a tool that runs on a system that needs to have FreeSurfer installed, and therefore can be assumed to have
fmriprep-docker is a simple Python program that will translate an fMRIPrep command into a Docker command that runs the requested operation inside a Docker container. It does not require FreeSurfer to be installed.
So the error you’re seeing at the top is issued by fMRIPrep inside the container, not
fmriprep-docker, and it is not finding the license inside the container.
This difference isn’t really based on any principle; we added
$FS_LICENSE detection as a convenience to
fmriprep-docker, and the same could be done with
$FREESURFER_HOME/license.txt. If you would like to contribute this feature, please open an issue on the GitHub page, and we can help guide you through the process.
It’s all clear now, thank you for explanation.
I will open the issue now.