Open ajdneuro12 opened 5 years ago
D'oh!
There's no way to get around this within the existing tool interface. Obviously with wrapping such a large number of commands, not everything can be exposed.
For the sake of being able to process your data for now, you could just edit the script file to make sure that eddy
is always provided with this flag: Just change this line to:
eddy_options = [ "--data_is_shelled" ]
If you are compiling the container yourself, you could edit the script file locally, and then re-build. Otherwise, you could run the container using --entrypoint=/bin/bash
, edit the file within the container environment, and then execute the script file with the command-line options that you would otherwise invoke at the run stage.
At my end, probably what I want to do is run the DWI data through mrinfo -shell_bvalues
after the initial import, to make sure that MRtrix3 can interpret the data as distinct b-value shells, and then just provide this flag to eddy
always (since I don't think it would ever have any detrimental effects, it simply prevents this error from occurring as far as I can tell).
Hi @Lestropie,
Yes this worked! Thanks so much for your help!
Best, Alex
Notes for self:
The eddy Users Guide says the following:
Please be aware that if you have to use this flag you may be in untested territory and that it is a good idea to check your data extra carefully after having run eddy on it.
Therefore don't want to set this flag and have it used in all circumstances. Instead it will be necessary to:
Ensure that MRtrix3 is capable of reading the DWI data as shells;
Attempt to run eddy
without this flag;
If eddy
fails, specifically with an error message relating to data not consisting of shells, try re-running with this flag.
Points 2 and 3 may in fact be better addressed within MRtrix3 dwipreproc
rather than within MRtrix3_connectome.
Hi @Lestropie,
I spoke too soon, eddy is giving me an error now: dwipreproc: Output of failed command: eddy: msg=ECScanManager::GetShellIndicies: Data not shelled terminate called after throwing an instance of 'EDDY::EddyException' what(): eddy: msg=ECScanManager::GetShellIndicies: Data not shelled I know this issue is with eddy and I can confirm the data is shelled (bvals attached) and I wondering if there is a work around I can use in docker (I think its usually solved by " --data_is_shelled" ?). Thanks again for your help!
Alex sub-NDARINV1EECRFPM_ses-baselineYear1Arm1_dwi.bval.txt