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

participant information #253

Open
karl-koschutnig opened this issue Dec 13, 2024 · 6 comments
Open

participant information #253

karl-koschutnig opened this issue Dec 13, 2024 · 6 comments

Comments

@karl-koschutnig
Copy link

Hi Marcel,

I was wondering if it would be possible to add an option in the bidseditor for specifying participant-related values. It’s great that the tool automatically generates a participants.tsv and corresponding JSON file, but it would be really helpful to be able to define variables like sex (and potentially others) directly through the interface.

For instance, the current participants.json includes a "Level" entry for age, which doesn’t quite fit unless we’re categorizing participants into discrete groups like “young” or “old.” A format similar to what’s used in the neurobagel project might be a good reference.

What do you think?

Best,
Karl

@marcelzwiers
Copy link
Collaborator

marcelzwiers commented Dec 13, 2024

So if I understood you properly, you'd like to be able to specify dynamic values for the participants.tsv file? Something like (each key is a column in the participants-table):

participants:
  participant_id: <<filepath:/raw/sub-(.*?)/>>
  session_id: <<filepath:/raw/sub-.*?/ses-(.*?)/>>
  group:
  age: <<PatientAge>>
  sex: <<PatientSex>>
  size: <<PatientSize>>
  weight: <<PatientWeight>>

Currently, this info is collected in the plugins and then written to the participants-file. But that's hard coded, I guess it may indeed be useful to be able to add to that using the GUI

@karl-koschutnig
Copy link
Author

Thanks for the quick reply (as always!!)

Yeah, a GUI option would be nice. Indeed, it would be great to have a way to change the corresponding json file. So for example we get the sex from the DCM-Tag and also want to set the levels in the json file.
That ultimate renders to:

"sex": {
    "Description": "sex of the participant as reported by the participant",
    "Levels": {
        "M": "male",
        "F": "female"
    }
},

@marcelzwiers
Copy link
Collaborator

I will give it a try to see how it works out. Btw, do you have Presentation logfiles in your dataflow? Because in the upcoming version I added a new feature to convert that to BIDS too (i.e. to a sub*_events.tsv file) and I can always use feedback :-)

@karl-koschutnig
Copy link
Author

Great - thanks a lot!

Yes, we do have some "old" studies that have used neurons. I am happy to help and try it out!
We invested much time in dealing with events files and made a little psychopy module (https://psychopy-bids.readthedocs.io/en/stable/).

@marcelzwiers
Copy link
Collaborator

I played around a bit with the interface and I can make something to customize the participants.tsv file. The json-sidecar is much harder though, because of its nested structure. Yet, I understood it's the sidecar that you are after, right? Or would you also like to tweak the table?

@karl-koschutnig
Copy link
Author

I know this is not easy to implement. I really appreciate your effort.
Have you had the chance to look at the neurobagel approach (link in the first post). There, you "upload" a tsv and can annotate basic stuff. Something like that would be great.
In my world, it would be perfect to have some basic participants info in the exact same format after coining them. Later, I would tweak the table (but not in the conversion process).

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

No branches or pull requests

2 participants