← Back to Course Home

DTI Tensor & Tractography Explorer

Diffusion imaging never measures a fiber. It measures how far water moved along whichever direction you pushed a gradient, then fits an ellipsoid to those numbers. This page walks that chain end to end: shape the tensor, watch the six gradient measurements it would produce, and then let streamlines follow the tensor field through a crossing — where the whole model quietly falls apart.

1. The diffusion tensor

Drag to rotate the viewpoint. Coloured rods are the three eigenvectors.

Fractional anisotropy
Mean diffusivity
(×10−3 mm2/s)
Linearity cl
Planarity cp
Sphericity cs
Direction-encoded colour

D = λ1v1v1T + λ2v2v2T + λ3v3v3T, in units of 10−3 mm2/s. FA = √½ · √[(λ1−λ2)2+(λ2−λ3)2+(λ3−λ1)2] / √(λ122232).

Red = left–right Green = anterior–posterior Blue = superior–inferior

2. What the scanner actually measures

A Stejskal–Tanner pair of pulsed gradients labels spins by position, then unlabels them. Whatever diffused in between loses phase and never comes back, so signal drops by S(g) = S0 e−b gTDg. One measurement gives one number. The tensor above has six independent components, so you need at least six non-collinear directions plus a b = 0 reference to solve for it.

3. Deterministic tractography, and where it breaks

A synthetic axial slice: a horizontal bundle (think corpus callosum) crossing a second bundle (think corticospinal tract). Background colour is the direction-encoded FA map. Click anywhere to drop a seed and integrate a streamline in both directions.

Field of view 180 mm streamline seed
Click the slice to launch a streamline.

Try this

Click inside the horizontal bundle near the left edge. The streamline runs cleanly along the bundle for about 76 mm and then stops dead at the intersection, reporting a turn of roughly 79°. Look at the FA map while it happens: there is a darker band right where the two bundles overlap, FA falling from 0.71 in the clean bundle to about 0.47 in the crossing. Two fiber populations inside one voxel average to a tensor that is flat rather than elongated — planarity cp above linearity cl — and a single ellipsoid has no way to say "two directions here". The fibers did not stop. The model ran out of description.

Now drop the FA threshold to 0.10 and try again. It does not help. This is worth sitting with, because the intuition that low FA is what halts tracking is only half right. FA in the crossing is still about 0.47, comfortably above either threshold. What stopped the streamline was the direction, not the magnitude: where the second bundle starts to dominate the voxel, the principal eigenvector flips by nearly 90° in a single step, and the curvature limit rejects the turn. Anisotropy tells you a fiber is present. It does not tell you the tensor picked the right one.

Raise the maximum turning angle to 90°. The streamline now survives the crossing — and immediately runs down the vertical bundle and out the bottom of the slice. It has connected the left side of the brain to the inferior slice edge, two regions with no anatomical connection whatsoever. This is the false-positive failure mode, and it is far more dangerous than stopping early, because the output looks like a perfectly plausible tract. Nothing in the resulting image flags it as fabricated.

Slide the second bundle's fiber density down to 0.6×. The horizontal bundle now dominates the shared voxels, so tracking sails through and the tract looks beautiful. Nothing about the anatomy changed — only the relative volume fraction. Whether a deterministic algorithm finds your tract can hinge on which population happens to win the voxel, which is a property of the acquisition and the tissue mixture rather than of the connection you are trying to measure.

Sweep the crossing angle from 0° to 85°. Near 85° the bundles are almost parallel, the summed tensor stays cigar-shaped, and streamlines pass without incident. The failure is worst at true perpendicular crossings, which is exactly the geometry of deep white matter where the corpus callosum, corticospinal tract, and superior longitudinal fasciculus intersect. Roughly a third of white-matter voxels at typical resolution hold more than one fiber orientation, which is why the field moved on to HARDI, q-ball, and constrained spherical deconvolution — models that allow several peaks per voxel instead of one ellipsoid.

Compare Euler with Runge–Kutta at a 3 mm step, with the crossing angle around 40° so the field genuinely curves. Euler's first-order error cuts corners and drifts off the bundle; RK4 samples the field four times per step and holds the curve. Then set the step to 0.2 mm and note that neither integrator is any better informed — sub-voxel steps interpolate a field whose real resolution is still the size of a voxel. A smoother line is not a more accurate one.