Hi, I am trying to run dwipreproc command
dwipreproc "$SUBJECT"_dwi_denoised.mif "$SUBJECT"_dwi_preproc.mif -json "$SUBJECT"_dwi.json -rpe_header -nocleanup -force -info
on linux workstation and I get this error:
Command: mrconvert dwi.mif - | dwiextract - bzeros.mif -bzero
mrconvert: [100%] copying from "dwi.mif" to "/tmp/mrtrix-tmp-kFlxH2.mif"
dwiextract: [100%] extracting volumes
Traceback (most recent call last):
File "/usr/pubsw/packages/mrtrix/current/bin/dwipreproc", line 372, in <module>
if not image.headerKeyValue('bzeros.mif', 'pe_scheme'):
File "/autofs/cluster/pubsw/2/pubsw/Linux2-2.3-x86_64/packages/mrtrix/3.0/lib/mrtrix3/image.py", line 29, in headerKeyValue
if app.verbosity > 1:
AttributeError: module 'mrtrix3.app' has no attribute 'verbosity'
I ran the exact same command (using the same data) on a mac and it works well!
Thank you so much!
Meena
I am following up on this error. Any help would be appreciated! Thank you.
It looks to me like you have conflicting versions of MRtrix3, one installed in /usr/pubsw/packages/mrtrix/current/
, the other in /autofs/cluster/pubsw/2/pubsw/Linux2-2.3-x86_64/packages/mrtrix/3.0/
. For some reason, it looks like the command in the first location might be importing modules from the second location, which is presumably a different and incompatible version.
As to why that might be happening, my guess is you might have your PYTHONPATH
environment variable pointing at the second location? Try unsetting that variable if it’s set:
unset PYTHONPATH
If that’s not the issue, then I’m a bit stumped…
Thank you so much for your reply!
I tried to unset PYTHONPATH and got the same error. However, I changed my mrtrix path, I get this error now:
Command: mrconvert dwi.mif - | dwiextract - bzeros.mif -bzero
Traceback (most recent call last):
File "/autofs/cluster/pubsw/2/pubsw/Linux2-2.3-x86_64/packages/mrtrix/3.0/bin/dwipreproc", line 372, in <module>
if not image.headerKeyValue('bzeros.mif', 'pe_scheme'):
File "/autofs/cluster/pubsw/2/pubsw/Linux2-2.3-x86_64/packages/mrtrix/3.0/lib/mrtrix3/image.py", line 29, in headerKeyValue
if app.verbosity > 1:
AttributeError: module 'mrtrix3.app' has no attribute 'verbosity'
I really appreciate your help!
Meena
OK, that’s unexpected, but it might be that /usr/pubsw/packages/mrtrix/current/
is a symbolic link to /autofs/cluster/pubsw/2/pubsw/Linux2-2.3-x86_64/packages/mrtrix/3.0/
– in which case that was a red herring…
So it looks like there might be a problem in the code. Can you report the version you’re using (dwipreproc -help
, look for the version string in the top left of the screen)?
MRtrix 3.0_RC1-6-ge7f6714a
OK, that’s a pretty old version – dates back to May 2017. But it does show that there was indeed a bug in that version – that should be app._verbosity
…
To fix this, I think all you need to do is edit the problematic line in lib/mrtrix3/image.py, so it would read:
if app._verbosity > 1:
Or can I simply change the version? If so what version would be stable to use? I am just starting to use MRtrix. Thank you!
Indeed, that would be the simpler option – I’d assumed since it looks like you were running on a cluster, you might not have control over that…
Best thing to do is just to checkout the master
branch – that’s what we consider stable and most bug-free. A simple git pull && ./configure && ./build
should get you right up to date.
Thank you so much. We upgraded to 3.16 version
MRtrix 3.0_RC3_latest-71-gdba7ba1e-dirty dwipreproc bin version: 3.0_RC3_latest-71-gdba7ba1e-dirty
But I get this error though when I tried to run this command:
dwipreproc "$SUBJECT"_dwi_denoised.mif "$SUBJECT"_dwi_preproc.mif -json "$SUBJECT"_dwi.json -rpe_header -eddy_options "--niter=8 --fwhm=10,6,4,2,0,0,0,0 --repol " -nocleanup -force -info
dwipreproc: [ERROR] Command failed: eddy --imain=eddy_in.nii --mask=eddy_mask.nii --acqp=eddy_config.txt --index=eddy_indices.txt --bvecs=bvecs --bvals=bvals --out=dwi_post_eddy --niter=8 --fwhm=10,6,4,2,0,0,0,0 --repol (dwipreproc:891)
dwipreproc: Output of failed command:
Part of FSL (build 507)
eddy
Copyright(c) 2011, University of Oxford (Jesper Andersson)
Usage:
eddy --monsoon
Compulsory arguments (You MUST set one or more of):
--imain File containing all the images to estimate distortions for
--mask Mask to indicate brain
--index File containing indices for all volumes in --imain into --acqp and --topup
--acqp File containing acquisition parameters
--bvecs File containing the b-vectors for all volumes in --imain
--bvals File containing the b-values for all volumes in --imain
--out Basename for output
Optional arguments (You may optionally specify one or more of):
--session File containing session indices for all volumes in --imain
--topup Base name for output files from topup
--flm First level EC model (linear/quadratic/cubic)
--fwhm FWHM for conditioning filter when estimating the parameters
--niter Number of iterations (default 5)
--resamp Final resampling method (jac/lsr)
--repol Detect and replace outlier slices
-v,--verbose switch on diagnostic messages
-h,--help display this message
--fwhm: Couldn't set_value! valstr="10,6,4,2,0,0,0,0"!
dwipreproc:
dwipreproc: Changing back to original directory (/autofs/cluster/atassigp/MMMB/MotorNeuronDisease/Data/BIOMARKER/BIO-ALS-701-020-BL/dwi)
dwipreproc: Script failed while executing the command: eddy --imain=eddy_in.nii --mask=eddy_mask.nii --acqp=eddy_config.txt --index=eddy_indices.txt --bvecs=bvecs --bvals=bvals --out=dwi_post_eddy --niter=8 --fwhm=10,6,4,2,0,0,0,0 --repol
is this a version problem? because the same command work on my mac version:
“MRtrix d411e6c5 bin version: d411e6c5”
Sounds like it’s the version of FSL that’s the problem. I don’t think version 5.0.7 supports the --repol
option…
You are absolutely right! All works now. Thank you for your great knowledge, great support and for MRtrix!
1 Like
By the way, I note your version string ends with -dirty
– this means there are local modifications in your installation compared to that specific commit. Type git diff
in your MRtrix3 folder to see what these changes are. If these were unintentional, I recommend you revert those changes like this:
git reset --hard HEAD
./build
1 Like