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

Implement AROMA classifier #18

Merged
merged 35 commits into from
May 15, 2024
Merged

Implement AROMA classifier #18

merged 35 commits into from
May 15, 2024

Conversation

tsalo
Copy link
Collaborator

@tsalo tsalo commented May 4, 2024

Closes #5.
I took the metric and classifier code from ME-ICA/aroma for this.

Changes proposed in this pull request

  • Incorporate pure Python implementation of AROMA feature calculation and classification.
  • Create denoising workflow that supports "aggressive", "non-aggressive", and "orthogonalized aggressive" approaches.

Copy link

codecov bot commented May 7, 2024

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

Thanks for integrating Codecov - We've got you covered ☂️

@tsalo
Copy link
Collaborator Author

tsalo commented May 7, 2024

@effigies I'm thinking it's time for me to write a test or two of the workflow I'm adding here. I'm thinking of just running fMRIPrep on a single subject's data in "full" mode and uploading the relevant derivatives to Box to use as test data. Do you have any recommendations for OpenNeuro datasets to grab from?

EDIT: I'm going to go with 28andHe since I'm planning to play with it at some point anyway.

@tsalo
Copy link
Collaborator Author

tsalo commented May 10, 2024

There are probably a lot of things I can do to improve the AROMA outputs (e.g., I ended up moving the component metadata, like variance explained, into a TSV that could maybe be moved back into the JSON), but I think the only thing I need to do to actually get the AROMA workflow running is modify the DerivativesDataSink to support the ICA outputs.

@tsalo tsalo changed the title Draft internal implementation of AROMA classifier Implement AROMA classifier May 10, 2024
@tsalo tsalo marked this pull request as ready for review May 10, 2024 19:57
@tsalo tsalo requested a review from effigies May 10, 2024 20:02
@tsalo
Copy link
Collaborator Author

tsalo commented May 11, 2024

I don't know what's happening with the mock_config, but everything else looks good to me.

@tsalo
Copy link
Collaborator Author

tsalo commented May 15, 2024

We can use https://gin.g-node.org/tsalo/ds005115-fmriprep-test as the base test data for the AROMA and denoising workflow, since it's a small dataset (50 volumes). Just need to write up a job to grab the data and a test to run the pipeline.

@tsalo
Copy link
Collaborator Author

tsalo commented May 15, 2024

Merging now.

@tsalo tsalo merged commit 1011ebb into nipreps:main May 15, 2024
5 of 12 checks passed
@tsalo tsalo deleted the internal-aroma branch May 15, 2024 15:14
@tsalo tsalo added the enhancement New feature or request label Aug 28, 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

Successfully merging this pull request may close these issues.

Fully reimplement AROMA as workflow
1 participant