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
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 thefnirs_rawandfnirs_odto 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
fnirs_rawtofnirs_amplitudefnirs_ac_amplitudeandfnirs_phaseQuestions
fnirs_raw, or are we best leaving as is and noting in comments that it corresponds to SNIRF fnirs_amplitudeIf we get some agreement here I will open a PR for this change in https://github.com/mne-tools/fiff-constants