Skip to content

Modify NIRS FIFF types to support frequency domain NIRS and bring in line with SNIRF #7912

@rob-luke

Description

@rob-luke

Originally MNE supported two types of NIRS data, oxygenated and deoxygenated (fnirs_hbo / fnirs_hbr) haemoglobin. In #6674 we added support for continuous wave fNIRS and added the fnirs_raw and fnirs_od to represent the raw amplitude measurements and the derived optical density measurements.

@kylemath is now adding support for a frequency domain fnirs device in #7717 which requires a phase measurement type.

Also since 6674 the fNIRS community has released a common data format called SNIRF. In this format they have consulted the community and taken in to consideration many different NIRS measurements methods including continuous wave, frequency domain, gated time domain, diffuse correlation spectrsocopy etc. They have settled on a standard set of measurement types listed here https://github.com/fNIRS/snirf/blob/master/snirf_specification.md#appendix

I propose that we update our types and modify the FIFF types here mne-tools/fiff-constants#21 to best match the SNIRF specification. This will also make my upcoming implementation of a SNIRF reader easier. For our derived types of optical density and hbo/hbr these already match the SNIRF spec, so need to change those.

Could we

  • Change fnirs_raw to fnirs_amplitude
  • Add fnirs_ac_amplitude and fnirs_phase

Questions

  • Is it going to break backwards compatibility to rename fnirs_raw, or are we best leaving as is and noting in comments that it corresponds to SNIRF fnirs_amplitude
  • If we are to change fnirs raw, do we add a new coil type number? Or just rename the existing 302 value?
  • I have not proposed adding the SNIRF fluorescence types or diffuse correlation spectroscopy types as I dont know any commercial devices for these types or anyone that uses them. They can be added later. Or does someone want this?
  • Are there any issues with adding the two new types?

If we get some agreement here I will open a PR for this change in https://github.com/mne-tools/fiff-constants

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions