5ttgen: [ERROR] Script cannot run in FSL mode on Windows


Got the error “Script cannot run in FSL mode on windows”. Please help.

IOANA+Administrator@IOANA MINGW64 ~/mrtrix3/HCPData/100307_3T_Structural_preproc/100307/T1w
$ 5ttgen fsl T1w_acpc_dc_restore_brain.nii.gz 5TT.mif -premasked
5ttgen: Note that this script makes use of commands / algorithms that have relevant articles for citation; INCLUDING FROM EXTERNAL SOFTWARE PACKAGES. Please consult the help page (-help option) for more information.
5ttgen: Generated temporary directory: ./5ttgen-tmp-7C3F2G/
Command: mrconvert C:/msys64/home/Administrator/mrtrix3/HCPData/100307_3T_Structural_preproc/100307/T1w/T1w_acpc_dc_restore_brain.nii.gz ./5ttgen-tmp-7C3F2G/input.mif
5ttgen: Changing to temporary directory (./5ttgen-tmp-7C3F2G/)
5ttgen: Changing back to original directory (C:/msys64/home/Administrator/mrtrix3/HCPData/100307_3T_Structural_preproc/100307/T1w)
5ttgen: Deleting temporary directory ./5ttgen-tmp-7C3F2G/
5ttgen: [ERROR] Script cannot run in FSL mode on Windows


Ah yes, unfortunately, as stated, this script relies on the availability of FSL commands. Sorry, we probably should have picked this up from your earlier post. As far as I know, there’s no way to install FSL in Windows… @rsmith, please correct me if I’m wrong.


So in that case if I need to run the script in Windows then how should I frame the command. I am following the http://mrtrix.readthedocs.io/en/latest/tutorials/hcp_connectome.html link to generate the connectome mtrix. Nothing else is mentioned in the doc about how to run in Windows. The script was not executing without FSL or Freesurfer as I posted in separate thread.


Unfortunately any script that depends on another software package not available for Windows simply can’t be run natively on Windows unless those softwares become available on that platform. Ideally we’d like to have algorithms for all of these processes coded natively in MRtrix3; but our development resources are limited. Anyone willing to help out by coding tissue segmentation for MRtrix3 is more than welcome :smiley:

Probably your best bet is to create a Linux virtual machine, with both MRtrix3 and FSL installed within it. Any MRtrix3 scripts that depend on FSL can then be run from there. You can still use other MRtrix3 functionalities using a version installed and compiled natively for Windows.


I install Mrtrix on windows and I have a FSLvm in my computer. However, I can not install mrtrix in FSLvm. So can you suggest a way to perform segmentation on FSL which gives the same result as using command ‘5ttgen fsl’ on mrtrix? Thank you.


I’d not heard of the FSLvm, and I’m not surprised it won’t work with MRtrix3. I personally recommend you avoid that approach and use the WSL instead. Note that you’ll need two separate installs of MRtrix3 to get the full functionality: one within the WSL (along with FSL, ANTs, etc), and the other within MSYS2 for the graphics (since WSL doesn’t yet support that).

See this post for more details, and you’ll also find lots of discussion around that on this forum.