XNAT Plugins
These plugins can all be installed on XNAT 1.7. See Deploying Plugins in XNAT for general setup instructions.
Container Service Plugin
Author: NRG - John Flavin
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://www.github.com/NrgXnat/container-service
XNAT Project Sync (Xsync) Plugin
Author: NRG – Mohana Ramaratnam, Mike Hodge, Michael Hileman, Atul Kaushal
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: https://bitbucket.org/xnatdev/xsync
Selectable Scan Table Plugin
Author: NRG - Will Horton
The selectable scan table plugin was developed primarily to augment the Container Service plugin and allow users to run containers on individual scans in an image session, or to run containers on multiple scans in bulk. It also introduces a number of layout improvements and convenience functions that are slated to be brought into core XNAT.
Source Code: https://bitbucket.org/xnatdev/selectable-table-plugin
Rad Read Plugin
Author: NRG - Mike McKay
The Rad Read plugin adds the radiology read data type to XNAT 1.7, 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
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.
Arc-Sync
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
DicomBrowser
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/nrg/dicombrowser
DicomEdit
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.0, which supports editing DICOM sequences, private vendor tags, and many other new features. This is the version included with XNAT 1.7.
Type: Language
Download / Source Code: https://bitbucket.org/xnatdev/dicom-edit
JAAT
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
Module to Plugin Conversion Script
Author: NRG - Mike McKay
This is a developer utility to aid in the migration of XNAT 1.6 customizations to XNAT 1.7+ plugins.
Source Code / Documentation: https://bitbucket.org/xnatdev/module_to_plugin
NRG_Selenium
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:
<dependency> <groupId>org.nrg</groupId> <artifactId>selenium</artifactId> <version>4.0-SNAPSHOT</version> </dependency>
Source Code: https://bitbucket.org/xnatdev/nrg_selenium
PyXNAT
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
Download / Documentation: https://pythonhosted.org/pyxnat/
Source Code: https://github.com/pyxnat/pyxnat
XGet
Author: NRG - Aditya Siram
xget is a command-line tool written in Python that downloads images from an XNAT server. It is more convenient that the REST API because it allows the user to place more granular constraints on what images they would like to download. It uses the pyxnat library to interact with the XNAT server.
Type: Python Library / Command Line
Download: https://bintray.com/nrgxnat/generic/xget
Source Code: https://bitbucket.org/deech/xget-public
XNAT Client Tools
Author: NRG - Tim Olsen
A number of command line tools have been developed to store and retrieve data from XNAT archives, including ArcGet, ArcRead, ArcSim and StoreXML.
Type: Bash / Command Line
Download: https://bintray.com/nrgxnat/generic/XNAT-client-tools
XNAT Data Client (XDC)
Author: NRG - Rick Herrick | Last Updated: 2016-02-25
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. The XNAT Data Client replaces the deprecated XNAT REST Client, as of XNAT 1.6.x.
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)
XNAT-DICOM Gateway
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)
XNAT Populate
Author: NRG - Charlie Moore
XNAT Populate is a project which uploads data to an XNAT instance based on configuration YAML files.
Type: groovy command line script
Download:
git clone git@bitbucket.org:xnatdev/xnat_populate.git
Source Code: https://bitbucket.org/xnatdev/xnat_populate
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)
XTOLM
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.