Connectome node mesh visualisation problem


#21

OK, that doesn’t seem to be the issue. Feel free to send me the problematic file, by email or any other means: jdtournier@gmail.com, I’ll take a look when I have a minute.


#22

I just loaded your mesh file, everything seems fine on my system:

Screenshot%20from%202018-04-30%2014-47-38

I’ll try it with a debug build, see if that throws up anything…


#23

Hi mrtrix experts!

I have encountered the same problem.

For me, when i do label2mesh and mesh filter. None of the files produces any node.
I have tried to build mrtrix with various versions of Qt, including two qt4 and two qt5 versions with no difference.
I even did start debugging with Qt Creator GUI, but nothing.

Here is my openGL information and picture that i get.


#24

@martahedl: Could you try locally modifying the code according to @jdtournier’s suggestion? If this is a more general issue around text-string conversions in different locales, it might require a decent block of changes to MRtrix3, which will take a bit of work, so I’d like to know beforehand whether or not such a modification actually fixes the issue. @david142: You could try the same modification if you’d like.

Also, if anyone encountering the issue could provide the output of the locale command, that might help to determine whether or not we’re going down the right rabbit-hole.

More technical details on GitHub.


#25

Thank you for your brief answer!

I tried to modify the code according to @jdtournier 's suggestion, but it did not help :confused:

Output of the locale command:
locale
LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE=“en_US.UTF-8”
LC_NUMERIC=hr_HR.UTF-8
LC_TIME=“en_US.UTF-8”
LC_COLLATE=“en_US.UTF-8”
LC_MONETARY=hr_HR.UTF-8
LC_MESSAGES=“en_US.UTF-8”
LC_PAPER=hr_HR.UTF-8
LC_NAME=hr_HR.UTF-8
LC_ADDRESS=hr_HR.UTF-8
LC_TELEPHONE=hr_HR.UTF-8
LC_MEASUREMENT=hr_HR.UTF-8
LC_IDENTIFICATION=hr_HR.UTF-8
LC_ALL=


#26

Same for me. Here’s the output of my locale:

LANG=“de_DE.UTF-8”
LC_COLLATE=“de_DE.UTF-8”
LC_CTYPE=“de_DE.UTF-8”
LC_MESSAGES=“de_DE.UTF-8”
LC_MONETARY=“de_DE.UTF-8”
LC_NUMERIC=“de_DE.UTF-8”
LC_TIME=“de_DE.UTF-8”
LC_ALL=


#27

That’s strange. LC_NUMERIC for de_DE uses “,” as decimal separator (I’m not sure in the case of hr_HR).

In case it helps, the steps I made for solving the issue in three different Ubuntu/Debian machines were the following:

First, change the code in MeshMulti::load (src/surface/mesh_multi.cpp) replacing the line
sscanf (data.c_str(), “%f %f %f %f”, &values[0], &values[1], &values[2], &values[3]);
with @jdtournier’s sugggestion:

auto list = split (data);
for (int n = 0; n < 4; ++n)
values[n] = to(list[n]);

Finally, recompile mrview with ./build bin/mrview

Also maybe you can try to change LC_NUMERIC to en_US.utf8 in your system. I tried that and also does the trick for me.


#28

Thanks so much, Alberto. It was changing the LC_NUMERIC that finally did the trick for me:

Very cool :sunglasses:

Thanks again to you all, guys!
Cheers,
Marlene.


#29

Thanks all, that’s great to hear. We’ll make the necessary changes upstream - see the GitHub issue for details.

And thanks again for all your efforts to figure this out, I appreciate this stuff takes time!


#30

Alberto one extra thanks from me. Simply changing LC_NUMERIC to en_US.utf8 worked :slight_smile:

Thanks a bunch!


#31

@albertofpena, any chance you could confirm whether the locale handling changes discussed here (and now implemented in the latest 3.0_RC3 release) also fix the streamtubes rendering issue you initially reported? We have reports from other macOS users that this isn’t working, and we’re trying to figure out whether this might be related to the use of an ATI graphics card. If you also still have the issue, we’ll know it’s not that simple (assuming you’re using a Nvidia system, which you’re previous screenshot suggests).