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

[ENH] Implement pure-Python ICA with mixture modeling #51

Closed
wants to merge 7 commits into from

Conversation

tsalo
Copy link
Collaborator

@tsalo tsalo commented Nov 9, 2020

Closes #2.

TODO:

  • Incorporate license and attribution info for nipy's GGM.
  • Convert pseudocode to real code (this mostly means supporting images in addition to arrays and getting computefeats2 working).
  • Compare mixture modeling results to MELODIC.
  • Add tests.
  • Integrate changes into workflow.

Changes proposed in this pull request:

  • Add GGM class from nipy for mixture modeling.
  • Use tedana for PCA + ICA.

aroma/utils.py Outdated Show resolved Hide resolved
)
os.system(math_command)
if not mask:
mask = masking.compute_epi_mask(in_file)
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More aggressive masking seems to be necessary. I noticed that the ICA components were showing up outside the brain with the old method.

@eurunuela
Copy link
Contributor

As discussed with @CesarCaballeroGaudes yesterday, the mixture modeling is not necessary but it helps with the accuracy.

The ICA-AROMA paper states:

To increase accuracy of the spatial features, IC spatial maps are first thresholded using a Gamma/Gaussian alternative testing approach (p N 0.5). This approach is automated in FSL's MELODIC.

So, we could try running the workflow without the mixture modeling first and see if the results look good. If we see the mixture modeling is critical for accuracy, we can open a new PR with it.

@tsalo
Copy link
Collaborator Author

tsalo commented Nov 11, 2020

To be honest, I'm not confident that either the features or the classifier in AROMA are robust enough to handle inputs that don't exactly match the original method. From a conceptual standpoint, unthresholded maps may be fine, but from a practical one, I'm not so sure.

@tsalo
Copy link
Collaborator Author

tsalo commented Nov 11, 2020

I have ME-ICA/aroma#22 open now, so I'm going to close this.

@tsalo tsalo closed this Nov 11, 2020
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

Successfully merging this pull request may close these issues.

2 participants