DTI, averaging of b0 images

Hi, I have been performing tractography with Slicer 4.10.2 (Windows). I have to say the results have been super impressive.I would like to know how slicer deals with multiple b0 scans.
I have 63 volumes. Under “Volumes” module with the “DWI Component” slider, I see the b0 volumes are at #0, 31, and 62. The scans were done under sedation and there is no clearly detectable movement or eddy artifact.

– Does slicer average these b0 volumes?
If not, how can I do that?

– I am new to DTI, and I hope to publish my data. Is there a reference to the standard methodology that 3Dslicer uses? I am guessing it is not TBSS? I will also be checking my results with UKF, but should I just go right to UKF? My subjects have known white matter disease in the context of metabolic / mitochondrial disorders.

Lastly (and not a big issue) when converting exported DICOM diffusion volumes from the NilRead viewer, I get a lot of these errors:

Diffusion-weighted DICOM Import (DWIConvert) standard error:
E: can’t change to unencapsulated representation for pixel data
E: can’t determine ‘PhotometricInterpretation’ of decompressed image
E: mandatory attribute ‘PhotometricInterpretation’ is missing or can’t be determined…

Is that because the DICOM download needs a special header for 3DSlicer?

Thanks very much for your help.
John Kelly

Hi! There’s no need to average the b0 images. SlicerDMRI can use them all.

The use of DTI vs UKF tractography depends on your goal and on the type of scan. Let us know the b-values and number of gradient directions.

No Slicer does not use TBSS. Give us more of an idea of the goal and we can help with methods description.

Please try the dcm2nii module and let us know if the DICOM reading works better for you.

Thanks for the quick reply.

b-value is 1000 and 30 directions. Unfortunately Other scans will be at 10 directions, but still appears to have good results

The details of the study are complex, but the simple story is that we suspect there is near anatomical absence vs complete dysfunction of superior fasciculus pathways from the occipital lobe (based on volume loss in anatomical T1 /t2 imaging with additional evoked potential recordings). So the issue is providing evidence that the pathway is present (or not). With the same parameters (start and stopping thresholds modified to be lowered), we get excellent results for occipital lobe to temporal lobe, corpus callosum, cortico-spinal, even cerebellum looks great. So sensitivity is important here.

With Dcm2nii I get an error (I have replaced subjectID stuff with XXXXXXX)

Command ‘[u’C:/Users/jkelly/AppData/Roaming/NA-MIC/Extensions-28257/SlicerDcm2nii/lib/Slicer-4.10/qt-scripted-modules\\Resources\\bin\\dcm2niix’, ‘-1’, ‘-d’, ‘0’, ‘-f’, ‘tmp7jvaws’, ‘-o’, ‘C:/Users/jkelly/AppData/Local/Temp/Slicer/__SlicerTemp__’, ‘-e’, ‘y’, ‘-z’, ‘y’, ‘O:\\Slicer\\SM_Disconnect\XXXXXXX’]’ returned non-zero exit status 2

fyi, tried DICOM patcher - gives me
Examining .\xxxxxxxxxxxxxxxxx.dcm…
Writing DICOM…
Unexpected error: Invalid tag (0000, 0000): Unknown Value Representation ‘Po’ in tag (0000, 0000)

I’ll try other things…

You guys provide awesome support!

Let us know if you could import the DICOM despite the errors?

Also sensitivity varies dramatically from DTI to multi fiber UKF. It’s not possible to truly prove the absence of a tract using tractography. Certainly it can be compared to contralateral and statements about asymmetry can be made.

Yes, we are using the tractography as supporting evidence only. The controls under identical scan conditions are forthcoming. All of this is messy data as we retrospectively made an interesting discovery in these very unique subjects.

As for DCM conversion I am getting a little farther with MRIcron plugin, but for the most part will will likely skip using NilRead.

Thanks again.

@ljod and @ihnorton I also had problems running the Dcm2niixGUI module in Slicer 4.10.2 on Windows. I downloaded the 17mb DWI dataset from nitrc. After selecting the folder with the module and selecting “Apply” I was told to check the log for errors. The log reported:

('running: ', [u'C:/Users/rorde/AppData/Roaming/NA-MIC/Extensions-28257/SlicerDcm2nii/lib/Slicer-4.10/qt-scripted-modules\\Resources\\bin\\dcm2niix', '-1', '-d', '0', '-f', 'tmpa0_jyf', '-o', 'C:/Users/rorde/AppData/Local/Temp/Slicer/__SlicerTemp__', '-e', 'y', '-z', 'y', 'C:/Users/rorde/Desktop/Prisma'])

