XNAT Plugins

See Deploying Plugins in XNAT for general setup instructions. Note that plugins often have version dependencies with XNAT, and/or with each other.

Container Service Plugin

Author: John Flavin, Matt Kelsey, Kate Alpert

The Container Service plugin enables you to load Docker Images into a Docker Server running next to your XNAT, and run containers from mounted XNAT archive data. These containers can be run from the XNAT UI, singly or in bulk.

Source Code: https://bitbucket.org/xnatdev/container-service


Batch Launch Plugin

Author: Flywheel - Mohana Ramaratnam, Kate Alpert

The Batch Launch Plugin is meant to be used in concert with the Container Service plugin to enable batch launching of computational processes.  

Source Code: https://bitbucket.org/xnatx/xnatx-batch-launch-plugin

XNAT-OHIF Viewer Plugin

Author: Institute of Cancer Research, London - James Petts, James Darcy, Simon Doran

The XNAT-OHIF Viewer plugin takes the hugely powerful Javascript-based Cornerstone DICOM viewer and adds significant XNAT-specific functionality, allowing you to open and view sessions, add annotations and draw segmentations or ROIs, and save data back to your XNAT project.

Documentation: XNAT OHIF Viewer

Source Code: https://bitbucket.org/icrimaginginformatics/ohif-viewer-xnat-plugin


XNAT JupyterHub Integration

Author: NRG – Andy Lassiter

The XNAT / JupyterHub integration allows users to launch Jupyter Notebooks with mounted XNAT project data, as a prebuilt data exploration playground. 

Documentation: Jupyter Integration

Download / Source Code: https://github.com/NrgXnat/xnat-docker-compose/tree/features/jupyterhub

XNAT Project Sync (Xsync) Plugin

Author: Mohana Ramaratnam, Mike Hodge, Michael Hileman

The Xsync plugin enables automatic synchronization of data from a project in one XNAT system to a project in a second system. Xsync is configurable to ensure that only the desired data is delivered, and if required, data is properly de-identified, and that it is delivered on a pre-set schedule.

Source Code / Documentation: https://bitbucket.org/xnatdev/xsync


DICOM Query/Retrieve (DQR) Plugin

Author: Mike McKay, Mark Florida, Will Horton, Rick Herrick

The DICOM Query/Retrieve plugin is a powerful tool for connecting XNAT with a PACS and finding, requesting, or sending data between the two systems. It also includes highly customizable remapping and relabeling functions.

Source Code: https://bitbucket.org/xnatdev/dicom-query-retrieve

XNAT ML Plugins

Author: NRG – Rick Herrick, Matt Kelsey, Will Horton

The XNAT ML suite of plugins enables the collection of project data into training datasets, then allows you to upload and configure a model to train on that data. See full documentation at XNAT ML

XNAT LDAP Authentication Plugin

Author: Rick Herrick

The LDAP Authentication plugin allows you to configure and use an external LDAP server registry for authentication into an XNAT system.

Source Code: https://bitbucket.org/xnatx/ldap-auth-plugin


XNAT OpenID Authentication Plugin

Author: Mohana Ramaratnam

The OpenID Authentication plugin allows you to configure and use an external OpenID server registry for authentication into an XNAT system.

Source Code: https://bitbucket.org/xnatx/openid-auth-plugin


Rad Read Plugin

Author: NRG - Mike McKay

The Rad Read plugin adds the radiology read data type to XNAT, and provides a convenient form for quickly making rad read annotations. The functionality of the edit form was developed in concert with Joshua Shimony and Tammie Benzinger, radiologists and study PIs at Washington University School of Medicine.

Source Code / Documentation: https://bitbucket.org/nrg_customizations/nrg_plugin_radread


Legacy Image Viewer

Author: NRG - Sunil Kumar

The legacy XIMGView Image Viewer is built in HTML5 and shipped as the default viewer in XNAT for versions 1.6.4 – 1.7.6. This viewer has been largely supplanted by the XNAT-OHIF Viewer Plugin. However, it offers support for viewing NIFTI images and can be installed side-by-side with the XNAT OHIF Viewer.

Source Code / Documentation: https://bitbucket.org/xnatdev/xnat-image-viewer-plugin 


External Apps & Command Line Tools

These apps are all meant to run on your local development environment. Most are available for Mac OS, Windows and Linux.

XNAT Desktop Client (DXM)

Author: NRG / UAR - Rick Herrick, Darko Ljubic, Marko Obradovic

The XNAT Desktop Transfer Manager (DXM) is a new lightweight desktop-installed client that manages uploads and downloads of XNAT image session data. Recent features add support for bulk uploads and pixel anonymization.

Type: Desktop Application (Linux / Windows / Mac)



Author: NRG - Dave Maffitt, Kevin Archie

DicomEdit is a small language for specifying modifications to DICOM metadata. It is used by both DicomBrowser and XNAT for scripted metadata modification. There are two versions of DicomEdit. The most up-to-date version of the language is 6.x, which supports editing DICOM sequences, private vendor tags, and many other new features.

Type: Language

Download / Source Code: https://bitbucket.org/xnatdcm/dicom-edit6


Author: Misha Milchenko (WUSTL), Mohana Ramaratnam (Flywheel)

The Face Masking package implements anatomical surface modification algorithm customized to de-identify the facial pixel data of MR head images in a way that minimizes the impact on the resulting image analysis of the brain.

