This program reads gradient directions and b-values in FSL format and creates a Camino
scheme file.
The output is a BVECTOR scheme file:
VERSION: BVECTOR
g_x g_y g_z b
...
g_x g_y g_z b
A gradient vector [g_x, g_y, g_z] is stored for each measurement, along with a b-value.
These vectors will be normalized to unity automatically for b > 0 measurements. If b = 0,
the gradient direction may be [0 0 0].
Some Camino programs require b-values to be specified in SI units, which can be done by
scaling by a constant using the -bscale option. By default, no scaling is applied,
so units of diffusivity in DTI will be the same as in FSL's dtifit.
The b-values may additionally be scaled by the gradient direction magnitude. Some
scanners will factor the gradient magnitude into the b-value. This is normally taken care of
when the bvec / bval file is generated from the DICOM data, but if not, use the -usegradmod
option. The gradient directions will still be normalized to unity in the output, and the
b-value will be scaled appropriately.
EXAMPLES
Create a scheme file, keeping the b-values in native units.
where the gradient direction for measurement (i) is [x(i), y(i), z(i)], and there are M
unweighted and N diffusion-weighted measurements. A transpose of the above format may also
be used.
-bvalfile <bvals>
The file containing the b-values. This is a text file of format
where there are M unweighted (b = 0) and N diffusion-weighted measurements.
-bscale <factor>
Scaling factor to convert the b-values into different units.
-flipx
Negate the x component of all the vectors.
-flipy
Negate the y component of all the vectors.
-flipz
Negate the z component of all the vectors.
-interleave
Interleave repeated scans. Only used with -numscans. If this is selected, the
output will be interleaved, so you will have measurement 0 repeated numScans times, then
measurement 1, etc.
-zerobval <val>
Set an effective zero b-value, input b-values less than or equal to this are set to zero
in the output. This is needed for some Camino programs that normalize the input data by
dividing each measurement by the mean b=0 measurement.
This value is tested after any applicable scaling is applied to the bvals.
-numscans <number>
Output all measurements number times, used when combining multiple scans from the
same imaging session. The default behaviour is to repeat the entire block of
measurements, like you'd get from copying and pasting the scheme number times. If
-interleave is specified, then identical measurements are grouped together.
-usegradmod
Use the gradient magnitude to scale b. This option has no effect if your gradient
directions have unit magnitude. It should only be used if the actual diffusion weighting
is encoded in the gradient direction vector magnitude as well as the b-value. If the gradient
directions have magnitude |g| = sqrt(g_x^2 + g_y^2 + g_z^2), and the nominal b-value is beta,
then the actual b-value is beta * |g|^2.