DTIs with multiple images per slice

I am having an issue where the DTIs that I have received from our imaging core are captured in such a way that there are multiple images per each slice. In other words when I open the file I will see the first slice several times captured as an FA value, then Trace of DTI, then A0 image, then Trace weighted image, DTI components, and all of the various eigenvector values. Then each of the following slices will follow this same pattern.

This makes is difficult to scroll through and analyze only one of these values. Is there a way I can sort the slices to only view one parameter at a time? Better yet, is there a way to transform this file set into something that would resemble the files in the DTI tutorials?

Please provide more information. What type of scanner? What file format do the files arrive in? Can you get access to the raw DICOM if they aren’t already? How do you import?

Taking a guess, it sounds like the files are being either loaded or converted without respect to file sorting. You may have different options depending on answers to the questions above.

As for extraction, if certain types of images are at consistent offsets then the easiest extraction method is to use python and select strided slices. Copy those into a new volume. Getting diffusion parameters may be trickier depending again on above questions.

e.g see this thread:

The scans are done a Bruker scanner (7.0T 20cm bore BioSpec MRI spectrometer). I receive the files in DICOM format (I believe they are generated through the paravision software). I can import the DICOM files directly using the the ‘Load DICOM Data’ option but the axes do not line up and the images are crooked. If I convert to .Nrrd using image J, then the axes will line up evenly and the images are properly oriented when I import to slicer. The guy from our MRI core gave me a macro to sort the images in imageJ and recommended doing my analysis manually through imageJ, but I was hoping to find a way to do it using slicer.

Ok, sorting the images in to separate folders would be a good start. If you pre-sort into separate folders before loading, it should be possible to get rid of the jumbled single volume. If you are able to load and split in ImageJ, you might be able to save as NRRD using e.g. BioFormats or one of the other plugins with NRRD support (but those probably don’t know about DWI metadata).

If ImageJ doesn’t provide folder sorting, then other options include this and this (same name, both Python, but different projects).

As for actually interpreting the data as diffusion, you will need a way to extract the gradient information. Some comments:

  • I don’t know what “Bruker diffusion DICOM” looks like. If you are really lucky, then Bruker is using the standard diffusion tags, and DWIConvert may just work – once you sort the files appropriately. (sample data would be very helpful if you are able to provide any. we got some sample data from someone else in June, but it did not appear to have any DWI metadata).

  • The most popular NiFTI DWI conversion tool, dcm2nii, can apparently read Bruker 2dseq style files with diffusion information, but I don’t know if it supports Bruker DICOM (again dependent on the tags).

  • DSI-Studio apparently also has some Bruker support (2dseq again?) but my vague recollection is that their interpretation of NiFTI DWI differs a little bit from the “FSL NiFTI DWI” that dcm2nii and compatible tools create/expect.

Hopefully something here is helpful to get started. If you do have shareable sample data I can take a quick look and maybe point you further along.

Another one to consider is dicom2nifti, which @fedorov recently pointed out. It appears to support some diffusion. Let us know what ends up working best for you.


Thanks for the suggestions guys. Using the macro I was provided I am able to separate the different parameters then export them as individual NRDD files. Will it be of any use to have these all as separate files? Currently I have 22 different NRRD files for the same brain giving me FA, Intensity, Tensor Trace, Tensor component XX ect. All of these files I can open in slicer and they look pretty good in terms of the orientation and all of the axes line up correctly.

I was not able to get anything useful using DWIConvert, dcm2nii, or DSI-Studio. I will try dicom2nifti once I find a good python compiler.

Any suggestions as to how I might be able to collate these 22 nrrd files into a single file?