Uploading Imaging Data

Adding imaging data

The most common purpose for XNAT usage is to store imaging data. The list of imaging types which XNAT supports is continually expanding. Currently DICOM, Analyze, ECAT, IMA, and NRD are supported in varying degrees. XNAT supports several modalities, including MRI, CT, and PET.

The method for storing imaging data into XNAT varies according to the usage of XNAT. Some laboratories use XNAT to continually manage ongoing studies. Other XNAT installations are used to manage completed studies. Depending on their usage, some users upload data directly from image scanners (via a DICOM Send). Other users, upload all of the project data at once, programmatically.

Data is not moved into XNAT’s permanent archive space until its assignment to a project and subject are complete. For this reason, some of the upload methods will move data into a pre-archive space. Users can populate the missing data, and initiate a process to transfer the data to the archive.

Kevin Archie's hands-on demonstration of common Uploading issues. From the 2012 XNAT Workshop. (Watch this on Vimeo.com).

HTTP Upload

The easiest method for uploading imaging data is via the Upload Image Sessions form which can be access by going to Upload -> Images in the menu bar.

You then select a project and subject that you want to upload data for. Then, you can either enter the session date or leave this blank and check the "" checkbox. Then click Launch Uploader and follow these steps.

If you do not want to use the Upload Applet, click on the "Looking for other ways to upload images?" link. You then have the option of doing a compressed upload. Using this method, users zip up (or tar.gz) their data and submit it directly through the HTML form. This process supports DICOM, ECAT, and some IMA. The data will be uploaded, extracted, reviewed, and moved into the appropriate project pre-archive space. From this location, users can match the data to pre-created imaging sessions, subjects and projects.

This method works well for users who are uploading a limited amount of data or for testing purposes. When uploading data in bulk, the other methods should be reviewed.

Web Services

Another common way to upload imaging data to XNAT is via Web Services. This is particularly useful to users who are storing data programmaticaly. Often web services are used in a processing workflow. The data will be downloaded from XNAT via a web service (ArcGet) and then the processing results will be uploaded back to XNAT (as assessments or reconstructions) via the RESTful web service.

The XNAT REST API gives users many options for uploading data. Review the REST documentation for more info.


Starting with version 1.5, XNAT includes an integrated DICOM C-STORE Service Class Provider (SCP). This service can receive data from any DICOM C-STORE Service Class User (SCU), including scanners or DICOM viewers such as OsiriX or DicomBrowser. The C-STORE receiver specifications are listed under option 2 when you click to see more upload options.

DICOM Browser is a powerful tool for anonymizing image data and uploading it to an XNAT installation.

Troubleshooting: Fixing a Broken Upload

Video: Kevin Archie demonstrates how to merge two partial uploads into a single session. (Watch this on Vimeo).

Uploading non-DICOM data (advanced)

If your project contains lots of unsupported file types, consider  tagging your data and uploading with XNAT Desktop.