{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n\n# Importing data from fNIRS devices\n\nfNIRS devices consist of two kinds of optodes: light sources (AKA \"emitters\" or\n\"transmitters\") and light detectors (AKA \"receivers\"). Channels are defined as\nsource-detector pairs, and channel locations are defined as the midpoint\nbetween source and detector.\n\nMNE-Python provides functions for reading fNIRS data and optode locations from\nseveral file formats. Regardless of the device manufacturer or file format,\nMNE-Python's fNIRS functions will internally store the measurement data and its\nmetadata in the same way (e.g., data values are always converted into SI\nunits). Supported measurement types include amplitude, optical density,\noxyhaemoglobin concentration, and deoxyhemoglobin concentration (for continuous\nwave fNIRS), and additionally AC amplitude and phase (for\nfrequency domain fNIRS).\n\n
MNE-Python stores metadata internally with a specific structure,\n and internal functions expect specific naming conventions.\n Manual modification of channel names and metadata\n is not recommended.
The SNIRF format has provisions for many different types of fNIRS\n recordings. MNE-Python currently only supports reading continuous\n wave or haemoglobin data stored in the .snirf format.
This method is not supported and users are discouraged to use it.\n You should convert your data to the\n [SNIRF](https://github.com/fNIRS/snirf) format using the tools\n provided by the Society for functional Near-Infrared Spectroscopy,\n and then load it using :func:`mne.io.read_raw_snirf`.
In MNE-Python the naming of channels MUST follow the structure\n ``S#_D# type`` where # is replaced by the appropriate source and\n detector numbers and type is either ``hbo``, ``hbr`` or the\n wavelength.
It is also possible to create a custom montage from a file for\n fNIRS with :func:`mne.channels.read_custom_montage` by setting\n ``coord_frame`` to ``'mri'``.