fNIRS optodes location displaying on 3D plots

  • MNE version: 1.2.3
  • MNE-nirs : 0.7.3
  • operating system: macOS 15.5

Hello,

I’m trying to reproduce the averaging analysis conducted in this article after downloading the dataset :

“Luke R, Larson E, Shader MJ, Innes-Brown H, Van Yper L, Lee AKC, et al. Analysis methods for measuring passive auditory fNIRS responses generated by a block-design paradigm. Neurophotonics. avr 2021;8(2):025008.”

I’m essentially following the Waveform Averaging Analysis tutorial on mne-nirs’ website. I’m having some difficulties finding a way to plot my 3D montage with optode’s locations displayed in the 10-20 system just as fig.1 of the article.

I’ve managed to plot the 3D montage with the mne.viz.brain() and brain.add_sensors() functions but the exact locations aren’t displayed.

I’ve tried the mne_nirs.visualisation.plot_3d_montage function but i get “Could not automatically map source/detector names to 10-20 locations.”

There’s a ‘.tsv’ file for each subject in the dowloaded dataset mentionning [x, y, z coordinates] for each optode but i can’t get my head around how to translate that into 10-20.

Basically, how do i exactly know which optode is which and the channel associated with them in order to exactly monitor what i’m working on and what location it corresponds to, all along the script ?

Thank’s.

Hi,

I got a response during last MNE office hour, thank’s to M.Larson.

The optodes locations in the 10-20 system in R.Luke’s article might have been plotted manually. There isn’t a real way to do it in MNE’s toolbox at the moment from what i understood.

What we can do is plot the 2D montage with channels labels with raw.plot_sensors().

In parallel, we plot another 2D montage with 10-20 system’s locations with :

m=mne.channels.make_standard_montage("standard_1020")
m.plot(show_names=True)

Once we have both plots we just have to basically “eyeball” the connections between the sensors plot and the 10-20 plot.

Thank’s again.