DIPY--MRTRIX piping (filtering dipy streamlines with mrtrix)

Hello,

I am trying to filter streamlines created in dipy with mrtrix’s SIFT. I am having immense troubles however.

I am able to filter mrtrix-made streamlines with dipy’s LiFE. I am able to filter dipy with dipy, and mrtrix with mrtrix, but when trying to filter dipy-made streamlines with mrtrix’s SIFT, I am finding that essentially either there is nothing being filtered, or whole hemisphere is effectively filtered out.

This I believe is an issue with MRTrix not bringing the dipy .tck file to voxel space.

I looked at the metadata of dipy-.tck and mrtrix-.tck files, they are identical. Further, when plotting these unfiltered streamlines over dwi images, for the streamlines to be correctly plotted, both streamlines (dipy and mrtrix) have to be brought to voxel space with .to_vox().

Both streamlines are saved in RASMM space. I tried saving the dipy streamline in voxel space, this didn’t work. Any ideas / thoughts would be incredibly helpful.

Best,
Hank

Hi @hankghgold,

What software are you using to derive FODs? Not sure SIFT/SIFT2 will behave nicely with DIPY derived FODs without some tweaking.

Best,
Steven

Hello,

I am using DIPY FODs. Should i create them with the tournier07 basis? What would the necessary tweaking look like? The cost function is -nan%, which makes me think this is an issue of spaces.

Best,
Hank

Have you looked at streamlines and FODs (overlaid some anatomical image) in mrview?

I have been using the DIPY viewer, I will look at that tommorow / Monday. I looked at streamlines and b0 maps.

Best,
Hank

I tried creating them with the tournier 07 basis - no dice there. Plotting today.

Best,
Hank

Hello,
The dipy FODs and dipy streamlines plotted over one another look how’d you expect, but this is viewing them with dipy, not mrview.
Best,
Hank

Hi @hankghgold,

You will be able to convert your FOD from DIPY to mrtrix in the future DIPY release (1.9.0) via a function or command line. it should appear this week or next week.

if you are in a hurry, look at the end of this discussion dipy versus mrtrix CSD results · dipy/dipy · Discussion #2959 · GitHub

After converting your FOD, and using your streamlines (*.tck), I suppose mrtrix’s SIFT should work.

looking forward for your feedback

1 Like

Hello thank you.

I ended up creating my FOD’s in dipy with the tournier07 basis function, which according to dipy docs matches the current mrtrix basis implementation. This should be sufficient, yes? I know obviously that this doesn’t work for already created FODs.

Also, will creating the fods with this basis (tournier07 via dipy) mess up LiFE implementation?

Best,
Hank

This ended up working

2 Likes