Open roeysc opened 8 years ago
This is going to be a bug in the graphics driver. 2Gb is almost certainly going to be larger than can fit in your graphics card's onboard RAM, so at this point it's all down to how well the driver manages all this memory.
The reason it works in the previous version of MRtrix is that the old version relies on OpenGL 1.4 only, and consequently has to stream the track data through from the CPU for every render pass. This means the GPU RAM isn't being used heavily, it all remains on the system RAM. The new version however relies on OpenGL 3.3, which encourages data to reside on the GPU. This is fine when everything fits within the onboard RAM, but anything beyond that requires careful handling by the OpenGL driver...
So you can try using different drivers for your graphics card, see whether that makes a difference. I've been able to do this fine on my nvidia system using their proprietary drivers...
For the sake of visualising the tractogram, there's a couple of tricks you can use to decrease the required GPU memory. The obvious one is to display only a subset of tracks, using tckedit -number
. Perhaps a better option, since the track files from MRtrix 0.2 are very large due to the relatively small step size, is to use tckedit -downsample
to represent each streamline using less points, and therefore use less memory.
Thank you both for your helpful replies!
@roeysc, I assume we can close this? Did you manage to get things working?
Hi everyone,
I'm using Ubuntu 14.04 on a 64bit machine. I have a big tck file generated using MRtrix2 (its 2.1 GB), which I can display using the old MRview, but when I try to display it on the new version of MRview, the whole system gets stuck and I must reboot the machine (I'm aware of the orthonormality of the SH basis issues, but just moved to MRtrix3, so I was curious to see the changes made).
Do you think the tck file is just way too big for it to work properly? I am yet to test this with smaller files and with files generated using MRtrix3.
Many thanks, Roey