Type: Container / Pipeline / Processing algorithm

Download / Source Code:

Docker Image: https://hub.docker.com/r/mohanar/facemasking

Container JSON: https://bitbucket.org/mohanar_radiologics/radiologics_containers

XNAT Populate

Author: NRG - Charlie Moore

XNAT Populate is a project which uploads image session data to an XNAT instance based on configuration YAML files. This utility comes with a wide variety of predefined datasets containing multiple modalities, multiple data formats, and other conditions that make it possible to test a wide variety of image handling scenarios.

Type: groovy command line script


git clone git@bitbucket.org:xnatdev/xnat_populate.git

Source Code: https://bitbucket.org/xnatdev/xnat_populate


Author: NRG - Charlie Moore

NRG_Selenium is a Java framework built on Selenium designed to power automated testing on XNAT-based systems. Current mature projects using the framework include a base XNAT test suite, and CNDA Pipeline tests, Test systems in various states from early planning to containing a few base tests include TIP Pipeline tests, Visits & Protocols tests, and CNDA-specific webapp tests. 

Type: Java (Maven based) Library

Download: Grab the latest dependency below with maven:


Source Code: https://bitbucket.org/xnatdev/nrg_selenium


Author: IMAGEN - David Just

pyxnat is a Python library to communicate with XNAT which is an extensible database system for imaging and related data. pyxnat uses the RESTful Web Services provided by XNAT and aims to ease communications with an XNAT server to plug-in external tools or python scripts by exposing a simple and consistent API.

Type: Python Library / Command Line

Source Code: https://github.com/pyxnat/pyxnat

XNAT Data Client (XDC)

Author: NRG - Rick Herrick

The XNAT Data Client supports data transfer operations to and from the XNAT server. This version of the XDC tool has been broken out on its own so that it can be placed anywhere on the user’s system path.

Type: Command Line


Source Code: https://bitbucket.org/xnatdev/data-client


XNAT Desktop

Author: NRG - Mikhail Milchenko

XNAT Desktop (XND for short) application is a graphical user interface purposed for organizing local files of arbitrary content, storing text metadata with managed files, distributed sharing of structured research data and measurements among desktop users, file repository servers and XNAT Enterprise archives.

Type: Desktop application (Linux, Windows, Mac)


Source Code: https://github.com/mmilch01/xnd



Author: NRG - Misha Milchenko

XTOLM is a local bash XNAT-aware console. This page documents a use case for computing whole brain volume using the Brain Extraction Tool for all MPRAGE scans in an MRI project in XNAT and saving statistics in a spreadsheet. 

Type: Bash

Download / Source Code: https://github.com/NrgXnat/xnat_bash_utils


Author: NRG - Jenny Gurney, James Ransford, Matt House

JAAT enables researchers using XNAT to request bulk moves of DICOM data between XNAT repositories, or from PACS to XNAT, in an efficient, customized, and HIPAA compliant way.

Type: Perl Application

Download: https://bitbucket.org/nrg/jaat/get/default.zip

Source Code: https://bitbucket.org/nrg/jaat


Author: NRG - Charlie Moore, Rick Herrick; Flywheel - Kate Alpert, Tim Olsen

The XNAT REST tests provide a standard set automated tests to validate XNAT functionality on a test server.

Type: groovy (internal libraries), Java (test implementation)

Source Code: https://bitbucket.org/xnatdev/xnat_rest_tests

Legacy XNAT Applications and Tools

These open-source applications no longer receive updates, and may be limited in functionality, but may still be useful to the XNAT community.


Author: NRG - Kevin Archie

 Arc-sync is a Python script that uses the XNAT REST API to make a local copy of session data in a named project. It works with Python 2.x (preferably 2.7) but not Python 3.x.

Download / Source Code: https://github.com/karchie/arc-sync


Author: NRG - Kevin Archie, Rick Herrick

DicomBrowser is an application for inspecting and modifying DICOM metadata in many files at once. A single imaging session can produce thousands of DICOM files; DicomBrowser allows users to view and edit a whole session—or even multiple sessions—at once. Users can save the original or modified files to disk, or send them across a network to a DICOM C-STORE service class provider, such as a PACS or an XNAT.

Type: Desktop Application. (Linux / Windows / Mac)


Source Code: https://bitbucket.org/xnatdcm/dicombrowser

XNAT Client Tools

Author: NRG - Tim Olsen

Very early iterations of command line tools that were developed against initial XNAT REST APIs to store and retrieve data from XNAT archives, including ArcGet, ArcRead, ArcSim and StoreXML.

Type: Bash / Command Line


Author: NRG - Mikhail Milchenko

 Use XNAT Gateway to query XNAT for DICOM images from a DICOM viewing workstation. You can install the Gateway locally and connect to it as to any other DICOM server. DICOM requests are translated into XNAT requests, and the result is returned over DICOM networking protocol.

Type: Desktop application (Linux / Windows / Mac)

Download/Source Code: https://github.com/mmilch01/gatewaye

XNAT Upload Assistant

Author: NRG - Rick Herrick

The XNAT Upload Assistant is a stand-alone desktop application that replaces the deprecated browser-based XNAT Image Upload Applet.

Type: Desktop application (Linux / Windows / Mac)