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

🔬 Automate heatmap generation #1211

Open
7 tasks
shnizzedy opened this issue Feb 26, 2020 · 3 comments
Open
7 tasks

🔬 Automate heatmap generation #1211

shnizzedy opened this issue Feb 26, 2020 · 3 comments

Comments

@shnizzedy
Copy link
Member

shnizzedy commented Feb 26, 2020

Related problem

Automatic heatmaps / leaderboards generation is specific to frmiprep-options

Proposed feature

Simpler C-PAC-only automatic heatmaps that generate every time

Acceptance criteria

Alternatives

no response

Additional context

no response

@shnizzedy
Copy link
Member Author

sgiavasis/CPAC_regtest_pack#1 may resolve this, or we might require more. Rather than a symmetric matrix (like above), this code creates a subject-sessions × features matrix like C-PAC on_nuisance_1 vs fmriprep fmriprep_1

The available features are defined in configs/features.py, and simply defining a key / naming convention in that file should make that key available through the entire workflow.

@sgiavasis
Copy link
Collaborator

I pulled in the changes: sgiavasis/CPAC_regtest_pack#1

Next is to plan if/how to integrate into the main C-PAC code base, or if we want to maintain a separate dev kit.

@shnizzedy shnizzedy self-assigned this Jun 23, 2020
@shnizzedy shnizzedy moved this to Todo in Automate testing Feb 7, 2022
@shnizzedy shnizzedy added the Epic label Jul 14, 2022
@shnizzedy shnizzedy moved this from Todo to In Progress in Automate testing Sep 30, 2024
@shnizzedy
Copy link
Member Author

shnizzedy commented Oct 14, 2024

MVP

This collection of pull requests won't address everything in this issue, but they will afford a working collection of automations that

  1. Run a small set of end-to-end workflows on downsampled (5mm isometric) data (integration tests) on our HPC when a PR is opened or updated
  2. Calculate correlation statistics against those same workflows run via the previous C-PAC release on the same data (regression tests)
  3. Push those correlation statistics to GitHub
  4. Build visualizations (some interactive) and push those visualizations in a comment to the relevant PR or commit when these tests are run

These PRs should be merged in this order:

  1. 👽️ Remove deprecated xlink XML prefix C-PAC_regression_dashboard#2
  2. 👔 Move creation of correlations.json to cpac-correlations CLI CPAC_regtest_pack#12
  3. 👔 Build interactive SVG, build a PNG from that interactive SVG, include the PNG in automated comment C-PAC_regression_dashboard#3
  4. 👔 Restructure automated integration and regression testing flow childmindresearch/slurm_testing#2
  5. 🔖 Set canonincal dependencies + initial version and CHANGELOG C-PAC_regression_dashboard#4
  6. 🔖 Set canonincal dependencies + initial version and CHANGELOG childmindresearch/slurm_testing#3
  7. 👷 Automate lite integration and regression tests #2162

Future improvements

  • full (non-downsampled) tests
  • tests for preconfigs other than default
  • expanded test subject set
  • fix / avoid crashes
  • Move non-SLURM dependency management to GitHub Actions (build a check suite for integration runs, trigger regression tests once that check suite completes)
  • Abbreviate paths in correlations table
  • Purge dead code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: In Progress
Development

No branches or pull requests

2 participants