[ENH] BEP045: "Peripheral" physiology (raw data)#2267
[ENH] BEP045: "Peripheral" physiology (raw data)#2267smoia wants to merge 32 commits intobids-standard:masterfrom
Conversation
I'm not sure if a corresponding change should be made to modalities.yaml, I'm having trouble finding where the latter table is used by the compiler macros.
Incorporate physio BEP section 4 to physiological-recordings.md
Add physio as a datatype
Some checks on formatting (particularly for how I entered the allowable values) might be necessary here, I also added some comments on the BEP document to flag potential issues or changes we could make going forward.
| description: | | ||
| Amplifier settings during data acquisition (e.g. gain, sampling filters, bandwidth, etc.) | ||
| Strings MAY be represented in the format Setting:Value (e.g. Gain:10) | ||
| type: array of strings |
There was a problem hiding this comment.
| type: array of strings | |
| type: array | |
| items: | |
| type: string |
| from participant to recording device. A pseudonym can also be used to | ||
| prevent the equipment from being identifiable, so long as each | ||
| pseudonym is unique within the dataset. | ||
| type: string or array of strings |
There was a problem hiding this comment.
| type: string or array of strings | |
| anyOf: | |
| - type: string | |
| - type: array | |
| items: | |
| type: string |
| the sensor, connecting cables, and amplifiers. If more than one manufacturer | ||
| applies, list the manufacturer for each piece of hardware, in order | ||
| of attachment from participant to recording device. | ||
| type: string or array of strings |
There was a problem hiding this comment.
| type: string or array of strings | |
| anyOf: | |
| - type: string | |
| - type: array | |
| items: | |
| type: string |
| produced the measurements upstream of the recording device, including | ||
| the sensor, connecting cables, and amplifiers. Equipment should be listed | ||
| in order of attachment, from participant to recording device. | ||
| type: string or array of strings |
There was a problem hiding this comment.
| type: string or array of strings | |
| anyOf: | |
| - type: string | |
| - type: array | |
| items: | |
| type: string |
Removed example file structure for physiological recordings.
Add MeasureType descriptions section to documentation
Removed unnecessary code blocks and clarified recommendations for recording physiological data.
Added descriptions for various MeasureTypes related to physiological recordings.
Updates to src/modality-specific-files/physiological-recordings.md
Rebasing after Eyetracking BEP got merged
Some checks on formatting (particularly for how I entered the allowable values) might be necessary here, I also added some comments on the BEP document to flag potential issues or changes we could make going forward.
Fix some rebasing issues
| For any other data to be specified in columns, the column names can be chosen | ||
| as deemed appropriate by the researcher. | ||
| - The most important one is `MeasureType`, a **RECOMMENDED** metadata that indicates the actual nature of the data in the column. | ||
| - This metadata value is a string that **MUST** come from a set of keywords (see table 2.2). |
There was a problem hiding this comment.
| - This metadata value is a string that **MUST** come from a set of keywords (see table 2.2). | |
| - This metadata value is a string that **MUST** come from a set of keywords (see table 2.3). |
In the rendered PDF the Table for MeasureType appears to be table 2.3
|
Hi all 👋 I am popping over from #2342 . Long story short is we are working on a reader for BIDS compliant eyetracking data over at mne-tools/mne-bids#1512 , and we hit an issue that I think this PR may address with the addition of the The core issue is that eyetracking-specific So if I understand this PR correctly, the proposed @oesteban following up from our previous thread, I think the
Then, borrowing from my example in #2342, an example eyetracking TSV/JSON pair could look like this: # sub-01_ses-01_task-foo_run-01_recording-eye1_physio.tsv# sub-01_ses-01_task-foo_run-01_recording-eye1_physio.json{
"SamplingFrequency": 500.0,
"StartTime": 0.0,
"Columns": [
"time",
"xpos_left",
"ypos_left",
"pa_left"
],
"PhysioType": "eyetrack",
"RecordedEye": "left",
"SampleCoordinateSystem": "gaze-on-screen",
"time": {
"Description": "The timestamp of the data, in seconds.",
"Units": "s"
},
"xpos_left": {
"Description": "The x-coordinate of the gaze on the screen in pixels.",
"MeaureType": "EYEGAZE"
"Units": "pixel"
},
"ypos_left": {
"Description": "The y-coordinate of the gaze on the screen in pixels.",
"MeaureType": "EYEGAZE"
"Units": "pixel"
},
"pa_left": {
"Description": "Pupil area of the recorded eye as calculated by the eye-tracker in arbitrary units",
"MeaureType": "PUPIL"
"Units": "arbitrary"
}
} |
|
@scott-huberty please note your example is not BIDS-compliant after the BEP020 merge. This would be compliant:
Considering those, what's the difference between expecting the "type" metadata be encoded as an explicit In fact, to me, "coordinate" (for x/y) is way more expressive as a "type" than |
Sorry for the rebound. Just to add: it feels the column name is more authoritative than a metadata field that would need to be REQUIRED to be effective and need further description. Column names are already required, and can encode the same information just as well. |
I believe that I am following The Eyetracking specific physiological data spec as it is written:
So as I understand the Eyetracking specific physiological data specification, in the JSON sidecar There must be a Am I mistaken in that interpretation?
That would be true if the schema enforces a controlled vocabulary for the Column names. Is it the case that if pupil size data are in the TSV file, its column name must be |
|
Yes, it looks like Columns would be necessary. The intent was to do what's default in BIDS, so maybe we should revise this part of BEP020. @yarikoptic is more aware of this topic on other areas.
This is definitely invalid: timestamp, x_coordinate, y_coordinate are REQUIRED, and therefore, must always be there for any BEP020-compliant dataset. You can count on
As said before, it does. |
|
Ah ok so the column names are controlled..! sorry not sure why it took so long to get on the same page there.. Is it just me that finds it very confusing that eye-tracking is under the physiology modality -> generic physiology TSV files do not constrain column names (and hence require the |
I think BIDS' specifications could be clearer, no need to say sorry ;)
That's exactly what BEP020 contributed to BIDS. It provides a pathway to control for column names and metadata by providing a |
Clarified recommendations for file separation based on recording devices and metadata. Emphasized the importance of interpreting metadata correctly.
This BEP proposes an expansion of the raw physiological data section of the standard.
The main development is happening in https://github.com/physiopy/bids-specification-physio
To see the rule of engagements, see the discussion board.
To leave comments, engage with the physiopy repository (specifically, with its PR #32) rather than with this PR.
However, we're not really ready for reviews or comments yet, we are opening a draft just to have the HTML and schema json preview. We will communicate ASAP when we are ready for public engagement.