Skip to content

Releases: lippisch2/CTPAMAP

CTPAMAP 1.2.0 — portable Windows + Linux AppImage

Choose a tag to compare

@lippisch2 lippisch2 released this 01 Nov 18:53

CTPAMAP 1.2.0

Lung subtraction CTPA perfusion mapping: from a paired non-contrast chest CT and a contrast-enhanced CTPA to a registered subtraction and an iodine / perfusion map.

CTPAMAP desktop GUI

What's in this release

Downloads

Platform Asset Notes
Windows x64 CTPAMAP-1.2.0-portable.exe Portable, self-extracting, no install
Linux x64 CTPAMAP-1.2.0-x86_64.AppImage chmod +x and run

Both are thin Electron shells around the Python pipeline. They are not self-contained: the host needs Python 3.10+ and the ctpamap package with its dependencies.

git clone https://github.com/lippisch2/CTPAMAP.git
cd CTPAMAP
make setup     # or: python3 -m venv --system-site-packages venv && venv/bin/pip install -e ".[dev]"

Then use the binary for your platform. The launched app resolves python (Windows) / python3 (Linux), or the interpreter named by the CTPAMAP_PYTHON environment variable. It starts uvicorn ctpamap.api:app on 127.0.0.1:18923 and waits for /api/status before showing the wizard.

On Linux without FUSE:

./CTPAMAP-1.2.0-x86_64.AppImage --appimage-extract-and-run

Highlights

  • Four-step GUI wizard — Inputs → Options → Run → Results, live progress polling, embedded NIfTI viewer, per-artifact download links.
  • Registration backends — SimpleITK rigid NCC + Demons (default), vesselness-driven MI + B-spline (recommended for subtraction CTPA), ANTs SyN (--antspy), ITK-Elastix (--stix), optional FireANTs GPU (--gpu).
  • Masking and correction — lung / airway / vessel segmentation, aeration correction from the Jacobian determinant of the deformation field (--aer), HU clipping control (--noclip).
  • QC report — qc_report.json with registration and artifact metrics.
  • Batch CLI and FastAPI backend call the same run_pipeline, so GUI and command line produce identical output.
  • Backend discovery fix — packaged builds now use the launch directory as the project root, the correct PYTHONPATH separator per platform, and python3 on Linux.

Typical CLI run

venv/bin/ctpamap pre.nii.gz ctpa.nii.gz -o out/ --vessel --aer

Outputs

registered_pre.nii.gz, ctpa_regrid.nii.gz, lung_mask.nii.gz, vessel_mask.nii.gz, airway_mask.nii.gz, iodine_map_raw.nii.gz, iodine_map_clean.nii.gz, iodine_overlay.nii.gz, qc_report.json.

Notes and limitations

  • The Windows build is unsigned; SmartScreen may warn on first launch.
  • Default Electron icon is used (no application icon set yet).
  • Research and educational software — not a medical device, not validated for clinical diagnosis.

See the README for installation, the full CLI reference, the REST API, repository layout and conventions.

Full changelog: https://github.com/lippisch2/CTPAMAP/commits/main