Suggestions on the accurate fibers

Dear Mrtrix community,

I am trying to figure the exact and accurate white matter pathways using the Xtract atlas, but I am not getting an optimal result, which I generally should expect with the pre-processing using the mrtrix, I am following the BATMAN tutorial and do have modified the commands accordingly,
I have registered the atlas to the subject space and I am getting the track as shown below on the cutoff values of .40, which is pretty high, still not getting the accurate tracks.

tckgen wmfod_normalise.mif -seed_image CST_xtract.nii -cutoff 0.40 -select 200k cst_xtract.tck

Meanwhile lowering the cutoff values gives me more unexpected result, we need to use this for the pre-surgical planning, please do suggest how can I improve this infiltered tracks.
I do not know what the problem, could be, is it related to the ROI, or is it with the data, BTW data is 64 direction data and have 1 b0 = 0 and and rest are 1000, in the tckgen command I do have tried to use the seed_cutoff option at lower and higher values, that too did not solved the issue.

Thank you.

Hi Nayan,

A comprehensive answer to this question would require a book chapter or more, so I need to limit how many possibilities I try to explain.

It’s not intrinsically clear exactly what it is about your data that makes the result “not accurate”. If you can explain some a priori expectation regarding what you expected the data to look like and then contrast that against what is actually produced, we can then assess that and determine whether it’s a misunderstanding of the processing, an mis-use of the software, or an intrinsic limitation of the technology / data.

My leading hypothesis is that you may be expecting the -seed_image option to do more than it actually does. Does your image “CST_xtract.nii” presumably contain a binary mask that encompasses the entire length & breadth of the CST? If so, then the streamlines generated will not be constrained to the CST. Each streamline will be seeded in the mask defining the CST, but each is then free to travel anywhere it wants to; this will include bundles that are either adjacent to or that genuinely cross the CST at any point, regardless of how stringent you make your FOD amplitude threshold, in addition to various false positives. If you want to constrain the entire streamline generation to correspond to only the CST—not only the locations at which the seed points are placed—this requires a greater amount of constraint. This could be adding exclusion regions to reject streamlines that traverse regions not corresponding to the CST, it could be completely constraining streamline propagation to only those voxels deemed to correspond to the CST (using the -mask option), or there are other possibilities also. Ultimately it is up to you to determine the appropriate configuration for the streamlines reconstruction to give you the result you want.

Cheers
Rob

Dear Rob, Thank you for you answer,

Yes indeed it contains the binary mask which has the entire length and breadth of CST.
As you said, I was also think of the same reason as you mentioned that streamlines will be generated from each and every voxel that is included in that mask.
Can you please guide me how can I use the -exclusion option here, since I had tried but failed, may be I am doing it the wrong way, in the -mask option if I give the same mask that was given under -seed_image option will it limit my streamlines to a same hemisphere?
I am pasting another tract which I have extracted using the same mask but on different dataset. I am expecting these kind of tracks

The operations of these options are described in the relevant section of the help page:

Can you please guide me how can I use the -exclusion option here, since I had tried but failed, may be I am doing it the wrong way, …

To use the -exclude option within the kind of approach you are employing (that is, bringing in WM volumetric segmentations from some other software), the approach here would be to identify segmented WM areas in which the streamlines nominally reconstructed for the CST should not traverse, and provide those as one or more masks via the -exclude option. So for instance, if you have a segment corresponding to the corpus callosum, you could provide that mask via -exclude, and the streamlines in the first screenshot attempting to cross the corpus callosum would be terminated and rejected.

… in the -mask option if I give the same mask that was given under -seed_image option will it limit my streamlines to a same hemisphere?

The -mask option will ensure that all streamline vertices reside within the mask you provide. Whether or not that limits streamlines to one hemisphere will depend on whether or not the mask you provide is limited to one hemisphere. If by “limit streamlines to the same hemisphere” you actually mean something more like “prevent streamlines from crossing the corpus callosum”, my first point above is a more tailored solution.

One limitation of providing a pre-segmented bundle mask via the -mask option is that you will have a lot of streamlines that exist entirely within that mask, but do not reach one or both endpoints of the bundle. Whether or not that is a problem may depend on your particular use case.

I am pasting another tract which I have extracted using the same mask but on different dataset. I am expecting these kind of tracks

I am wondering if perhaps this example “accidentally” obtains the kind of result you desire because the severe malformations present are precluding the generation of otherwise common false positives. On using the same approach on a healthy brain, these common false positives are then exposed. So rather than thinking about why the result from this malformed brain do not translate to a healthy brain, it would likely be more useful to think about the reconstruction in the healthy brain from first principles, i.e. from the interaction between the tractography algorithm and the data with which it is provided.

Cheers
Rob

Dear Rob,

Thank you for your answer and, I have tried using the -mask option with the tckgen and as you rightly said it created and lot of false positive and tried fitting the tracks inside the mask and using the -cutoff option with the -mask did gave me some what desired results, since I am trying the automate the whole pipeline from pre-processing to extraction of ROIs and generating the tracts, I do not think
-exclude function is good option for me. Since, CST is just a one example image, I am trying it for all 42 white matter pathways available in Xtract atlas. But one problem with the -mask option is it gives me a results based on the tract available in the atlas, such that it gives me a predefined results of the tract, and if tumor is present in the either of the hemisphere it shows me the tract going above of the tumor or lesion, I do not know how would I address that problem, and thinking again exclude option will work if I generate tracks one by and one and define the -exclude option with each tract that I generate.

I have tried using the -mask option with the tckgen and as you rightly said it created and lot of false positives …

I would have expected use of -mask rather than just -seed_image as in the original example to produce less false positives, given that it constrains all streamline vertices rather than just the seed points. You may get some streamlines “latching on” to crossing-fibre bundles within the mask, but they will be truncated as soon as they attempt to exit the mask.

using the -cutoff option with the -mask did gave me some what desired results,

It’s important to recognise what the -cutoff option is doing, even if you eventually decide to utilise it in your pipeline, as moving it too far to solve one problem may create another. In a way, it will “encourage” streamlines to follow dominant fibre orientations rather than potential diverging pathways; but take it too far and it will preclude reconstruction of the pathway of interest outright.

since I am trying the automate the whole pipeline from pre-processing to extraction of ROIs and generating the tracts, I do not think -exclude function is good option for me.

If you only want to use the provided binary ROI image of each tract and no other information, then yes, the -exclude option is not of much use to you. But typically good-quality targeted tracking requires more information to become good quality, such as incorporating tract-specific knowledge about where streamlines should not go.

But one problem with the -mask option is it gives me a results based on the tract available in the atlas, such that it gives me a predefined results of the tract, and if tumor is present in the either of the hemisphere it shows me the tract going above of the tumor or lesion, I do not know how would I address that problem

This is very much a question of what the atlas projection mechanism does. If derivation of that pathway binary mask image is erroneous, then it is exceptionally unlikely that you will be able to use streamlines tractography based on those data to produce a non-erroneous result.

Cheers
Rob

Dear Rob,

Thank you for your detailed response, unfortunately I do realize that it is a atlas in my pipeline which is creating a nuisance fibers, I went through this link to understand the cut-off option in much more detail and how it affects the data, there is nothing that I can do, apart from choosing other Atlas, which I do not think I would be doing and so I left it to the clinicians how they see and evaluate the results for the surgery from the tracts, because as far as I know, Mrtrix has the best algorithm for the tractography, and always gives the best results, I do have tried freesurfer pipeline as it is mentioned in the BATMAN tutorial, my results are totally fine, and I am very happy with my results from that atlas.