Open Lestropie opened 10 years ago
FYI @bjeurissen: Have a Masters intern student who is going to make an attempt at this. Feel free to jump in here with any suggestions.
One confound I'm thinking about now is that this issue was listed prior to MSMT. It will potentially be quite tricky to get a command-line interface for tckgen
that supports use of MSMT in bootstrap tractography. So we might omit that prospect for now and just focus on soft-constraint single-tissue single-shell CSD.
Below is what I think is a reasonable ordering of steps. May edit as we go.
[x] Initial addition and compilation of "new" algorithm as duplicate of existing algorithm
SD_STREAM
algorithm with new nametckgen
command-line interfacetckgen
compilesSD_STREAM
algorithm[ ] Have algorithm perform CSD internally
Unlike SD_STREAM
, which takes as input a pre-calculated FOD image, this new algorithm will take as input a DWI series, the CSD algorithm will be executed internally across the entire image, and this will then be used as the input for the SD_STREAM
algorithm.
tckgen
(this will be a requisite input whenever this algorithm is used)MR::DWI::SDeconv::Shared
classSD_STREAM
functions, but using the internally-calculated FOD image[ ] Introduction of bootstrapping to new algorithm
MR::DWI::Bootstrap
class as exemplified in the tensor_prob
algorithmtensor_prob
algorithm, bootstrap class replaces interpolation of FOD image for SD_STREAM
algorithm; therefore, for each streamline, a new bootstrapped FOD is generated only for those voxels traversed by that streamline[ ] Final modification of tckgen
.cpp
file and command-line interface
dwi2fod
command[ ] (Optional) Speed up execution of bootstrapping-based tractography algorithms by pre-calculating and storing the residuals for each voxel in an initial pass, and then utilizing those residuals to generate each bootstrap realization: https://github.com/MRtrix3/mrtrix3/issues/575
[ ] (Optional) Add to Bootstrap class the ability to specify the number of streamlines to be generated using a single bootstrap realization before that realization is discarded and a new one is generated
Apparently a number of people have asked Ben whether his bootstrapping tracking algorithm will be implemented in MRtrix. It will undoubtedly be much slower than other FOD-based algorithms, but still, it would be nice to have it there to play with. It may also be not too hard to implement with the Bootstrap class already implemented.