The standard XNAT installation offers support for storage and processing of image sessions. However, XNAT's architecture is flexible enough to model and store almost any type of research data. XNAT customizations can provide a secure centralized data repository, which allows researchers to easily correlate information across scientific disciplines. For common data types, general purpose models can be created and then extended for each project’s specific needs. For those XNAT installations which rely heavily on the website interface, the auto-generated edit, report and listing pages can be easily customized either on a site-wide or per project basis.

In this session, we will discuss existing XNAT customizations, including IQ Assessments and Radiology Reads. We will cover all steps of customization from data modeling to user interface.


Date: 06/29/10
Time: 9:30 AM
Presenter(s): Jenny Gurney
Location: Connor Auditorium


  • Demonstration of existing XNAT Customizations
    • IQ Assessments
  • Radiology Reads
  • Updating the XNAT data model
    • Creating new namespaces
    • Extending subjectAssessor and imageAssessor
    • Dos and don'ts
    • Updating XNAT
  • Updating the XNAT user interface
    • Velocity overview
      • The context
      • Syntax
    • Customizing XNAT edit and report pages
      • Site-wide customization
      • Per project customization
    • Customizing listings |

Relevant Documentation:



XNAT Customizations.pdf

Download files for IQ Assessment and Radiology Read examples from the presentation

(After files are deployed, add the following line to the Radiology Read "Report Actions" Go to Administer, datatypes, then click on imgassr:radiologyReadData

Report Actions
Name: UploadKeyImages
Display Name: Add Key Images
Image: update.gif
Secure Access: edit
Sequence: 4

  • No labels

1 Comment

  1. Tip for whether to use $item or $om in XNAT velocity macros:

    Generally speaking, if $item is there, then $om should be too. The difference is that one is that $item is an XFTItem object. The other $om is the generated java class that wraps it (XnatSubjectdata,XnatMrsessionData, etc). The $om will have lots of helper methods in it. Generally speaking, the $om is probably what you should be using. The $item is there mainly due to backwards compatabilty with a period of time 10 years ago when om objects didn't exist, and there was only xft.