question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Biosemi64 montage and Nz as tip-of-nose

See original GitHub issue

Describe the problem

I use biosemi to record 64 electrodes with two additional electrodes: cheek and tip of the nose (as Nz). Previously, I loaded and applied the built-in montage: montage = mne.channels.read_montage('biosemi64', unit='mm', transform=True) raw.set_montage(montage, set_dig=True) It just informed me that cheek is not part of the biosemi64 montage and thus gets no position.

With the new DigMontage changes, I try using: montage = mne.channels.make_standard_montage('biosemi64') raw.set_montage(montage)

I get this error: ValueError: DigMontage is a only a subset of info. There are 2 channel positions not present in the DigMontage. The required channels are: [‘Nz’, ‘Cheek’]

After removing Cheek, I still get an error for Nz which should be a part of the biosemi64 montage. Only by removing both cheek and Nz the montage works.

Describe your solution

I want to be able to apply the biosemi64 montage to the electrodes that match the default montage and maybe provide additional positions for my other electrodes.

I realize that Nz is a fiducial and should not be used for the tip of the nose. However, its position is not important for its purpose as a reference later. The cheek is used to create a virtual eog channel (Fpz - cheek) and is deleted after preprocessing.

Describe possible alternatives

Add a description to the documentation how this can be done. I’m sure its a usual thing.

Additional context

Add any other context or screenshots about the feature request here.

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:11 (8 by maintainers)

github_iconTop GitHub Comments

1reaction
agramfortcommented, Feb 13, 2020

@Eklund89 you can do this:

import mne
file = "sample_raw.fif"
raw = mne.io.read_raw_fif(file)
montage = mne.channels.make_standard_montage('biosemi64')
raw.set_channel_types({'Nz': 'misc', 'Cheek': 'misc'})
raw.set_montage(montage)

basically we need to know the position of all EEG channels to set the montage. biosemi64 does not contain location for Nz or Cheek.

HTH

0reactions
cbrnrcommented, Apr 21, 2020

@Eklund89 I’m closing for now because we’ve provided some potential answers to your question. Feel free to re-open, or better yet, ask on our mailing list or Gitter channel because this is more a usage question.

Read more comments on GitHub >

github_iconTop Results From Across the Web

mne.channels.read_montage — MNE 0.15 documentation
Montages can contain fiducial points in addition to electrode channels, e.g. biosemi64 contains 67 locations. In the following table, ...
Read more >
How to add channels not present on DigMontage for reference
I checked that the standard montage for this cap on mne is 'biosemi64', composed by the 64 channels + 3 locations.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found