MRtrix3 provides a set of tools to perform various advanced diffusion MRI analyses, including constrained spherical deconvolution (CSD), probabilistic tractography, track-density imaging, and apparent fibre density
Partly I want to write out the details here because they may be of relevance to other discussions. If anyone ever has a project where these nuances become important, it could be worth pursuing. But right now it remains very much a wishlist item. The proposal does however involve an alteration to the command-line interface, which could in and of itself be of utility.
Currently, tckgen provides two stand-alone tractography "algorithms" for estimation of connectivity null distributions. These are designed to yield the corresponding nulls for specifically iFOD1 and iFOD2. This distinction may be more important than first realised; for instance, nulldist1 would not yield an appropriate null for the tensor_prob algorithm, despite the latter being a first-order probabilistic algorithm.
What I think would be a more suitable structure would be to not have any null distribution tractography algorithms selectable at the command-line. Instead, there would be a global -null command-line option, which would activate the null distribution alternative of whatever tracking algorithm is otherwise invoked. In terms of implementation, this could potentially be achieved using a bool template parameter for each algorithm class, which branches based on the use or non-use of the input diffusion image data.
This would vastly decrease the risk of use of an inappropriate null.
Technically it would be possible to provide nulls for even deterministic tracking algorithms; indeed there's actually multiple ways that it could be done. Not convinced of the utility of it though.
Some algorithms involve building, for each streamline, the set of fixel orientations for the set of voxels from which that particular streamline requires a sample. This mechanism would need to be mimicked with random data in order to provide a suitable null for such algorithms.
Partly I want to write out the details here because they may be of relevance to other discussions. If anyone ever has a project where these nuances become important, it could be worth pursuing. But right now it remains very much a wishlist item. The proposal does however involve an alteration to the command-line interface, which could in and of itself be of utility.
Currently,
tckgen
provides two stand-alone tractography "algorithms" for estimation of connectivity null distributions. These are designed to yield the corresponding nulls for specifically iFOD1 and iFOD2. This distinction may be more important than first realised; for instance,nulldist1
would not yield an appropriate null for thetensor_prob
algorithm, despite the latter being a first-order probabilistic algorithm.What I think would be a more suitable structure would be to not have any null distribution tractography algorithms selectable at the command-line. Instead, there would be a global
-null
command-line option, which would activate the null distribution alternative of whatever tracking algorithm is otherwise invoked. In terms of implementation, this could potentially be achieved using abool
template parameter for each algorithm class, which branches based on the use or non-use of the input diffusion image data.