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

Add examples describing each major feature in CuBIDS #365

Open
tsalo opened this issue Jan 15, 2025 · 4 comments
Open

Add examples describing each major feature in CuBIDS #365

tsalo opened this issue Jan 15, 2025 · 4 comments
Assignees
Labels
documentation Improvements or additions to documentation priority: high

Comments

@tsalo
Copy link
Member

tsalo commented Jan 15, 2025

We're deleting the current examples and should add new ones. Please comment below with ideas for examples.

@tsalo tsalo added documentation Improvements or additions to documentation priority: high labels Jan 15, 2025
@gabridele gabridele self-assigned this Jan 16, 2025
@tsalo
Copy link
Member Author

tsalo commented Jan 16, 2025

Part of this can involve breaking up the example walkthrough, which is quite long.

The CuBIDS commands we have are:

  • validate
  • bids-version
  • sidecar-merge
  • group
  • apply
  • purge
  • add-nifti-info
  • copy-exemplars
  • undo
  • datalad-save
  • print-metadata-fields
  • remove-metadata-fields

It would be nice to exhibit all of them in examples.

@B-Sevchik B-Sevchik self-assigned this Jan 16, 2025
@B-Sevchik
Copy link
Contributor

This might not be relevant, but something I've had to do for the EF dataset is write a python script to add in certain required json sidecar keys that were missing originally & produced errors or warnings in the validation tsv. It might be nice to include an example of something like this in the documentation to point to situations in which the solution is to edit the dataset in some way, then re-run cubids validate, without necessarily using one of the set CuBIDS commands to fix the error/warning but rather another script.

@B-Sevchik
Copy link
Contributor

Another idea is to expand on the customizable configuration aspect of CuBIDS and include an example of when you might want to use it/how to edit it in the example walkthrough rather than only under general usage guidelines.

@B-Sevchik
Copy link
Contributor

Here's some more thought-through examples that could be added to the documentation if you think it would be useful:

  • The initial validation reveals that in your ASL NIfTI files, you are missing the ArterialSpinLabelingType parameter in your json sidecars. You want to add this into your json sidecars for the ASL scans for use in later preprocessing.
    Consulting the protocol for your study, you find that the value for this key is “PCASL”.
    In order to update your json sidecars for ASL scans with this information, you can write a Python script that loops through each subject and session and for the files ending in “asl.json”, you can add ‘ArterialSpinLabelingType: “PCASL”’ to the json sidecars.
    Once you’ve verified that the json sidecars have been successfully updated, you can re-run cubids validate . The validation tsv that is produced should no longer have this error.

  • The initial validation produces a NOT_INCLUDED error. This is because CuBIDS/BIDS validator cannot currently handle QSM data, which was included in your BIDS dataset. In order to get rid of this error message, you can create and update a bids ignore file.
    At the level of your BIDS directory, create a file called ‘.bidsignore’
    In this case, we want to ignore any files in any directory that contains qsm in the name, so we update our .bidsignore file with this: **/*qsm*
    Make sure to save this change with datalad, and then re-run cubids validate. You should no longer see this error.

  • After running cubids group, you notice in your summary tsv file that there are some cases where the repetition time varies by a minuscule amount for your ASL scans, but are grouped separately. As such, you want to create and edit your configuration file such that you increase the tolerance of RepetitionTime.
    After you do this, run cubids validate with - - config, and your summary tsv should group these scans together.

@B-Sevchik B-Sevchik moved this from Todo to In Progress in January 2025 CuBIDS Coding Sprint Jan 17, 2025
@B-Sevchik B-Sevchik moved this from In Progress to Todo in January 2025 CuBIDS Coding Sprint Jan 17, 2025
@B-Sevchik B-Sevchik moved this from Todo to In Progress in January 2025 CuBIDS Coding Sprint Jan 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation priority: high
Projects
Status: In Progress
Development

No branches or pull requests

3 participants