What's New In XNAT

XNAT Event Service

XNAT 1.8 introduces the XNAT Event Service, which offers powerful tools for automating tasks based on very specific data actions. See Using the XNAT Event Service

XNAT Machine Learning Support

In November 2019, the XNAT team unveiled its first demonstration of machine learning support in XNAT, in collaboration with NVIDIA. Later in 2020, the first XNAT ML beta was released. Now, with XNAT 1.8 and the XNAT OHIF Viewer 3.0, support for machine learning and AI-assisted annotations has been strengthened.

See: XNAT ML & XNAT OHIF Viewer Plugin

WAR-only Installation Process

Since the introduction of XNAT 1.7, the XNAT installation process uses a Gradle plugin to generate code from data-type schema files. The XNAT application is delivered as a .war file, which can be dropped right into your Tomcat 7 server. There is no source code or folder to worry about. This makes upgrading to newer versions of XNAT much easier than in the past.

See: XNAT Installation Guide & How to Upgrade XNAT

There are now multiple ways to get a prepackaged XNAT running in a virtual environment. The latest, using docker-compose, allows you to bring up a full XNAT ecosystem with pre-installed plugins and other systems, such as a development instance of an ORTHANC PACS server.

See: Running XNAT in a Dockerized Container with Configurable Dependencies

See: Running XNAT in a Vagrant Virtual Machine 

Native Snapshot Generation

XNAT has historically relied on the Autorun pipeline to generate snapshots of scans at the conclusion of the session-builder process. This has meant that the pipeline engine was required to be installed in order to complete the image import process. In XNAT 1.8, snapshots are now generated natively, removing this dependency. Users can also generate their own montage views on the fly.

See: Generating Scan Snapshots and Montages in XNAT

Users may wish to keep the Autorun pipeline enabled to receive emails upon successful image imports. See: XNAT Pipeline API

Image Viewing is Plugin-Enabled

XNAT supports two separate image viewing plugins, and XNAT administrators can choose to install one or both depending on their needs.

  • The XNAT-OHIF Image Viewer is highly recommended for its ability to support segmentations and annotations, as well as receiving ongoing support and development
  • The Legacy XNAT Image Viewer has been deprecated and removed from core XNAT, but can still be run as a plugin. Its primary advantage is an ability to view NIFTI images

Enhanced Datatype Support

XNAT 1.8 offers support for enabling image scan data to be searchable, which also allows users to launch batches of process on scans using the Batch Launch Plugin and Container Service. XNAT 1.8 also offers improved support for project-level experiments, such as a Machine Learning training run.

Activity Tab for Monitoring Asynchronous Workflows

Key XNAT data workflows such as the Compressed Image Uploader, the Review and Archive feature in the Prearchive, and Container launches are now handled asynchronously, allowing the user to navigate away from a submitted form and continue working. The status of their workflow is tracked in a new "Activity" tab that is pinned to the bottom of the user's browser window.

Enhanced DICOM Project Routing Capabilities

XNAT Site Administrators can customize which DICOM tags are used to route incoming image sessions without requiring a plugin.

Enhanced Anonymization Capabilities

XNAT 1.8 uses version 6.3 of the DicomEdit Language to create anonymization scripts. This version is backwards compatible with previous DicomEdit 6 versions and adds some new capabilities. New features include the ability to mask regions of pixel data that contain burned-in PHI and a shift date-time by increment function which obscures dateTimes for privacy but retains the intervals between dates. See: DicomEdit 6.3 Language Reference for complete details.

Updated Technology Prerequisites

XNAT 1.8 is built on Java 8 and PostgreSQL 9.6 (though PostgreSQL 10 is recommended). Additionally, the XNAT Pipeline Engine is no longer a requirement for image archiving in XNAT (though it still provides value).

See: Prerequisites for Installing XNAT

Updates to Core Plugins

The XNAT plugin architecture is unchanged from XNAT 1.7 to 1.8, but plugins themselves often have version-specific dependencies. This is particularly true of plugins that offer new functional features. Notable plugins receiving updates simultaneously with XNAT:

Self-documenting REST API using Swagger

XNAT continues to run two sets of API in parallel. The legacy API endpoints, accessible at /REST or /data, are still supported but are only documented through this wiki. Modern endpoints, accessible at /xapi, are "self-documenting" using the Swagger UI. These are accessible in every installed XNAT (1.7 and later) at https://{xnat-server}/xapi/swagger-ui.html

See: XNAT API Documentation

What Hasn't Changed in XNAT? 

The underlying architecture for 1.8 is largely the same as 1.7.6:

  • Datatype schemas for earlier versions of XNAT are still valid
  • Security and user data are the same
  • Most existing configuration data will migrate quietly