From the command line I could successfully run the same command:

C:/Users/rorde/AppData/Roaming/NA-MIC/Extensions-28257/SlicerDcm2nii/lib/Slicer-4.10/qt-scripted-modules\\Resources\\bin\\dcm2niix -1 -d 0 -f tmpa0_jyf -o C:/Users/rorde/AppData/Local/Temp/Slicer/__SlicerTemp__ -e y -z y C:/Users/rorde/Desktop/Prisma

With the following output

Chris Rorden's dcm2niiX version v1.0.20190927  MSC1900 (64-bit Windows)
Found 105 DICOM file(s)
Convert 21 DICOM as C:/Users/rorde/AppData/Local/Temp/Slicer/__SlicerTemp__\tmpa0_jyfo (72x72x36x21)
NRRD writer is experimental
Convert 21 DICOM as C:/Users/rorde/AppData/Local/Temp/Slicer/__SlicerTemp__\tmpa0_jyfp (72x72x36x21)
NRRD writer is experimental
Convert 21 DICOM as C:/Users/rorde/AppData/Local/Temp/Slicer/__SlicerTemp__\tmpa0_jyfq (72x72x36x21)
NRRD writer is experimental
Convert 21 DICOM as C:/Users/rorde/AppData/Local/Temp/Slicer/__SlicerTemp__\tmpa0_jyfr (72x72x36x21)
NRRD writer is experimental
Convert 21 DICOM as C:/Users/rorde/AppData/Local/Temp/Slicer/__SlicerTemp__\tmpa0_jyfs (72x72x36x21)
NRRD writer is experimental
Conversion required 1.059000 seconds.

Is it possible that dcm2niix returns non-zero exit status?

Does it work well in latest Slicer Preview release?

Is this image that you tested with? McCausland Center 3T Prisma (17mb)

Is there a problem only with this data set or with every data sets?

I’ve tested with McCausland Center 3T Prisma (17mb) data set and confirm that an error reported and no data was loaded. The issue is that dcm2niix created inconsistent header (data file refers to a subdirectory that does not exist; the .raw.gz file is in the same folder as the .nhdr):

# Complete NRRD file format specification at:
# http://teem.sourceforge.net/nrrd/format.html
# dcm2niix v1.0.20190927 NRRD export transforms by Tashrif Billah
type: int16
dimension: 4
space: right-anterior-superior
sizes: 72 72 36 21
thicknesses:  NaN  NaN 3 NaN
endian: little
encoding: gzip
data file: __SlicerTemp__\tmpminz0bd.raw.gz
space units: "mm" "mm" "mm"
space origin: (108,-84.4189,-56.132)

Slicer uses latest “development” branch version of dcm2niix. @Chris_Rorden it would be great if you could check if Slicer uses dcm2niix somehow incorrectly or a fix is needed in dcm2niix nrrd writer.

1 Like

The latest development build of dcm2niix fixes this issue. It was specific with NRRD files saved with Gzipped images on Windows and using ‘/’ rather than ‘’ in the file path.


Thank you for all of your fantastic and helpful responses on the discourse, Chris!!! It looks like we need to update the tag in our build process.

This tag will need to be updated twice, once for the dcm2nii module in the nightly and also in the same module for the release version of Slicer. (Ideally the release version would point to some stable version of dcm2niix. In Slicer 4.10, we are now using one of the releases that had been previously recommended.) This tag is currently handled in the extension description files documented here https://www.slicer.org/wiki/Documentation/Nightly/Developers/Extensions/DescriptionFile. The github for these is here

Currently the release 4.10 branch is using:
scm git
scmurl https://github.com/SlicerDMRI/SlicerDcm2nii.git
scmrevision 1c45a54

and also the master branch (nightly) is using
scm git
scmurl https://github.com/SlicerDMRI/SlicerDcm2nii.git
scmrevision master

Apologies for my slow responses. I am about to begin maternity leave for a few months. Isaiah has moved to an industry job now. Hopefully this information helps you or others test out what works best in my absence. Steve Pieper will be able to address some SlicerDMRI needs during my leave. @pieper

Thanks again for being a great part of this community, Chris!

Please disregard this last post–this is the revision for SlicerDMRI (not dcm2niix). That does seem to be pointing to development, though I thought I remembered pointing to a particular revision of dcm2niix. Apologies for pregnancy brain over here. Trying to wrap things up on my end quickly. Thanks again though.