How to display a labelled 3D texture on the cortical surface

Questions about Anatomist manipulation

Moderators: denghien, riviere

Post Reply
cgrova
Posts: 1
Joined: Tue Oct 18, 2011 11:47 pm

How to display a labelled 3D texture on the cortical surface

Post by cgrova »

Hello everybody,

I d like to display as a 3d texture over the cortical surface which is a labelled texture. This is why I would need to prevent any interpolation between neighbouring vertices, i.e. a flat color over each triangle, is there a way to do it, I haven t found it ?

Thanks in advance

Christophe Grova
Dominique Geffroy
Site Admin
Posts: 161
Joined: Thu Mar 01, 2007 4:22 pm
Location: IFR 49 - Neurospin, Gif-sur-Yvette, France
Contact:

Re: How to display a labelled 3D texture on the cortical sur

Post by Dominique Geffroy »

Hello,

Could you give some details about how you display the textured surface ? Do you do a 3D fusion between a mesh and a volume or do you do a Textured surf fusion between a texture and a mesh ?

Dominique
User avatar
riviere
Site Admin
Posts: 1361
Joined: Tue Jan 06, 2004 12:21 pm
Location: CEA NeuroSpin, Saint Aubin, France
Contact:

Re: How to display a labelled 3D texture on the cortical sur

Post by riviere »

Hi Christophe,

You mean, not interpolate colors between regions, is that right ?
Actually OpenGL always interpolates textures colors, you have no way to prevent it on a texture (and anyway as textures colors are assigned to vertices, not polygons, there would be an ambiguity).
So there are only 2 options:
a. interpolate anyway, but in RGB space rather than in colormap space. This is generally more suited to label textures, and avoids strange and ugly strips at regions boundaries. This is done by setting the "RGB space interpolation" property in texture properties settings on the texture object. (it can also be set in the .minf file of the texture file)
b. split the mesh into several meshes according to the regions and assign them one single color (material) per mesh. There are functions to help doing so in the Aims library (either in C++ or in python, SurfaceManip.meshExtract() function), but not something already completely done, since there is the ambiguity problem to handle. Another possibility is to remesh by splitting existing triangles so that all existing vertices become the center of a new triangle which actually gets a single color.
If solution a is enough for you, it's simpler, of course...

Denis
Post Reply