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

ICA-reports goals and roadmap #1

Open
eurunuela opened this issue Aug 19, 2021 · 4 comments
Open

ICA-reports goals and roadmap #1

eurunuela opened this issue Aug 19, 2021 · 4 comments
Assignees

Comments

@eurunuela
Copy link
Collaborator

eurunuela commented Aug 19, 2021

Main goal

The goal of ICA-reports is to provide a JavaScript app to visualize and interact with ICA components resulting from different ICA packages (e.g., tedana and aroma). The main goal of ICA-reports is to provide manual classification functionality though.

Making a manual classification app for various ICA algorithms will require a "new" standard for ICA data structure that tedana and aroma (and others) will have to adapt. Obviously, we can build this standard based on the current structure in tedana.

Ideally, ICA-reports should work as a web service, with no need to install the package. React should also allow for the web service to be installed on a machine as a Chrome app.

Roadmap

The following milestones define the roadmap for ICA-reports (feel free to add more):

  1. Read ICA components data from a user-provided local .json or .tsv file (we should come up with the standard data structure).
  2. Make scatter and pie plots to show rho, kappa, and variance of components.
  3. Plot time and frequency signatures of ICA components.
  4. Add an onboarding screen.
  5. Add support manual classification (new selection + extract as compatible file).
  6. Set up a server to run ICA-reports as a web service.
@eurunuela eurunuela pinned this issue Aug 19, 2021
@tsalo
Copy link
Member

tsalo commented Aug 20, 2021

It would also be cool if we could correlate component time series with arbitrary confounds and generate histograms. Perhaps with support for BIDS physio files and fMRIPrep confounds files?

@eurunuela
Copy link
Collaborator Author

eurunuela commented Sep 9, 2021

With a number of users having issues with the Bokeh-based reports lately, I believe we should try to release an alpha version of the Bokeh-based reports asap.

I believe the first three milestones are pretty much done. We will have to adapt the way we read the data and make sure the size of the plots is nicer (also include a zooming option). I was thinking we could ask for the JSON file, read it, and assume the images are on the same folder, meaning the tedana outputs weren't moved from the folder. Maps and carpet plots are currently read based on the local path, which is the same path the JSON file is saved in.

@tsalo Re histograms: what did you have in mind?

@tsalo
Copy link
Member

tsalo commented Sep 10, 2021

I'm thinking of some way to look for outliers on metrics and component-confound correlations, like the group reports for MRIQC. They wouldn't have to be histograms. They could be the box-plot + strip-plot combo that MRIQC uses, for example.

@eurunuela eurunuela self-assigned this Sep 16, 2021
@eurunuela
Copy link
Collaborator Author

As an update: I am very close to replicating the tedana reports in master. What's left before we can consider this an alpha version is:

  • Calculating the ranked kappa, rho, and variance values.
  • Making the design nicer.

This alpha version could fully replace the tedana reports and would include the first 4 points in the issue description. The beta version would aim at the manual classification of components and extracting the new classification table.

eurunuela added a commit that referenced this issue Oct 8, 2021
Refactoring of plotting functions
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

No branches or pull requests

2 participants