DiffusionTensorAnalysis

MLModule
genre DTIImageProcessing
authors Mathias Schlueter, Jan Klein
package FMEwork/Release
dll MLDTI
definition MLDTI.def
keywords DTI, Diffusion, Tensor, Analysis

Purpose

The module DiffusionTensorAnalysis provides for a diffusion tensor analysis based on diffusion weighted images.

Arbitrary gradient schemes are supported. Diffusion anisotropy, strength, orientation as well as tensor maps can be calculated from the diffusion weighted input images.

Usage

Connect an input image with diffusion weighted images encoded in the t-dimension to the input. Edit the gradient scheme used for diffusion weighting during acquisition in the field Gradients, which is part of the Gradients tab. Select the Parameters tab and choose an output mode and a diffusion mode.

The format of the gradient scheme has to correspond to that in the following example:

1.0 1.0 0.5
0.5 0.0 0.5
1.0 0.0 0.0
0.0 0.0 1.0
0.0 0.5 0.5
1.0 1.0 1.0

The B Value (s/mm^2) of the acquired diffusion weighted images can be set in the parameters tab.

It is also possible to use different b values for different gradients. This technique is used, e.g., in the paper

Optimized DTI for fibre bundles of known predominant orientation (ISMRM 2007)

To apply different b values, use an individual b value after each gradient, e.g.:

1.0 1.0 0.5 1000 0.5 0.0 0.5 900 1.0 0.0 0.0 800 0.0 0.0 1.0 700 0.0 0.5 0.5 600 1.0 1.0 1.0 500

Details

The number of gradients have to be equal to the number of diffusion weighted images encoded in the t > 0 components of the input image.

The diffusion unweighted T2-image has to be encoded in the t = 0 component of the input image.

If more than one B0 image is available, the B0 images have to be averaged before using this module.

Windows

Default Panel

../../../Projects/MLDiffusionMRI/Modules/MLDTI/mhelp/Images/Screenshots/DiffusionTensorAnalysis._default.png

Input Fields

input0

name: input0, type: Image

The input diffusion-weighted MRI data.

Output Fields

output0

name: output0, type: Image

Output image depending on the parameter selection, e.g., a tensor field, a vector field, or a FA map.

Parameter Fields

Field Index

B Value (s/mm^2): Integer Gradients: String
diffThreshold: Double Output Mode: Enum
Diffusion Mode: Enum Set output type to float: Bool
Diffusion Scale: Double  
evRegularization: Double  
Flip X components: Bool  
Flip Y components: Bool  
Flip Z components: Bool  

Visible Fields

Output Mode

name: outputMode, type: Enum, default: DiffusionProperties

Defines the output mode of this module.

Values:

Title Name Description
Diffusion Properties DiffusionProperties The output is a gray scale image, which encodes the diffusion property selected with the field Diffusion Mode.
All Eigenvalues AllEigenvalues

The output image has three u-components, which contain the three normalized eigenvalues of the diffusion tensor in descending order. Normalization means division by the value specified in the field Diffusion Scale.

The result is clipped at 1.

Linear Planar Spherical LinearPlanarSpherical

The output image has three u-components, which contain the linear, planar and spherical shape weights (CL, CP, CS) of the diffusion tensor multiplied by the diffusion strength, one half of the diffusion strength and one third of the diffusion strength, respectively.

For a definition of the diffusion strength see Diffusion Mode -> Strength. The linear, planar and spherical shape weight describe the shape of the diffusion tensor ellipsoid, which is defined by the three eigenvectors of the diffusion tensor multiplied by their eigenvalues. A high linear shape weight indicates an elongated, a high planar shape weight a planar and a high spherical shape weight a spherical diffusion tensor ellipsoid. For a detailed description see:

Alexander et al., A Geometric Analysis of Diffusion Tensor Measurements of the Human Brain, MRM 2000.
Diffusion Vector DiffusionVector The output image has three u-components, which contain the three components of a diffusion vector. The orientation of this vector describes the main diffusion orientation. The length of the vector is defined by the diffusion property selected with the field Diffusion Mode.
Diffusion Tensor DiffusionTensor The output image has 9 u-components, which contain the three eigenvectors diffusion tensor. The length of the vector is given by the corresponding normalized eigenvalue (see All Eigenvalues).
Tensor Precision TensorPrecision

The tensor precision shows the quality of the tensor fitting. Let denote:

D = (G^{T}G)^{-1}L (linear regression)
i=1, ... , N, N >= 6:
L \in R^{Nx1}, L_i = -(1/b) ln (S_i / S_0)
G \in R^{Nx6}, G_i = (g_1^i g_1^i, 2 g_1^i g_2^i, g_2^i g_2^i, 2 g_1^i g_3^i, g_3^i g_3^i)
D \in R^{6}, D = (D_{11},D_{12}, D_{22}, D_{13}, D_{23}, D_{33})

Then, L_i = \sum_{j=1}^{6} {G[i][j] D[j]}.

The tensor precision (measured as root mean square error) is defined as \sqrt{ 1/N \sum {L(i) ? LNNorm(i)}^2 } where LNNorm(i) is the logarithm of the diffusion weighted normalized voxels (calculated by the linear regression) and N the number of gradients.

Diffusion Mode

name: diffusionMode, type: Enum, default: FractionalAnisotropy, deprecated name: DiffMode

Sets the diffusion mode of this module.

Several further measures of diffusion anisotropy between zero and one can be selected, and for a detailed description see:

Alexander et al., A Geometric Analysis of Diffusion Tensor Measurements of the Human Brain, MRM 2000.

Values:

Title Name Description
Strength Strength

The sum of the eigenvalues of the diffusion tensor divided by three times the diffusion scale entered in Diffusion Scale.

The result is clipped at 1.

Fractional Anisotropy FractionalAnisotropy  
Relative Anisotropy RelativeAnisotropy  
Volume Fraction VolumeFraction  
Linear Linear  
Planar Planar  
Spherical Spherical  
Linear Planar LinearPlanar  
Elongation Elongation  
Direction Jitter DirectionJitter  

Diffusion Scale

name: diffScale, type: Double, default: 1, deprecated name: DiffScale

The parameter is only used for normalization of the eigenvalues if Diffusion Tensor or All Eigenvalues are used as output mode.

The eigenvalues are divided by the diffusion scale and are clipped at one. Thus, the diffusion scale should be always larger than the eigenvalues, but as small as possible to get differentiated output values.

Values of 0.003 may lead to good results.

Gradients

name: gradients, type: String, default: -1  0  1,  1  0  1,  0  1  1,  0  1 -1,  -1  1  0,  1  1  0,, deprecated name: Gradients

Sets gradients used for the diffusion weighting during DTI-acquisition.

The lines of the text field are the different gradients and the columns are the components of the gradients. Note that the B0 images have already to be averaged, i.e., the data set may include only one preceding B0 image.

The gradient for the B0 image must not be entered in the text field.

B Value (s/mm^2)

name: bValue, type: Integer, default: 1000

The b value (in s/mm^2) of the acquired diffusion weighted raw data. The standard value for most DTI sequences is 1000.

Set output type to float

name: forceFloat, type: Bool, default: FALSE

The output data type is equal to the input data type, if the parameter ‘Output Type = Float’ is disabled.

Otherwise, the output data type is float. Only if the output data type is of any integer type, the computed output voxel values are scaled to the min/max range of the integer type, because the originally computed output voxel values are in [0,1] and would be mapped either to 0 or to 1 otherwise.

Flip X components

name: xFlip, type: Bool, default: FALSE

Sets whether all x components of the gradient table are multiplied by -1.

Flip Y components

name: yFlip, type: Bool, default: FALSE

Sets whether all y components of the gradient table are multiplied by -1.

Flip Z components

name: zFlip, type: Bool, default: FALSE

Sets whether all z components of the gradient table are multiplied by -1.

Hidden Fields

evRegularization

name: evRegularization, type: Double, default: 1, deprecated name: EVRegularization

diffThreshold

name: diffThreshold, type: Double, default: 0, deprecated name: DiffThreshold