The B matrix and Siemens DICOM
This is a short note to explain the nature of the B_matrix
found in the
Siemens private (CSA) fields of the DICOM headers of a diffusion-weighted
acquisition. We try to explain the relationship between the B_matrix
and
the b value and the gradient vector. The acquisition is made with a planned
(requested) b value - say , and with a requested gradient
direction (supposedly a unit vector).
Note that here we’re using in the sense of an approximation
to a vector in space. Other people use for the same
concept, but we’ve chosen to make the exposition clearer.
For some purposes, we want the q vector which is
equal to . We need to be aware that
and may be different from the
and ! Though the Stejskal and Tanner
formula is available for the classic PGSE sequence, a different sequence
may be used (e.g. TRSE on Siemens Trio), and anyway, the ramps up and
down on the gradient field will not be rectangular. The Siemens scanner
software calculates the effective directional diffusion weighting of the
acquisition based on the temporal profile of the applied gradient
vector field. These are in the form of the 6 B_matrix
values
.
In this form they are suitable for use in a least squares estimation of
the diffusion tensor via the equations across the set of acquisitions:
The gradient field typically stays in the one gradient direction, in
this case the relationship between and the is as
follows. If we fill out the symmetric B-matrix as:
then is equal to the rank 1 tensor
. One of the ways to recover and ,
and hence , from
is to do a singular value decomposition of , where only one of the ,
say , is effectively non-zero. Then , and The choice of sign is arbitrary
(essentially we have a choice between two possible square roots of the
rank 1 tensor ). Once we have we can
calculate and . Various software packages
(e.g. FSL’s DFT-DTIFIT) expect to get 3 × N and 1 × N arrays of
and values as their inputs.