muschellij2/fslr

function eddy no longer exists in fsl (v 5.0.11)

Opened this issue · 5 comments

eddy has been replaced by eddy_openmp and eddy_cuda in fsl. This requires a chaange of the call
in function eddy ...

From the fsl/eddy manual:

The eddy executables

eddy is a very computationally intense application, so in order to speed things up it has been parallelised. This has been done in two ways, resulting in two different executables

eddy_openmp: This executable has been parallelised through OpenMP, which allows eddy to use more than one core/CPU when running.

eddy_cuda: The other executable has been parallelised with CUDA, which allows eddy to use an Nvidia GPU if one is available on the system. 

Hence, there is not longer an executable named eddy and when I refer to the eddy-command in the rest of this users guide it is implied that this is either eddy_openmp or eddy_cuda. The eddy_cuda version is potentially much faster than eddy_openmp and not all new features will be available for the OpenMP version. This is because the slow speed makes it almost impossible to test the more time-consuming options thoroughly.

What version of FSL?

Where are you seeing this change? I'm looking at https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/WhatsNew and see no information on this.

I'm using Part of FSL (ID: 5.0.10) on Mac OSX - what version are you using (and which version of linux)

See the Eddy documentation: https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/eddy/UsersGuide and I checked the FSL help list and both eddy_openmp and eddy_cuda have been referenced sine 2015.

FWIW, on my Mac, I too lack a eddy_openmp.

as stated in the subject line:

FSL version 5.0.11 ..., thats the most recent one. OS: KUbuntu 16.04

the text I copied from the manual is from

https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/eddy/UsersGuide
There is a comment on the FSL webside that eddy is no longer in FSL because its no longer free software. Instead eddy_openmp / eddy_cuda have been included.

In function eddy the line

s = sprintf("%s %s", "eddy", vec)

needs to be adjusted to use eddy_openmp or eddy_cuda, probably its a good idea to have two separate functions here.

  • according to the reference manual its also recommended to provide results from topup via a parameter

--topup=my_topup_results

it may be a good idea to add this to the parameter list of eddy_xxxx