MUSC Siemens 3T Prisma MRI Banner Image

Frequently Asked Questions

How do I view the results?

DKE outputs images in a NIfTI format. There are several programs readily available online that are compatible with NIfTI: MRICron and ImageJ are two recommended software programs.

How do I analyze the results?

A typical output will contain the following set of parametric maps: Dmean (Mean diffusion), Dax (Axial diffusivity), Drad (Radial diffusivity), Kmean (Mean kurtosis), Kax (Axial kurtosis), Krad (Radial Kurtosis) and fa (Fractional Anisotropy). From here there are several things that can be done. One option is to execute a voxelwise analysis using software like FSL or SPM. Another option is to perform an ROI (Region of Interest) analysis. If a structural image is available, use software like freesurfer to segment the structural image into clinically important areas like the corpus callosum and the hippocampus. These regions can be overlaid on the parametric maps of DKE and be used as a mask. From here, these regional specific results can be imported into any computational software like Matlab, where a statistical analysis can be performed. If structural images are not available, use a standard labels atlas like the John Hopkins White Matter Labels Atlas (supplied with FSL and MRICron), which contains a set of clinically important brain labels. Once all images (DKE parametric maps and Atlas) are brought into the same space, use these labels as a mask for a statistical analyses. There are many different ways the DKE output can be used and the former are, of course, mere suggestions.

Which B values should be used?

When performing a DKI analysis you need at least 3 b-values, from which one is a b0 (i.e., b=0). Care needs to be taken when choosing your b-values. If the b-value is too low, there will be little change in your signal intensity and you results will be sensitive to noise. If it is too high the parameters are not estimated accurately (do to the neglecting of the higher order term O(b3)).4 Typically when performing a DKI analysis your b-values will be higher than for DTI (this is wanted because of the addition of the second order term in the equations). We found that using a maximum b-value of 2000 s/mm2 results in an accuracy of about 20percent or better for the diffusional kurtosis and a accuracy of roughly 7percent or better for the diffusion coefficient.4 (under the assumption that signal decay in the brain is biexponential). In practice the optimal choice is a compromise between precision and accuracy and for DKI using a maximum between 2000 s/mm2 and 3000 s/mm2 seems appropriate.4 If only a set of 2 b-values (a b=0 and a b non-zero) is available, DKE can be run with the option DTI only and then 2 b-values are sufficient.

What kind of gradient table does DKE expect?

When using the GUI, the current release DKE assumes that the gradient directions are the same for all nonzero B-values. For a protocol with 30 gradient direction, import a text file with a matrix of the size [30x3]. Each row corresponds to a gradient vector. A common tool to find the gradient table is dcm2nii. Before using the .bvec file as a user defined input, transpose the matrix (so every row corresponds to a Gx, Gy, Gz,) and remove the row that corresponds to the b=0 image (0,0,0). When using a 4D nifti as input, it is very important that the order of the images corresponds to the order of the gradient table. If a DICOM set is used DKE will order the images according to the information stored in the DICOM tag (0018, 0024) SequenceName.

If a different gradient set was used for each b-value, you can use the command prompt and run .dat file by specifying a X-(nbval-1) cell array of file names in the fn_gradients options, with each cell specifying the gradient file name for the corresponding nonzero b-value. More info on how to run DKE with the command prompt can be found in the manual under DKE help.

I am using a Phillips Scanner and my results appear to be wrong?

We have found that when using DKE protocol on a Phillips scanner it creates a trace image after each B-value (averaging of all three dimensional images). Make sure that these images are removed out of your folder when running DKE, as they have the same series in the description in the header DKE cannot recognize them. Again, dcm2nii has a special option for doing this. Make sure before running DKE that your images and gradient table are ordered in the same way (when using NifTI). If a DICOM set is used DKE will order the images according to the information stored in the DICOM tag (0018, 0024) SequenceName. Unfortunately some Phillips Scanners do not produce SequenceName tag and DKE will have to be run using a 4D NifTI.

All the parametric maps look correct, besides the FA map.

The functional anisotropy is very sensitive to inputting the correct gradient directions. When the FA map contains lower values than expected, there is most likely a mistake in the order of your gradient table.

The results have some areas that are very grainy/appears to have information missing?

Try processing the data with the weak filtering option or even no filtering. An outlier removal median filter with a 3x3x3 voxel window is applied to voxels that violate the minimum directional kurtosis constraints. Strong filtering will correct voxels where any constraint violation was detected. When one of the maps has an area with a lot of violating voxels, erroneous results can arise. We created a softer version of this approach called weak filtering. During weak filtering only voxels with less than 15 unviolated constraints will be filtered. When it is suspected that your data is of lower quality, it is recommended to set the filtering option to weak filtering.

I am using a 4D nifti when running DKE and my results appear to be wrong?

Several things might have happened. Please check the images in the 4D nifti are ordered in the right way. DKE expects the 4D nifiti to be build up like this: 1 b=0 image, all b(1) images, all b(2) images... When using multiple b=0 zero images or multiple averages, it is recommended to use the raw dicoms. If this is not possible, create your own averages (creating just one B0 image and only one set of B (1) images, etc.) first before running DKE (i.e with matlab).

Some of the diffusion-weighted images are not usable do to motion or table vibration artifacts.

When running DKE in the command window, in the .dat file you can specify which indices of gradient directions are to be used for the DKI map estimations. This can be specified in the parameter idx_gradients. For example, when using 20 gradient directions and the images created with the second gradient direction were unusable. Idx_gradients should be specified as: [1 3 4 5 6 7 8 10 11 12 13 14 15 16 17 18 19 20]. There must be as many cells as there are nonzero b-values. So when using 2 nonzero b-values; specify a Idx_gradient {1} and a Idx_gradient{2}.

How do I launch DKE in the command prompt and what are the advantages?

When running DKE in the command window several extra parameters can be fine-tuned. You will need to alter the DKE processing parameters file. This is created every time you run DKE using the GUI and is located in the same folder as your images. Open DKEParameters.dat using a text editor. Here you will be able to adjust the settings.

In the terminal window run dke by specifying both the path for DKE and your DKEParameters.dat file.

>"C:\Program Files\DKE\dke.exe" "C:\Users\Documents\Project1\DKEParameters.dat"

You can find details about how to use the parameter file in the manual under DKE help.

How do I use DKE with Bruker Data?

Bruker data right now is not supported in the GUI, so you will have to run DKE in the command window. Open DKEParameters.dat and change the preprocessing_options.format from dicom to bruker. You will also need to specify the coreg_flag and the navg. Make sure your method file is located in the same folder as your images.

How do I run DKE on Linux?

Open a terminal cd to the folder that contains the executable. Run dke with ./run_dke.sh