Frequently asked questions¶
Where can I get support, report bugs, or ask questions?¶
DELTA-SVD is maintained on a community, best-effort basis, with no formal or guaranteed support.
- Questions, usage help, and general discussion: use GitHub Discussions.
- Bugs and feature requests: open a GitHub issue. Please include the version you are running and enough detail to reproduce the problem (command line, input description, and any error output).
We try to respond where we can, but cannot commit to any particular response time.
What are MSMD, PSMD and MSFW, and which should I report?¶
Every run reports all three validated endpoints, per timepoint and per region:
- MSMD: mean skeletonised mean diffusivity.
- PSMD: peak width of skeletonised mean diffusivity.
- MSFW: mean skeletonised free water.
For most datasets, MSMD is the recommended primary endpoint; PSMD and MSFW are reported alongside it and can add information in specific settings. For the rationale and guidance on when each is most useful, see the method publication (Citation).
How does DELTA-SVD relate to the original PSMD pipeline?¶
PSMD (peak width of skeletonised mean diffusivity, Baykara et al., Ann Neurol 2016) is an established diffusion marker of white matter damage in cerebral small vessel disease. DELTA-SVD builds on the same skeleton-based approach and reports PSMD as one of its endpoints, alongside MSMD and the free-water metric MSFW. DELTA-SVD is optimised for longitudinal processing and adds several other improvements, including better elimination of CSF partial-volume effects and a built-in quality-control report. See the method publication (Citation) for details.
Because of these methodological differences, the PSMD values produced by DELTA-SVD are not equivalent to those from the original PSMD tool, and the two cannot be compared or combined. Do not mix DELTA-SVD results with values from the original PSMD pipeline in the same analysis; process all data for a given study with a single pipeline.
Do I need to preprocess my data first?¶
Yes. DELTA-SVD analyses already-preprocessed diffusion MRI. It takes a 4D DWI image, its bval/bvec files, and a DWI-space brain mask, and does not perform denoising, susceptibility-distortion, eddy-current or motion correction itself. Apply a state-of-the-art preprocessing pipeline first. See Data requirements, which also points to turnkey options such as QSIPrep and MRtrix3.
Can I use multi-shell data?¶
Yes. DELTA-SVD fits the tensor on b-values around b = 1000 s/mm² (default range 800–1200, together with the b ≈ 0 volumes) and selects the appropriate shell(s) from your data automatically, so multi-shell acquisitions are fine. Adjust the range with --bRange if needed. See Data requirements and Advanced usage.
How do I exclude a region, or restrict the analysis to specific ROIs?¶
Use an exclusion mask (--Emask) to remove a region, for example an acute infarct or a haemorrhage, from the analysis. To report metrics for specific regions instead, supply ROI masks in DWI space (--Rmask; integer labels define separate ROIs) or a single ROI mask in MNI space (--RmaskMNI). Add --hemispheres to also report the skeleton split by left and right hemisphere. See Restricting the analysis with masks.
Do I need a GPU, or to install FSL, ANTs or Python?¶
No. DELTA-SVD is CPU-only, with no GPU requirement. Everything the pipeline needs (FSL, ANTs, and the Python scientific stack) is bundled in the container image, so nothing else has to be installed; you only need a container runtime. See Installation.
Does DELTA-SVD run on Windows or macOS?¶
The image is built for Linux x86-64 (linux/amd64). It runs natively on a Linux x86-64 host (the recommended platform) and on Windows via WSL2, either Apptainer inside a WSL2 distribution or Docker Desktop with its WSL2 backend. On Apple Silicon Macs (M-series) it runs only under x86-64 emulation, which is slow and not recommended; an Intel Mac runs it natively.
My output files are owned by uid 999 (or root) under Docker. How do I fix that?¶
That happens because the container runs as its own non-root user. Run it as yourself with --user "$(id -u):$(id -g)" (see Running under Docker). Apptainer and rootless Podman avoid this entirely: they map your host identity into the container, so output is owned by you automatically.
Why do my longitudinal results change slightly when I rerun, or on a different machine?¶
For longitudinal input, the within-subject template step registers timepoints in parallel and sums intermediate values in a thread-count-dependent order, so a different effective core count shifts the metrics slightly. The differences are negligible for interpretation, but if you need exactly reproducible numbers across machines, pin --threads to a fixed value rather than the default auto. Cross-sectional runs are not affected. See CPU usage and threading.
The pipeline refuses to overwrite existing output. What do I do?¶
By design, a run will not overwrite existing results. Pass --reprocess to allow reprocessing over existing output; you can optionally give it an alternative results-CSV base name to preserve the previous delta-svd_results.csv. See Advanced usage.
Can I use DELTA-SVD commercially?¶
No. DELTA-SVD is for non-commercial research use only. The original source code and documentation are licensed under CC BY-NC-ND 4.0 (non-commercial, no derivatives). In addition, the container image bundles FSL, which is licensed for non-commercial use only, and that restriction applies to the image as a whole. See LICENSE and NOTICE.
Is my data sent anywhere?¶
No. DELTA-SVD runs entirely on your own machine and does not transmit your data. Network access is needed only once, to pull the container image; after that it runs fully offline and can be used on an air-gapped system.