In the following, we use the files contained in BV_GIFTI.tar.gz (BrainVISA examples), available from the NITRC website.
>> % Read the GIfTI surface file
>> g = gifti('sujet01_Lwhite.surf.gii')
g =
vertices: [22134x3 single]
mat: [4x4 double]
faces: [44264x3 int32]
normals: [22134x3 single]
>> % Read the GIfTI shape file
>> gg = gifti('sujet01_Lwhite.shape.gii')
gg =
cdata: [22134x1 single]
>> % Display mesh
>> figure; plot(g);
>> % Display mesh with curvature
>> figure; plot(g,gg);
In a similar way, a gifti object can be created from scratch and saved to a file:
>> % Load a MATLAB example dataset and convert it into GIfTI
>> load mri
>> Ds = smooth3(squeeze(D));
>> g = gifti(isosurface(Ds,5))
g =
faces: [32310x3 int32]
vertices: [16564x3 single]
mat: [4x4 double]
>> % Display the surface mesh
>> h = plot(g);
>> daspect([1,1,.4]); view(45,30); axis tight
>> lightangle(45,30);
>> set(h,'SpecularColorReflectance',0,'SpecularExponent',50)
>> % Save as a Base64Binary GIfTI file
>> save(g,'mri.surf.gii','Base64Binary');
This will have created the file mri.surf.gii in the current directory.
(Myaa was used to generate the anti-aliased graphics above)