The number of voxels or some other form of hull of the tract as a rough proxy for tract volume
When it comes to assessing “connectivity” of a tract, generally we aim to characterise the cross-sectional area rather than the volume. The latter scales linearly with the length of the pathway, but changing the length of a pathway doesn’t really change its ability to transfer information. This is the kind of measure that the SIFT and SIFT2 methods aim to capture; as does the afdconnectivity
command (though this is prone to non-ideal behaviours, as I will eventually demonstrate in an article).
The ((relative) ‘energy/amplitude’ of the) lobes of the FOD traversed during tractography as a replacement for longitudinal diffusivity, so as to counter the effects of crossing fibers.
This sounds like you’re trying to re-invent Apparent Fibre Density (AFD) - specifically the modern definition of such.
The idea was maybe similar to the ‘reverse’ of what you did in Sparse re-parametrization of continuous Fibre Orientation Distributions using spherical harmonic delta functions, where you segment the FOD to get the fibers - I thought of using the fibers (from tractography) to pick the lobes of the FOD and aggregate their values (eg ‘lobe amplitude’, the scaling factor sz_f of the delta function in the decomposition at a given location, but take the mean/max/min … should be the same because ideally all tracts ‘used’ the same lobe).
I don’t think you’re looking for the “reverse” of that method: I think what you’re wanting is to perform FOD segmentation, but then use tractography to select which FOD lobes you wish to include in your calculation.
-
The fod2fixel
command is the one responsible for performing the FOD segmentation. It uses the algorithm described in the appendix of the SIFT paper. The ISMRM abstract you linked to is intended to be a “more advanced” version of this segmentation, which captures acute crossings and dispersion parameters, but is not yet available in MRtrix3. Nevertheless, the existing algorithm already provides the FOD “integral over the peak” as the measure of fibre density.
-
The tck2fixel
command will give you a streamline count per fixel. You can then apply a threshold to this to derive a “fixel mask”. This is the set of fixels from which you are going to sample / aggregate your measure of interest.
-
When aggregating such a measure along the volume of a tract, even if providing fixel specificity (i.e. not just taking some measure per voxel, but sampling only the appropriate FOD lobes), it’s still important to understand exactly what this measure represents. The FOD amplitude is not a measure of “anisotropy” analogous to FA that should be averaged across a tract; you can certainly do the mathematical operation and get a result, but that result does not represent a “mean anisotropy” of a tract. Each FOD lobe integral is (ideally) proportional to the volume of fibres oriented in that direction within the voxel. Therefore, taking the mean of such across a tract would give you something proportional to the mean volume of fibres within a voxel volume, averaged across those voxels where the fibre volume is non-zero. So it’s dependent on a lot of things…
The sum of those values would give you a tract volume that is not a straight 3D mask volume, but takes into account the potential presence of crossing fibres, and potential inhomogeneity in microscopic fibre density in different parts of the tract. This is actually how the afdconnectivity
command works. It is however a volume, which has the aforementioned pathway length dependence; hence why afdconnectivity
divides this volume by the mean streamline length.
But if I’m reading your answer correctly, tck2fixel does not really do that ‘segmented’ mapping from fiber to lobe, does it?
No, tck2fixel
maps tracks to fixels. You first need to have a set of fixels defined, which (typically) come from fod2fixel
.
Note that tck2fixel
doesn’t fit ideally with the MRtrix3 command naming convention here, since it doesn’t “produce” fixels from tracks. It’s a useful temporary solution until tckmap
gets the capability to map streamlines to fixels.