Why does tckconvert create a mismatch?

I used tckconvert -scanner2voxel convert the tck to voxel space. But after process, I found the MRI image and fibers are not matched anymore.

My initial MRI image T1.nii is 1.25x1.25x1.25mm isotropic, and matched fiber.tck. But after I used

  1. mrresize T1.nii T1_1mm.nii -voxel 1 -force

  2. tckconvert fiber.tck fiber_1mm_vox.tck
    -scanner2voxel T1_1mm.nii -force

Anyone can help???

Hi Zifei,

The screenshot that you have provided is from mrview. When mrview reads the input streamlines data, it interprets them as being in scanner space, regardless of what processing has occurred upstream. By explicitly transforming the streamline vertices from scanner space to voxel space, then implicitly interpreting those data as being in scanner coordinates, there is an unintended but inevitable shift. The “conversion” does not set any flag internal to the file that says “these streamlines are in voxel space”; it just applies the spatial transformation to the vertex data.

If your tractogram data are indeed already “matched” to your image, then you would need to describe what it is that you desire to achieve by transforming the streamlines vertices from scanner coordinates to voxel coordinates. If your downstream application is itself another MRtrix3 command then it’s quite likely that a “conversion” including such a transformation is unnecessary.

Regards
Rob