Register Revopoint .obj surface to MRI

Hi,

I have the latest version installed. I have bought a Revopoint Range 2 to scan a patient head and extract electrode positions, and it works just fine, even if the EEG cap is not supported for the automatic label detection and it is quite time consuming. I found an algorhythm online that tries to find electrode location from the curvature values of the surface generated when importing the .obj, and still. However, when importing the surface file .obj, with Import surfaces –> Wavefront obj, the MRI and the imported surface are not aligned. Is there a way to set NAS, LPA and RPA on the surface file in order to compute the alignment to the MRI and obtain the right coordinates for electrode positions? Essentially, it is the first part of Digitize 3D Scanner workflow, but I don’t know how to register MRI and imported surface, since it does not have any registration sphere.

Moreover, how do I compute curvature values on this surface?

Thanks in advance,

Luca

This is expected since they have in different coordinate systems.

After you import the Wavefront .obj surface, there are two ways to do so:

A) Using the Digitizer panel.

  1. Right-click the imported Surface, then select Digitize (3D scanner)
  2. Set the fiducials NAS, LPA and RPA as in the 3Dscanner tutorial
    https://neuroimage.usc.edu/brainstorm/Tutorials/TutDigitize3dScanner
  3. In the digitizer window go to File > Save in database and exit

B) Registering Surface to MRI
(Update your Brainstorm to get this option, as it was recently added, commit: c50ee58)

  1. Right-click the imported Surface, then select MRI registration > Align surface to MRI
  2. Set the Fiducial in the new figure. Click on the [NAS] button, then click on the surface in that location, the fiducial will be updated.
  3. Repeat Step 2 for LPA and RPA
  4. Close the figure to save the changes.

This can be done with the function tess_curvature.m, it requires the vertex connectivity and the vertex normals that are computed with tess_vertconn.m and tess_normals.m respectively.

Take a look how this is done in the function in_tess_bst.m

Hi @Raymundo.Cassani ,

Once again, thanks for your fast and precise response. I was able to apply both methods once Brainstorm was updated, and they work perfectly.

Just one curiosity: I can compute tess_curvature from script and extract curvatures in the Matlab workspace, but is there a way to do that from GUI and have the surface file with everything in it?

From the GUI it's simpler:

Just double click on the imported surface, to open it and plot it. When it is open, Brainstorm will compute the vertex connectivity, vertex normals and curvature and save them in the surface file. From here, you can export it to Matlab, by right-click on the surface, then File > Export to Matlab