XNAT-Ingest is a collection of tools to sort, label, de-identify data and upload them to an XNAT repository. Support for various file types is provided through the FileFormats package and its extensions (e.g. FileFormats MedImage, FileFormats Siemens,...).
flowchart LR
Scanner(["Scanner / instrument"]) --> Group["group"]
Group --> Assign["assign"]
Assign --> Deidentify["deidentify (optional)"]
Deidentify --> Upload["upload"]
Upload --> XNAT[("XNAT")]
Upload -.-> CheckUpload["check-upload"]
Extra(["files without\nsorting metadata"]) -.-> Associate["associate (optional)"]
Group -.-> Associate
Associate -.-> Assign
XNAT ingest can be installed as a Python package from PyPI with pip:
$ python3 -m pip install xnat-ingest
Alternatively, a Docker image containing the toolkit can be pulled from docker pull ghcr.io/australian-imaging-service/xnat-ingest:latest
XNAT Ingest has a public API and a command-line interface (CLI), with sub-commands to group, assign, associate, de-identify, and upload imaging sessions to XNAT — either as a one-off run or as a continuously-running service (e.g. via Docker Compose or Kubernetes).
See the full documentation for a hands-on quick start, how-to guides for each part of the pipeline, and the complete CLI/API reference.