Skip to content

Installation

DELTA-SVD is distributed as a single container image — everything the pipeline needs (FSL, ANTs, and the Python scientific stack) is bundled, so there is nothing else to install. You only need a container runtime to pull and run it.

Requirements

Hardware

  • CPU — an x86-64 (amd64) processor. Cross-sectional runs are essentially single-threaded; longitudinal runs additionally benefit from multiple cores during within-subject template construction (the only multi-core step — see Advanced usage). Any modern multi-core CPU is sufficient.
  • Memory — a single timepoint fits in a few GB of RAM. For longitudinal input, peak memory grows with the number of timepoint registrations run in parallel during template construction, so budget additional memory for each parallel job. On memory-constrained nodes, cap the parallelism with --threads (see Advanced usage).
  • Disk — allow several GB for the image itself, plus working space for the intermediate files written to delta-svd_temp/ during a run (removed on success unless you pass --debug).

Note

Exact memory and disk needs depend on your image matrix size, the number of diffusion directions, and the number of timepoints. Start with a generous allocation and tighten it once you have measured a representative run.

Software

  • A Linux x86-64 host (the image is built for linux/amd64). This includes Windows via WSL2 — Apptainer inside a WSL2 distribution, or Docker Desktop with its WSL2 backend.
  • A container runtime:
    • Apptainer (or legacy Singularity) — recommended, especially on HPC clusters. It runs rootless and maps your host identity into the container, so output files come out owned by you.
    • Docker, or rootless Podman — an optional alternative. Under Docker there is an extra step to get output owned by your host user; see Usage and Advanced usage.

No separate Python, FSL, or ANTs installation is required — those are all provided inside the image. The bundled third-party components are redistributed under their respective licenses; see NOTICE for details and license texts.

Getting the image

The image is published to the GitHub Container Registry at ghcr.io/isdneuroimaging/delta-svd, tagged with each release version (and latest for the most recent release). Pin an explicit version tag rather than latest, so every run in a project uses a known, fixed version.

Important

Use one version per project. Only results produced with the same DELTA-SVD version can be compared or pooled. Choose a version at the start of a project and process all data with it; do not upgrade partway through. Version numbers follow MAJOR.MINOR.PATCH (e.g. 1.2.0). The exception is bug-fix releases, which differ only in the last (PATCH) digit: these are safe to mix within a project, as they do not change results. Any change in the first two numbers can shift the metrics, so results from different MAJOR.MINOR versions must not be combined.

Pull the image and convert it to a local .sif file in one step:

apptainer pull delta-svd.sif docker://ghcr.io/isdneuroimaging/delta-svd:1.0.0

This writes delta-svd.sif into the current directory — the file used throughout the Usage examples. Keep it somewhere stable (or on shared storage on a cluster) and point your runs at it.

Docker or Podman (optional)

Pull the image into the local daemon's store:

docker pull ghcr.io/isdneuroimaging/delta-svd:1.0.0

Replace docker with podman to use rootless Podman instead.

Verify the installation

Run the pipeline's help to confirm the image works:

apptainer run delta-svd.sif --help

or, with Docker:

docker run --rm ghcr.io/isdneuroimaging/delta-svd:1.0.0 --help

If you see the DELTA-SVD option help, you are ready to go — continue with Usage.