Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ENH] add optional presentation software name, version, OS, and code to events.json #573

Merged
merged 36 commits into from
Sep 15, 2020

Conversation

Remi-Gau
Copy link
Collaborator

Mentioned in #558

Another low hanging fruit of metadata to add to any json for anything that involves presenting stimuli to a participant.

One question: should something like this be included in for beh json files out of internal consistency?

@sappelhoff
Copy link
Member

@bids-standard/bep_leads please review this proposal

@robertoostenveld
Copy link
Collaborator

I like the proposal.

I do believe that StimulusPresentationXXX would be better (i.e. more commonly used) than StimuliPresentationXXX. That is also what returns more hits if you Google for an exact match, or if you search on PubMed for exact matches (like this).

should something like this be included in for beh json files out of internal consistency?

Yes, I think it should. However, there is more information missing from behavioural-only datasets, e.g. InstitutionName or TaskName are also missing. Since there is no JSON for the behavioural recording itself (only an optional data dictionary for the events table), it is not obvious to me where it should be represented.

@Remi-Gau
Copy link
Collaborator Author

I do believe that StimulusPresentationXXX would be better (i.e. more commonly used) than StimuliPresentationXXX. That is also what returns more hits if you Google for an exact match, or if you search on PubMed for exact matches (like this).

Good point. Will update.

- change stimuli to stimulus 
- remove additional :
- add comma
@Remi-Gau
Copy link
Collaborator Author

Yes, I think it should. However, there is more information missing from behavioural-only datasets, e.g. InstitutionName or TaskName are also missing. Since there is no JSON for the behavioural recording itself (only an optional data dictionary for the events table), it is not obvious to me where it should be represented.

I believe all of this should be part of another PR, no?

@robertoostenveld
Copy link
Collaborator

I believe all of this should be part of another PR, no?

Indeed. I think that PR should consolidate Task Events (5) and Behavioural experiments (7) and make Behavioural data a first-class citizen.

@nicholst
Copy link
Collaborator

Agree with @robertoostenveld that the repetition of the Behavioural data descriptions is not good, but not sure what making it a first-class citizen entails.

Would all Behavioural data for all modalities live in "Modality specific files -> Behavioral data"?

@robertoostenveld
Copy link
Collaborator

I also don't know what it would entail but know that according to the spect "behaviour without fMRI" (and also without MEG, EEG and IEEG) is now allowed to be stored in a BIDS dataset. However, that now results in a very underspecified dataset with hardly any metadata. It would be relevant to consider how the relation of behavioural data to functional/biological data is optional, as is the joint (whether simultaneous or not) recording of multiple other data types (e.g. MEG with an anatomical MRI). This is a discussion (on "multi-modal") we had before on the mailing list but that has not resulted in visible improvements to the specification.

But I think that this discussion falls outside the scope of this PR and might better be discussed in the format of a full-fledged BEP.

@Remi-Gau
Copy link
Collaborator Author

But I think that this discussion falls outside the scope of this PR and might better be discussed in the format of a full-fledged BEP.

I agree. So we "just" need a volunteer to take the lead on that...

@poldrack
Copy link

poldrack commented Aug 17, 2020 via email

@Remi-Gau
Copy link
Collaborator Author

