EEG registration with MRI from head points

Hello. I am trying to compute a headmodel from an EGI 256 net using the default Colin27 anatomy. I have the electrode locations file that contains 260 lines – 256 electrodes, a vertex, NAS, LPA, and RPA. When I import the electrode locations into brainstorm, I get only 256 locations, and the other four are lost or stored somewhere else that I don’t see. But when I try to align the electrode locations with the MRI, I get a warning that there aren’t enough headpoints for this. I’m not an expert brainstorm user, so perhaps there is something simple I’m missing, but it seems to me that brainstorm should recognize the NAS/LPA/RPA points on the EEG net and the MRI, and do a best-fit registration rather than a manual-only registration.

Any suggestions would be appreciated, and let me know if there is any more information I can provide (I’d also be happy to upload the .ced locations file if you’d like).

Thanks,
Mike

Hi Mike,

This is the correct behavior: you have 256 electrodes, ie. only 256 channels of data recorded from your EEG acquisition device.
The extra points (Nasion, ears, vertex) are use only for defining the spatial referential for the 256 electrodes. When you import this channel file in Brainstorm, it uses the NAS, LPA and RPA points to transform the coordinates of the electrodes into Brainstorm/SCS coordinate system. See: http://neuroimage.usc.edu/brainstorm/CoordinateSystems

After this step, when you display the electrodes positions (right-click > MRI registration > Check), the electrodes should appear "approximately" aligned with the head surface (ie. only a few centimeters off, not 3 meters away from the scalp, or oriented backwards, as it would be without this first automatic alignment step). Based only on three points, and because you are not using your subject's head, the registration cannot be perfect at this point.
Then you can refine this either manually or automatically.

But when I try to align the electrode locations with the MRI, I get a warning that there aren't enough headpoints for this. I'm not an expert brainstorm user, so perhaps there is something simple I'm missing, but it seems to me that brainstorm should recognize the NAS/LPA/RPA points on the EEG net and the MRI, and do a best-fit registration rather than a manual-only registration.

You get this message because you do not have extra head points from your subject head: you digitized only the 260 positions that you have in your file.
However, 256 points should be enough to perform this automatic registration.
To force the program to use the EEG electrodes as "extra head points": right-click on channel file > Digitized head points > View head points. Answer "yes" to the question, and then try again the automatic registration (right-click > MRI registration > Refine using head points)

However, as you are not aligning the points on the individual subject's head, I would personally recommend that you perform this registration MANUALLY. You will get something that probably better fits what you are expecting.
After solid transformations (Rotations + translations) of the EEG positions with respect with the head, you have two options to finish the preparation of your headmodel:

  • you project the electrodes positions on the scalp surface (one of the last button in the toolbar of the manual alignment window - read the tooltips)
  • OR you "warp" the Colin27 brain to your head points, to create a "pseudo-individual anatomy" for your subject. See: http://neuroimage.usc.edu/brainstorm/Tutorials/TutWarping

Cheers,
Francois

Ok, I got it. Thanks, Francois, for your help.

I just took the Brainstorm course in Seattle after OHBM. I found this thread as being close to what I want to do. The course was MEG-centric (of course), and I did not have a chance to try pure EEG-only electrode registration. In my case, I have individual MRIs, and individual 256 electrode location files (text). Actually, they also list the location of the Nas/LPA/RPA/Ref positions. The units may be in cm, but I can easily convert them to meters before importing into Brainstorm, and reorder the Ref and fiducials if need be. However, I cannot find in the tutorial how to import these 260 electrode/fiducial positions. I have read the page on coordinate systems, but none of those functions seem to fit what I want to do, that is, convert from real world coordinates to SCS coordinates.

Hi Jeff,

You can import this file directly from the database explorer. Create a subject (Yes, use one channel file per subject), right-click on “common files” > Import channel file > select your text file.
Now the tricky question is: what is the files format you are using for those files. You can try some of the available options and see if any of them gives you what you expect. After the import, you should see in “Common files” a channel file that shows in parenthesis the number of sensors you have in your recordings.
If you don’t, send me this text file by email, I’ll tell you what to do with it.

To refine the position / edit the cap after the file is correctly imported, right click on the channel file > MRI registration > Edit. Then read the tooltips of the buttons in the toolbar to understand what to do with the interface. You can add/delete channels with this interface.

To change the type or the name of one channel (from EEG to EOG for instance), right-click on the channel file > Edit.

Cheers,
Francois

I was able to import my channel file after messing around a bit. I had made some modifications to the EGI SFP format that BrnStm did not like, so I made it more like the original EGI-SFP file and it basically worked when I chose that file type. I do still have some questions about the labeling and handling of the Ref channel. I had to call it “Cz” to make it work right, then discovered I could change its type to “EEG REF”. But when I do that, it no longer displays it on the scalp surface with the rest of the electrodes. I also cannot figure out how to reconcile the 257 electrodes with the 256 channel data. When I export the EGI data in EGI-RAW format, it does not export the Ref channel (which is identically zero if I do not perform an averef inside NetStation), but I would like to have the Ref channel as channel 257. What I may be able to do is do the averef inside NetStation and then export as raw, and I should have all 257 channels. Barring doing this, can BrnStm do something similar?

Hi Jeff,

There is no way to edit the montage of the EEG and re-reference the recordings in Brainstorm yet. I will work on improving the EEG support at some point during the next few months.
You can just switch between the actual values saved in the file and the average reference (using the AVG REF button in the toolbar of the Brainstorm window).
This is a display option only, for the source modeling part, everything is converted to average reference anyways.
The is no modelling of the reference, setting the electrode as EEG REF would have the same effect as setting it as EOG: it just ignores it in the EEG display and processing.

With a high-density cap, I don’t think it would matter much if you chose a 256 cap with your current file, or a 257 cap with a newly exported .raw with 257 channels. The 257th electrode is not adding anything interesting to the model, it does not increase the rank of your data. You can try both options and check if there are any differences in the estimated sources with or without the reference channel.

The only important thing from the software point of view is to keep the same number of channels in the channel file and the recordings.

Cheers,
Francois