I am using DWIConvert to convert NIFTIs to NRRDs so that I can use DTIPrep’s artifact detection and denoising tools. I then plan to convert these NRRDs back to NIFTI so that I can use FSL’s eddy and then FSL’s TBSS analysis. However, after running DTIPrep preprocessing, converting back to NIFTI, and running FSL eddy, I’m seeing strange results. Eddy outputs a file called data.nii.gz.eddy_restricted_movement_rms in which there are estimates for movement (1) relative to the first volume (the b0) and (2) between each consecutive volumes. I use this movement estimation file to identify subjects with excess movement in the scanner to remove them from analysis.
Here is the puzzling output that I get, where the first column indicates type-(1) values and the second column indicates type-(2) values (bold emphasis mine):
According to this, there is absolutely zero movement between a consecutive 4 volumes, which seems unlikely, if not impossible. I get similar strange looking output for many other subjects processed using DTIPrep tools and then FSL eddy. Importantly, I get normal-looking movement estimation when I do not use DWIConvert or DTIPrep’s tools.
To identify the problem, I’ve tried only using DWIConvert from NIFTI to NRRD and then again from NRRD to NIFTI without using any of DTIPrep’s preprocessing tools. In theory, there should be no change in the NIFTI after converting to and from NRRD. However, after running FSL eddy again on this back-and-forth-converted dataset, I still get strange eddy movement estimation in that it indicates absolutely zero movement between certain volumes. So, it seems the issue is due to DWIConvert, a Slicer tool, and not due to DTIPrep’s preprocessing tools.
Does anyone have any insight into what may be causing the problem? Converting from NIFTI to NRRD back to NIFTI using DWIConvert seems to change the alignment of volumes. But I’m not quite sure.
I’ve gone through extensive troubleshooting thanks to help from Martin Styner over at the DTIPrep forums, but we haven’t been able to solve the issue. Here’s the attempted troubleshooting in more detail.
Here’s what I’m calling in the command line to go from NIFTI --> NRRD:
DWIConvert --inputVolume raw_dwi.nii.gz -o dwi.nrrd --conversionMode FSLToNrrd --inputBValues bvals_col --inputBVectors bvecs_col
And from NRRD --> NIFTI:
DWIConvert --inputVolume dwi.nrrd --conversionMode NrrdToFSL --outputVolume raw_dwi_QCed.nii --outputBVectors bvecs_col_QCed --outputBValues bvals_col_QCed
Thank you very much in advance!