note that there is a parallel effort called Psych-DS ( https://psych-ds.github.io/) that is working on a BIDS-like spec for behavioral data. so before going down the road of a full-on BEP we should consider whether we might instead try to adapt Psych-DS or at least work in parallel so that our efforts are aligned.

Yup I keep thinking of psych-DS every time we talk about behavior-BIDS. The way I would see the behavioral support in BIDS would have to be very minimalist IMHO and simply make sure that for example things that are included in all the JSON of all other modalities, should make be also supported for the behavior-BIDS. But might be worth even just clarify that amongst us and with Psych-DS.

@emdupre
Copy link
Collaborator

emdupre commented Aug 17, 2020

we should consider whether we might instead try to adapt Psych-DS or at least work in
parallel so that our efforts are aligned.

Strong +1 from me.

The way I would see the behavioral support in BIDS would have to be very minimalist IMHO and simply make sure that for example things that are included in all the JSON of all other modalities, should make be also supported for the behavior-BIDS.

I think this makes sense. But having a conversation earlier than later with PsychDS might be helpful, too. For example, the set of minimal meta-data we'd want for movie-watching stimuli (like the EAN of the used DVD) will be very different than for a standard cognitive task. And it's not an uncommon use case for BIDS !

@poldrack
Copy link

looping in @mekline to start the conversation

Fix remi's inabilities to tell the the difference between a Z sound and a S sound. Typical french thing.
@mekline
Copy link

mekline commented Aug 17, 2020

Hi all, thanks for tagging me in. I would be very open to making PsychDS work well for BIDS, or otherwise aligning as far as possible! PsychDS was originally inspired by BIDS, so I'm very happy to see there's some interest here! A couple initial notes, and I'd love to set up a longer conversation as well.

  • The primary goal of PsychDS is to make minimal metadata and data structuring accessible to psychologists without extensive training in a particular programming language, and to provide a common starting point for people developing experimental/analytic software. The 'modal' user might be someone who runs experiments without a presentation script or scripted data collection, but instead e.g. hand-coding of responses into a spreadsheet (or alternately, someone who works with idiosyncratically structured data from a 3rd party and needs to build a robust analysis pipeline).

  • Compared to BIDS, the types of data I've been encountering are both much smaller, and much less regular (in experimental structure, types of information captured, and level of 'processing' in the initial available state) than fMRI data. We do aim for this behavioral output (whatever it might be) to be the 'first class citizen' of the specification, if that's a useful distinction.

  • We are focusing right now on building the validator app, and we could really use help with it! The basic technical infrastructure is a javascript core that will power both an R package and a browser version (https://github.com/psych-ds/validator-prototype).

Copy link
Collaborator

@effigies effigies left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small comments... Haven't reviewed in general.

Co-authored-by: Chris Markiewicz <[email protected]>
@Remi-Gau
Copy link
Collaborator Author

Hi all, thanks for tagging me in. I would be very open to making PsychDS work well for BIDS, or otherwise aligning as far as possible! PsychDS was originally inspired by BIDS, so I'm very happy to see there's some interest here!

@mekline Thanks for the update. 😄

I am thinking that maybe members of the BIDS and psych-DS community who are interested could have a video meeting to maybe figure out how to best coordinate our efforts, no?

@mekline
Copy link

mekline commented Aug 18, 2020 via email

@Remi-Gau
Copy link
Collaborator Author

Definitely - I"m guessing this github issue isn't the best channel to reach all interested parties - should I write to bids-discussion, or is there some better place to reach likely interested people?

Yup I think that the bids-discussion is the best AFAICT and then we can spread the words in other channels if we set up a video call or something. :-)

@Remi-Gau
Copy link
Collaborator Author

Remi-Gau commented Sep 3, 2020

@effigies I believe that the number of files changed is now equal to 1. 😉

Copy link
Collaborator

@effigies effigies left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Mostly formatting suggestions. Significant rewording suggestion for one field.

src/04-modality-specific-files/05-task-events.md Outdated Show resolved Hide resolved
src/04-modality-specific-files/05-task-events.md Outdated Show resolved Hide resolved
src/04-modality-specific-files/05-task-events.md Outdated Show resolved Hide resolved
src/04-modality-specific-files/05-task-events.md Outdated Show resolved Hide resolved
src/04-modality-specific-files/05-task-events.md Outdated Show resolved Hide resolved
src/04-modality-specific-files/05-task-events.md Outdated Show resolved Hide resolved
src/04-modality-specific-files/05-task-events.md Outdated Show resolved Hide resolved
Co-authored-by: Chris Markiewicz <[email protected]>
Co-authored-by: Chris Markiewicz <[email protected]>
@CPernet
Copy link
Collaborator

CPernet commented Sep 9, 2020

@Remi-Gau @poldrack @robertoostenveld @mekline is there another thread/doc open somewhere?
happy to help structure better behavioural data -- I, for instance, made a tool to read spreadsheets and spit out participants.tsv and particpants.json to indeed help as much as possible people (easier to edit particpants.json that to create without making mistakes, like missing {} , ; etc)

@Remi-Gau
Copy link
Collaborator Author

Remi-Gau commented Sep 9, 2020

@Remi-Gau @poldrack @robertoostenveld @mekline is there another thread/doc open somewhere?
happy to help structure better behavioural data -- I, for instance, made a tool to read spreadsheets and spit out participants.tsv and particpants.json to indeed help as much as possible people (easier to edit particpants.json that to create without making mistakes, like missing {} , ; etc)

There is no other public thread as far I know. Will open one on the BIDS google group now to keep things separated because this PR is starting to resemble to my kitchen after I try making bread.

@ChristophePhillips
Copy link

@CPernet Happy to help on participants information import.
Got to deal with that too... sharing resources and maintaining some efficient tool seems a good way to proceed.

@Remi-Gau
Copy link
Collaborator Author

Remi-Gau commented Sep 9, 2020

@CPernet Happy to help on participants information import.
Got to deal with that too... sharing resources and maintaining some efficient tool seems a good way to proceed.

@CPernet @ChristophePhillips might be worth seeing if some of that can be integrated into bids-matlab

@bids-standard bids-standard deleted a comment from sappelhoff Sep 10, 2020
@Remi-Gau
Copy link
Collaborator Author

  • Updating the glossary of the BIDS starter kit so we can link to specific words: ✔️
  • Moving URI link in the link section: ✔️
  • Updating DOI: ✔️
  • Nuking one of @sappelhoff comments because it somehow showed twice on my browser: ✔️ (let me know if you want me to get it back)

Not sure what's left on that one. Let me know.

Copy link
Member

@sappelhoff sappelhoff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am +1 for merging. The uri link can be improved upon in the following PR related to #601

@sappelhoff
Copy link
Member

@hoechenberger fine with you?

Copy link
Collaborator

@hoechenberger hoechenberger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Copy link
Member

@sappelhoff sappelhoff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your patience and persistence and for bringing this up in the first place @Remi-Gau :-)

Thanks also to the many reviewers!

@sappelhoff sappelhoff changed the title [ENH] add presentation software name version OS and code [ENH] add optional presentation software name, version, OS, and code to events.json Sep 15, 2020
@sappelhoff sappelhoff merged commit 025540f into bids-standard:master Sep 15, 2020
@Remi-Gau Remi-Gau deleted the remi-presentation_software branch October 2, 2020 05:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.