rordenlab / dcm2niix

dcm2nii DICOM to NIfTI converter: compiled versions available from NITRC
https://www.nitrc.org/plugins/mwiki/index.php/dcm2nii:MainPage
Other
832 stars 224 forks source link

how to mitigate "WARNING: DTI gradient directions only tested for axial (transverse) acquisitions. Please validate bvec files." #36

Closed yarikoptic closed 7 years ago

yarikoptic commented 8 years ago
$> dcm2niix -b y -o NIfTIs2/ DICOMS/ABCD_DMRI_0012 
Chris Rorden's dcm2niiX version 6June2016 (64-bit)
Found 108 DICOM image(s)
WARNING: DTI gradient directions only tested for axial (transverse) acquisitions. Please validate bvec files.
Convert 108 DICOM as NIfTIs2/ABCD_DMRI_0012_ABCD_dMRI_20160219145142_12 (140x140x81x108)
Conversion required 1.369538 seconds.

are there any DICOM fields we should look after to share after we 'validate' bvec files to be correct or not? P.S. We guess that easiest way to validate is to compare with the information on the console/protocol files, is that correct or there is a better "validation" strategy?

neurolabusc commented 8 years ago

To validate your images, look for the Word document linked at http://people.cas.sc.edu/rorden/mricron/dcm2nii.html The issue is that the console/DICOM files report gradients with respect to the scanner coordinates, while NIfTI DTI tools expect the coordinates to be with respect to the image. I have permission from several different groups to share the DICOM DTI datasets from different vendors I used to validate my software: https://www.nitrc.org/plugins/mwiki/index.php/dcm2nii:MainPage#Diffusion_Tensor_Imaging

I think all the real-world DTI scans I have seen are axial acquisitions: https://practicalfmri.blogspot.com/2011/11/understanding-fmri-artifacts-good.html

By the way, the version notes for the May 12, 2016 version of Xiangrui Li's terrific Matlab-based dicm2nii suggests he has solved this for GE scanners based on images from Paul (Morgan) % 160512 get_dti_para: fix bvec sign for GE cor/sag slices (thx paul for data). I will see if Paul will let me distribute his validation set. If so, should be easy to update dcm2niix for these.

The relevant bits of my code are siemensPhilipsCorrectBvecs and geCorrectBvecs. Xiangrui and I have shared a lot of each others ideas, so these should be pretty similar. The tricks are to work out the patient position (e.g. currently I only allow "head first supine"), image phase encoding (Rows or Columns), Image Orientation Patient, as well as the gradients as reported in scanner coordinates.

neurolabusc commented 8 years ago

By the way, Paul Morgan provided sample datasets axial/sagittal and coronal images for GE https://www.nitrc.org/plugins/mwiki/index.php/dcm2nii:MainPage#Diffusion_Tensor_Imaging these are the same ones Xiangrui used to update his dicm2nii code. If anyone want to modify dcm2niix's geCorrectBvecs function to provide the same output as Xiangrui's get_dti_para for these images I would be happy merge the code into a new release.

If no one offers I will do it when I get some downtime (which may be a while). As I noted, I have not seen these images in the wild, and my software does generate warning messages, so it is not high on my priority list.

I am labeling this issue as an "enhancement", and will keep it open.

yarikoptic commented 8 years ago

Thank you for all the details -- very much appreciated! Note that many links to zipballs on https://www.nitrc.org/plugins/mwiki/index.php/dcm2nii:MainPage#Diffusion_Tensor_Imaging leading to e.g. http://www.mccauslandcenter.sc.edu/CRNL/sw/dcm2niix/ are 404 now :-/

neurolabusc commented 7 years ago

I think I fixed all the 404 errors on the NITRC web page. Thanks for the note.