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

Include ability to ingress ICA derivatives #5

Open
tsalo opened this issue Aug 7, 2024 · 1 comment
Open

Include ability to ingress ICA derivatives #5

tsalo opened this issue Aug 7, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@tsalo
Copy link
Member

tsalo commented Aug 7, 2024

Particularly useful for chaining ICA-based denoising methods (e.g., ICA-AROMA, FSL FIX, GIFT).

Related to nipreps/fmripost-aroma#35 and nipreps/fmripost-phase#5.

@tsalo tsalo changed the title Include ability to ingest ICA derivatives Include ability to ingress ICA derivatives Sep 1, 2024
@tsalo
Copy link
Member Author

tsalo commented Sep 24, 2024

I was playing with using fMRIPost-AROMA ICA outputs with tedana today (successfully, I might add). Two things to note:

  1. fMRIPost-AROMA's mixing matrix doesn't have column headers, so we need to restructure the files before passing them along to tedana.
  2. The metrics file (which is a tedana creation) is necessary to combine classifications from multiple trees. We can't just use the "confounds" file, since that only has the rejected components in it. The workflow probably needs to go:
    1. Collect any mixing matrices and metrics files from --derivatives. This could involve multiple mixing matrices from different datasets.
    2. Check that the mixing matrices are the same. Something like numpy.allclose should be enough. Not sure if it's worth it to try to support cases where the mixing matrices are the same, but components are reordered.
    3. Check that the metrics files all have the right number of components and that they all have the "classification" column.
    4. Run tedana using the mixing matrix.
    5. Take the classifications from tedana and any other provided datasets, and take the union of the classifications. Generate a modified metrics file.
      • Do we want to support multiple combination strategies? E.g., "any-reject", "all-reject", "majority"?
    6. Run ica-reclassify with the updated metrics file.

@tsalo tsalo added the enhancement New feature or request label Oct 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant