Skip to content

GGIR I/O rework: act-int-ready input, separate output root, gt3x compare tests#20

Draft
bahaaaldin214 wants to merge 8 commits into
HBClab:mainfrom
bahaaaldin214:feature/gt3x-compare-tests
Draft

GGIR I/O rework: act-int-ready input, separate output root, gt3x compare tests#20
bahaaaldin214 wants to merge 8 commits into
HBClab:mainfrom
bahaaaldin214:feature/gt3x-compare-tests

Conversation

@bahaaaldin214

Copy link
Copy Markdown

Summary

  • Route GGIR to the canonical inputs/act-int-ready intervention input and write derivatives to a separate per-project output root (3-experiment/output/...), keeping inputs and outputs cleanly separated.
  • Add per-project --output_dir plumbing through gg.py / acc_new.R / main.py so intervention and observational runs target distinct output roots.
  • Add GT3X-vs-raw comparison tests plus contract/smoke coverage for the new I/O wiring.
  • Enable act/utils/plots.py as a CLI (out_dir override + headless backend) for gt3x-vs-raw comparison plots.
  • cron.sh: push automated result commits to a writable fork remote (RESULTS_REMOTE) since upstream origin is read-only for the service account.

Changes

  • act/core/acc_new.R, act/core/gg.py, act/main.py: per-project output dir + GT3X preference.
  • act/utils/pipe.py: vosslnxft profile -> inputs/act-int-ready input, separate output root.
  • act/utils/qc.py, act/utils/group.py: read derivatives from the output root.
  • act/utils/plots.py: CLI + headless plotting.
  • act/tests/*: new test_gt3x_compare.py, test_gt3x_contract.py, smoke updates.

Test plan

  • pytest (61/61 passing locally)
  • Manual GGIR run on vosslink (bahaa pipeline ggir) produces derivatives under output/derivatives/GGIR-3.2.6/
  • Confirm intervention vs observational outputs land in the correct roots

Draft: opened for review/testing before merge.

bahaaaldin214 and others added 8 commits June 18, 2026 13:03
Compare gt3x and raw GGIR outputs with focused contract tests.

Co-authored-by: Copilot <[email protected]>
pipe.py: vosslnxft int input to inputs/act-int-ready; add per-project INT_OUT_DIR/OBS_OUT_DIR (int derivatives to 3-experiment/output). gg.py: per-project output_dir so int/obs derivatives never collide. qc.py, group.py: read derivatives from per-project output root. plots.py: add CLI + out_dir override + headless backend. cron.sh: push result commits to writable fork via RESULTS_REMOTE.

Co-authored-by: Cursor <[email protected]>
…e datadir + studyname), iterate GGIRfiles not RelativeFiles

Co-authored-by: Cursor <[email protected]>
…) to keep box in sync with fork

Co-authored-by: Cursor <[email protected]>
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.

1 participant