longitudinal/AGENTS.md
Furen Xiao 5e525c07c8 Add setup script for IMPACT registration pipeline shim
This commit introduces a new script, `setup_impact_konfai.sh`, which facilitates a one-time setup for the IMPACT registration pipeline (impact-reg-konfai). The script builds a self-contained shim that includes:

- A glibc 2.35 loader and libraries extracted from the niftyreg:2.1.1-ubuntu Docker image.
- A self-contained LibTorch 2.8.0 (cu128) library.
- A wrapper script that runs the stock elastix-impact binary through the glibc 2.35 loader with the appropriate library paths.

The setup ensures compatibility with hosts that do not meet the required glibc and LibTorch versions, allowing the pipeline to function correctly. The script also verifies the installation and provides usage instructions.
2026-09-30 18:21:38 +08:00

1.6 KiB

AGENTS.md

Environment

This project uses a conda environment named longitudinal-313 (Python 3.13).

Activate with:

source /opt/conda/etc/profile.d/conda.sh && conda activate longitudinal-313

Key packages: torch 2.14 (+cu126), torchvision, monai 1.6 (pip, Pipeline C), numpy, scipy, pandas, scikit-learn, scikit-image, matplotlib, nibabel, SimpleITK. Registration toolkits (benchmark, see REGISTRATION_BENCHMARK.md): itk + itk-elastix, antspyx, niftyreg 1.5.69 (conda install -c conda-forge niftyreg, provides reg_aladin), impact-reg-konfai (pip; IMPACT — on this host the elastix binary needs the one-time shim from scripts/setup_impact_konfai.sh), plus the Docker image freesurfer/synthmorph.

Project

Longitudinal (repeated-measures) analysis of medical imaging data. Repo is at an early stage — see README.md for any project notes.

All path config lives in config/paths.json — the external data roots the code reads or writes (data, lee, m6, ntuh_register_inv). Code resolves them through src.common (PATHS dict, path(name) lookup, DATA/d() for data/... paths). To move any dataset, only edit config/paths.json; the repo root is derived from the code location (override with LONGITUDINAL_ROOT if needed).

Conventions

  • All Python commands must run inside the longitudinal-313 conda environment.
  • GPU is available (CUDA 12.6); use torch.device('cuda') when appropriate. Multi-GPU stages of Pipelines A and C run via torchrun --standalone --nproc_per_node N (rank = GPU).
  • No lint/test tooling is configured yet; run scripts directly with python <script> from the repo root.