Adding fNIRS Optode locations via MNE

Hi all,

I am trying to visualize the 3D positions of my optodes in MNE. I am using MNE v.0.24.1 and MNE-NIRS v.0.2.1. Although there is a lot of documentation on montage digitization (MNE & MNE-NIRS), I haven’t managed to get it working yet.

I am using the Artinis Brite II NIRS device with their recording software OxySoft. I am using the built-in function to digitize the optode locations with the spatial tracker (Polhemus Patriot). OxySoft returns the MNI coordinates of the optodes. Here is a link for the xlsx output with the MNI coordinates.

Does anyone know whether I’d be able specify the positions of the optodes once I’ve loaded the nirs data into MNE?

Cheers for any and all help,

Hello @liam_barrett and welcome to the forum!

I’m tagging @rob-luke, our fNIRS expert :grin:

1 Like

Hey @liam_barrett! Have you tried following this tutorial Importing data from fNIRS devices — MNE 1.0.0 documentation? Is there somewhere you get stuck or don’t have data from your particular device manufacturer?

Hey @alexrockhill, yeah I’ve tried this however, the data doesn’t seem to have the position data included. Currently I am exporting the data (in the .oxy5 format) to a .snirf file within OxySoft. The resultant data doesn’t seem to have the positions included within it however. I can load the 3D topographic map in OxySoft and export to standard MNI coords so, it must be saving my digitization’s.

Under the docs you suggested, there’s reference to using a custom montage & setting coord_frame to mri with the use of some kind of position file. I do not know how these position files are supposed to be formatted but, if there is an example one available I could use the data from the .xlsx file attached earlier to make one?

You can use mne.channels.make_dig_mongate(ch_pos, nasion, lpa, rpa, coord_frame='mni_tal') where ch_pos is a dictionary with channel names as keys and locations in meters as values and the fiducial points are lists or numpy arrays in the same format. You can add it to the raw and then save the raw or save the montage directly. Hope that helps!

1 Like

Hi @liam_barrett
Did the suggestion from @alexrockhill solve your issue?
If not, can you share an oxy, snirf, and xlsx file?