How to deal with DTI data and the problem of conversion from dicom to nii

thank you,I have learn a lot . I think I should chang it to 4d fsl version nii.

yes, the starting point of a diffusion MRI analysis is indeed a 4d nifti file.

dear jcohenedad , when I put the 4d nifti file into the SCT , It shows the :ERROR in Size of data (17) and size of bvecs (35) are not the same. Check your bvecs file. and ,what should I do for the data ??
If you have time ,please help me ,I will be very appreciative .
Thank you.

As the error message states, it looks like your bvecs file is not consistent with your input data. Apparently you only have 17 volumes in your DWI dataset, while your bvecs file is expecting 35 volumes.
If you send me your DCM i can give it a try,

okay,that is great , I will send you my DCM , Thank you a lot . TANG,_WING_KUN_WIP_DTI_thk7_breath-1_5_1.PAR (34.6 KB) TANG,_WING_KUN_WIP_DTI_thk7_breath-1_5_1.REC (3.2 MB)

These are Philips PAR data. As mentioned when running dcm2niix, PAR files are not actively supported, and dicm2nii is recommended instead.

I’ve tried converting your data with dicm2nii and it worked fine: (738.2 KB)

okay, thank you very much.

dear jcohenadad, thank you for your help , I have got the result . but I have a question, in the past, I used the matlab to deal with the dti , however I think the output data are different from the sct . I could not understand the meaning of the output data from the sct. could you tell me what is the fa and md , rd value from the output data ?



FA: Fractional Anisotropy
MD: Mean Diffusivity
RD: Radial Diffusivity

you can find more information in review articles about DTI, such as this one.

dear jcohenadad , the problem is the difference between matlab and sct, I don’t know which row is the data I want. this data are output of the matlab .

the problem is the difference between matlab and sct

I don’t know which software you are using in Matlab to process your diffusion MRI data, therefore I don’t know what difference you are referring to. Could you please be more specific as to what exactly you would like to quantify and compare?

okay, thank you for your patience. I am really grateful.

  1. I just put the my patient’s dti imaging to the dmri document , and the other documents stay the same that I downloaded from the course ,it it will affect the accuracy of my patient’s dti?
  2. after the output data came out , I don’t know which raw is the fa , md, ra value that I want.
  3. what value I want to get is the gray matter of my patient. but the output data shows the label region is white matter, if it means I should change the code of my script? if I should change , which line should I change? this is my (16.1 KB)
    that is all I want to ask . I wish you will not be confused. thank you very much.

I’m sorry but I don’t understand your question. Could you please rephrase?

Each row corresponds to a vertebral level. Depending on your research project, you might have specific hypotheses related to the vertebral level. You could also output a single value averaged across multiple levels, but again, it depends on your research project.

Use flag -l 52 instead of -l 51 from the function sct_extract_metric. All that is explained in the SCT course material, which I encourage you to follow.

dear jcohenadad , I just put the my patient’s dti imaging to the dmri document , and the other documents stay the same that I downloaded from the course ,it it will affect the accuracy of my patient’s dti?
it means only the imaging in dmri document is belong to my patient, the imanging in other document don’t belong to my patient. if it affects the accuracy of my patient’s dti in dmri document.
thank you .

i’m really sorry but i still don’t understand your question.

I want to explain , that I just put my patient’s dti imaging to the dmri document, and the other document is other patient’s(I don’t know who) imaging.( fmri, t1 ,t2 and so on). if I could get the right dti result of my patient?
my English is poor, please forgive me .

what do you mean by “I just put my patient’s dti imaging to the dmri document”. Did you mean folder? (instead of document)

if that’s what you meant, then you should not do that as the other images (t1, t2, etc.) are not from the same patient, and these data are used to process your dti data (e.g., warping field, etc.).

dear jcohenadad, thank you for your reply.
I think I have understood the sct.
1.I have the question. I have only one t1 imaging of c1-c7. however ,I have 3 t2 imaging (c1-c3,c3-c5,c5-c7),and 3 dti imaging (c1-c3,c3-c5,c5-c7). if I could put t1(c1-c7) in t1 folder, and t2(c1-c3) in t2 folder, dti(c1-c3) folder to calculate the dti (c1-c3) data ?
2. I think I have no the imaging of t2s ,what should I do? these are all imaging I have.

thank you .


you don’t absolutely need the T1 or T2 scan to compute DTI data. You could also register the PAM50 to your DTI scans without it, if you know the vertebral level of your DTI scans.

Now, if you want to use an anatomical image, you can either use the T1 or the T2 image, depending which one has the best spatial resolution (especially axial resolution). All these aspects are explained in the SCT course.

Regarding the 2nd question: as mentioned above, you do not need to have the T2s data in order to quantify the DTI data.


thank you ,
sct_register_multimodal -i $SCT_DIR/data/PAM50/template/PAM50_t1.nii.gz -iseg $SCT_DIR/data/PAM50/ template/PAM50_cord.nii.gz -d dmri_crop_moco_dwi_mean.nii.gz -dseg dmri_crop_moco_dwi_mean_seg.nii.gz -param step=1,type=seg,algo=centermass:step=2,type=seg,algo=bsplinesyn,slicewise=1,iter=3 -initwarp …/ t2s/warp_template2t2s.nii.gz -initwarpinv …/t2s/warp_t2s2template.nii.gz -qc ~/qc_singleSubj
This script need the t1 and t2, could you tell me how to avoid this?