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

Check that phys2bids is BIDS 1.3.0 compliant. #185

Closed
smoia opened this issue Mar 24, 2020 · 22 comments
Closed

Check that phys2bids is BIDS 1.3.0 compliant. #185

smoia opened this issue Mar 24, 2020 · 22 comments
Assignees
Labels
BrainHack This issue is suggested for BrainHack participants! Help wanted Extra attention is needed

Comments

@smoia
Copy link
Member

smoia commented Mar 24, 2020

Detailed Description

At the moment, the latest stable BIDS is v.1.3.0.
BIDS has detailed specifications on many things, starting with how the files should be named, how they should be organised internally (see #184), how information should be reported (see #127).
I'm not totally sure that phys2bids complies to that specification - although we definitely have to!

Possible Implementation

  1. Read BIDS 1.3.0, especially the section relative to physiological files, functional MRI files, units of measure.
  2. Check that our output is compliant to that specification
  3. If not, open bug issues to have it fixed
  4. Add in the documentation and in the readme that we are bids 1.3.0 compliant (a sentence? a nice badge?)
@smoia smoia added the BrainHack This issue is suggested for BrainHack participants! label Apr 5, 2020
@smoia smoia added this to the The BrainWeb milestone Apr 5, 2020
@smoia
Copy link
Member Author

smoia commented Apr 9, 2020

@RayStick @rmarkello , do you think this could be a good first issue?

@smoia smoia changed the title Check that phys2bids is BIDS 1.2.2 compliant. Check that phys2bids is BIDS 1.3.0 compliant. Apr 19, 2020
@smoia smoia added the Help wanted Extra attention is needed label Apr 21, 2020
@smoia smoia mentioned this issue Apr 24, 2020
2 tasks
@smoia smoia added the Urgent If you don't know where to start, start here! label May 7, 2020
@smoia smoia removed the Urgent If you don't know where to start, start here! label May 14, 2020
@smoia
Copy link
Member Author

smoia commented Jun 8, 2020

@vinferrer at what point is this issue? Do you need any help?

@vinferrer
Copy link
Collaborator

I didn't had time to go through it. Help is always welcome, specially since i am no expert in BIDS and I am bad at details. Which is important for standards

@vinferrer
Copy link
Collaborator

In theory #222 should close the units of measure part. Although mmHg is a cranky issue since is not bids standard but is necessary in some channels.

@vinferrer
Copy link
Collaborator

I don't understand in which way specifically functional MRI files standard affects us. I suppose it is in an indirect manner

@vinferrer
Copy link
Collaborator

I tried the tutorial file with the heuristic and the names and structure seem to check with bids standard

@vinferrer
Copy link
Collaborator

However in this case there is not stimuli file, don't think we have those

@vinferrer
Copy link
Collaborator

Lastly, regarding the JSON file, all seems good to me. However, I was wondering what happens with the sampling frequency when you have multifrequency files. Does that generate different tsv and JSON files for each frequency?

@smoia
Copy link
Member Author

smoia commented Jun 10, 2020

Lastly, regarding the JSON file, all seems good to me. However, I was wondering what happens with the sampling frequency when you have multifrequency files. Does that generate different tsv and JSON files for each frequency?

Indeed, as it's the expected output to have BIDS compliant physiological files (from what I understood from the BIDS specs).

However in this case there is not stimuli file, don't think we have those

We don't for the moment. I don't know if we want to support Respiract files, in which case we might have stimuli files? @RayStick @BrightMG what do you think about this?

I don't understand in which way specifically functional MRI files standard affects us. I suppose it is in an indirect manner

They affect the physiological files since the name of the files should be deriving from the fMRI (/EEG/MEG?) file relative to the same scan. In fact, once #219 is in place, it would be nice to see if we can automate this process in general and get the filenames from BIDS structures (rather than from heuristics or yamls).

Thank you @vinferrer for the check. I think that, once you are positive about how things work, we can close this issue with a PR that specifies in the main readme and in the documentation first page (index.rst) that we are 1.3.0 compliant!

@RayStick
Copy link
Member

RayStick commented Jun 10, 2020

I don't know if we want to support Respiract files, in which case we might have stimuli files? @RayStick @BrightMG what do you think about this?

In the context of physiological data, what do we specifically mean by stimuli files? We kind of have something like a stimuli file with the RespirAct, which programs how we want PETCO2 and PETO2 to change. But we don't have triggers recorded alongside the physiological data (yet) so I assume that'd make it problematic to incorporate into phys2bids?

@vinferrer
Copy link
Collaborator

Should we update this issue?https://bids-specification.readthedocs.io/en/stable/

@vinferrer
Copy link
Collaborator

Or we go for BIDS 1.3 compilant and then open one for 1.4?

@smoia
Copy link
Member Author

smoia commented Jun 12, 2020

Let's see if we can get the help from the public:
@effigies, we prepared this software to be BIDS 1.3.0 compliant. We saw today that BIDS is now at version 1.4.0.
Since we don't have derivatives as outputs (phys2bids prepares only the raw data), do you think we're also 1.4.0 compatible, or are there more differences between the two BIDS versions?

@smoia
Copy link
Member Author

smoia commented Jun 12, 2020

Looking at the changelog, we should be fine, but I think there is a BIDS validator somewhere. @vinferrer, could you check if our outputs pass the validator? If so, we should be good to go.

@effigies
Copy link

We aim for backwards compatibility with the spec, so anything that was valid should still be. (If you had something unspecified, then it could now be specified otherwise, though.) I think you're probably safe, but I would check the changelog to be sure.

@smoia
Copy link
Member Author

smoia commented Jun 12, 2020

@effigies cool, thank you!
Is there a nice badge the BIDS team has to specify the compatibility? If not, we're just going to state which version we're at!

@robertoostenveld
Copy link

robertoostenveld commented Jun 16, 2020

some files that I see are missing in the tutorial output folder

dataset_description.json
participants.tsv
participants.json (optional)
README
CHANGES (optional)

@vinferrer
Copy link
Collaborator

@robertoostenveld
Copy link

I am not sure whether .tsv.gz is allowed.
the .log file is not part of BIDS (afaik)

@vinferrer
Copy link
Collaborator

Thanks Robert, I was able to review the bids struct to see if we can tackle the basic stuff so we are bids compatible ( in a minimum way) and then build from there. If I am correct the compulsory files that we lack are:

dataset_description.json
Fields
Name (Required)
BIDSVersion (Required)
DatasetType (Recommended)
License (Recommended)
Participants.tsv
Fields
participant_id (Required)
age (Recommended)
sex (Recommended)
handedness (Recommended)
README

So I am gonna create an issue for this where we tackle these basic errors

@vinferrer
Copy link
Collaborator

vinferrer commented Jun 16, 2020

I am not sure whether .tsv.gz is allowed.
the .log file is not part of BIDS (afaik)

Actually, in physiolical recording files tsv.gz is the standard, but for sure we will move away the .log file. Thanks for the help @robertoostenveld

@smoia
Copy link
Member Author

smoia commented Jul 2, 2020

I believe this is closed now?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BrainHack This issue is suggested for BrainHack participants! Help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

6 participants