{ "$schema":                "https://json-schema.org/draft/2020-12/schema",
  "$id":                    "https://schemas.mpai.community/TFA/V1.5/data/NeurophysiologicalSignalQualifier.json",
  "title":                  "Neurophysiological Signal Qualifier V1.5",
  "description":            "Sub-Types, Format, and Attributes of neurophysiological signals.",
                            "type": "object", "additionalProperties": false, "required": ["SubTypes", "Formats", "GroupMap"],
                            "properties": {

    "SubTypes":             { "type": "object", "required": ["EEG", "MEG", "fNIRS", "EOG", "Eye tracking"] }, 
                              "additionalProperties": false, "properties": {
                                "EEG":          { "type": "array", "items": { "type": "string" }, "minItems": 1, 
                                                  "uniqueItems": true, "default": [ "EEG – 10–20 system", "EEG – 10–10 system",
                                                  "High density EEG", "Wearable / mobile EEG" ] },
                                "MEG":          { "type": "array", "items": { "type": "string" }, "minItems": 1, 
                                                  "uniqueItems": true, "default": [ "MEG – magnetometers", "MEG – gradiometers",
                                                  "MEG – combined systems (e.g., VectorView type)" ] },
                                "fNIRS":        { "type": "array", "items": { "type": "string" }, "minItems": 1, 
                                                  "uniqueItems": true, "default": [ "Continuous wave fNIRS (CW fNIRS)",
                                                  "Frequency domain fNIRS (FD fNIRS)", "Time domain fNIRS (TD fNIRS)" ] },
                                "EOG":          { "type": "array", "items": { "type": "string" }, "minItems": 1, 
                                                  "uniqueItems": true, "default": [ "Horizontal/vertical EOG", "Blink detection EOG" ] },
                                "Eye tracking": { "type": "array", "items": { "type": "string" }, "minItems": 1, 
                                                  "uniqueItems": true, "default": [ "2D gaze tracking", "3D gaze tracking",
                                                  "Pupilometry (pupil size waveform)" ] } },

    "Formats":              { "type": "object", "required": [ "EEG – 10–20 formats", "EEG – 10–10 formats", "High‑density EEG formats", "Wearable EEG formats",
                                "MEG – magnetometers formats", "MEG – gradiometers formats", "MEG – combined systems formats",
                                "CW‑fNIRS formats", "FD‑fNIRS formats", "TD‑fNIRS formats", "EOG – H/V formats", "EOG – Blink formats",
                                "2D gaze formats", "3D gaze formats", "Pupilometry formats" ] }, 
                                "additionalProperties": false, "properties": {
      "EEG – 10–20 formats": { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, 
      "default": [ "BDF", "EDF", "EDF+", "FIF", "HDF5", "MFF", "SET", "TRC", "WFDB" ] },
      "EEG – 10–10 formats": { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, 
      "default": [ "BDF", "EDF", "EDF+", "FIF", "HDF5", "MFF", "SET", "TRC", "WFDB" ] },
      "High‑density EEG formats": { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, 
      "default": [ "BDF", "EDF", "EDF+", "FIF", "HDF5", "MFF", "SET", "TRC", "WFDB" ] },
      "Wearable EEG formats": { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, 
      "default": [ "BDF", "EDF", "EDF+", "FIF", "HDF5", "MFF", "OpenSignals", "SET", "WFDB" ] },
      "MEG – magnetometers formats": { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, 
      "default": [ "CON", "DS", "FIF", "HDF5", "RAW", "WFDB" ] },
      "MEG – gradiometers formats": { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, 
      "default": [ "CON", "DS", "FIF", "HDF5", "RAW", "WFDB" ] },
      "MEG – combined systems formats": { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, 
      "default": [ "CON", "DS", "FIF", "HDF5", "RAW", "WFDB" ] }, 
      "CW‑fNIRS formats":   { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, 
      "default": [ "HDF5", "NIRS", "OXY3", "OXY4", "SNIRF", "TSV", "WL1", "WL2" ] },
      "FD‑fNIRS formats":   { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, 
      "default": [ "HDF5", "NIRS", "OXY3", "OXY4", "SNIRF", "TSV", "WL1", "WL2" ] },
      "TD‑fNIRS formats":   { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, 
      "default": [ "HDF5", "NIRS", "OXY3", "OXY4", "SNIRF", "TSV", "WL1", "WL2" ] }, 
      "EOG – H/V formats":  { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, 
      "default": [ "BDF", "EDF", "EDF+", "HDF5", "MFF", "SET", "TRC", "WFDB" ] },
      "EOG – Blink formats":{ "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, 
      "default": [ "BDF", "EDF", "EDF+", "HDF5", "MFF", "SET", "TRC", "WFDB" ] },
      "2D gaze formats":    { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, 
      "default": [ "ASC", "EDF", "HDF5", "IDF", "PLDATA", "TSV" ] },
      "3D gaze formats":    { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, 
      "default": [ "ASC", "EDF", "HDF5", "IDF", "PLDATA", "TSV" ] },
      "Pupilometry formats":{ "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, 
      "default": [ "ASC", "EDF", "HDF5", "IDF", "PLDATA", "TSV" ] } },

    "GroupMap":             { "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": {
                              "subTypeGroup": { "type": "string" }, "formatGroup": { "type": "string" } },
                                "required": ["subTypeGroup", "formatGroup"] }, "minItems": 1, "default": [
      { "subTypeGroup": "EEG – 10–20 system",                 "formatGroup": "EEG – 10–20 formats" },
      { "subTypeGroup": "EEG – 10–10 system",                 "formatGroup": "EEG – 10–10 formats" },
      { "subTypeGroup": "High density EEG",                    "formatGroup": "High‑density EEG formats" },
      { "subTypeGroup": "Wearable / mobile EEG",              "formatGroup": "Wearable EEG formats" },
      { "subTypeGroup": "MEG – magnetometers",                "formatGroup": "MEG – magnetometers formats" },
      { "subTypeGroup": "MEG – gradiometers",                 "formatGroup": "MEG – gradiometers formats" },
      { "subTypeGroup": "MEG – combined systems (e.g., VectorView type)", "formatGroup": "MEG – combined systems formats" },
      { "subTypeGroup": "Continuous wave fNIRS (CW fNIRS)",   "formatGroup": "CW‑fNIRS formats" },
      { "subTypeGroup": "Frequency domain fNIRS (FD fNIRS)",  "formatGroup": "FD‑fNIRS formats" },
      { "subTypeGroup": "Time domain fNIRS (TD fNIRS)",       "formatGroup": "TD‑fNIRS formats" },
      { "subTypeGroup": "Horizontal/vertical EOG",            "formatGroup": "EOG – H/V formats" },
      { "subTypeGroup": "Blink detection EOG",                 "formatGroup": "EOG – Blink formats" },
      { "subTypeGroup": "2D gaze tracking",                    "formatGroup": "2D gaze formats" },
      { "subTypeGroup": "3D gaze tracking",                    "formatGroup": "3D gaze formats" },
      { "subTypeGroup": "Pupilometry (pupil size waveform)",  "formatGroup": "Pupilometry formats" } ] },

    "Attributes":           { "type": "object", "additionalProperties": false, "properties": {
      "ChannelNames":       { "type": "array", "items": { "type": "string" }, "minItems": 1 },
      "Units":              { "type": "array", "items": { "type": "string" }, "minItems": 1 },
      "SamplingRateHz":     { "type": "number", "minimum": 0 },
      "SensorLayout":       { "type": "string" },
      "Device":             { "type": "string" },
      "RecordingContext":   { "type": "string" },
      "ReferenceScheme":    { "type": "string" },
      "Montage":            { "type": "string" } } },

    "DataExchangeMetadata":      {"$ref": "https://schemas.mpai.community/AIF/V3.0/data/DataExchangeMetadata.json" },
    "Trace":                     { "$ref": "https://schemas.mpai.community/AIF/V3.0/data/Trace.json" },
    "DescrMetadata":             { "type": "string", "maxLength": 2048 } } }