Breakouts

Breakouts are informal, potentially spontaneous, sessions occurring in parallel with the practical sessions for attendees and XNAT team members to discuss conduct coding sessions, discuss topics of interest, and do other XNATty things.  Breakout rooms are available on the 2nd floor of the FLTC conference building.  Plan to wrap up breakout session in time to rejoin the main track for the afternoon talks at 4:00.

Want to propose a new breakout? Just add it to this table.

If you'd like to create a dedicated page in the wiki for your breakout topic: edit the page, surround your Breakout Title with a pair of brackets, like so:

[My Breakout Title]

Then select "Insert a link to create a new page" from the pulldown menu that appears.

Breakout Title Brief Overview Approach Proposed By Who Is Participating?
Name your project Provide a brief overview of your hackathon project as a page excerpt. What is it? Who would use it, and why?  How are you planning to extend or add on to existing XNAT functionality?   Your name (Your group) Other developers names
Data Report Page for Project Reporting Take the results of a project completeness query, performed outside XNAT, and post it up to a project – either as a project resource, or as a generic project assessor / experiment. Allow users to access the report page inside XNAT. Explore support for project assessors, or for exposing HTML stored in project resources to be consumable as HTML rather than as a file. Use TIP BENICE report as a potential inspiration for managing charts and report sections.

Will Horton (NRG)

Brian Boyd (Vanderbilt)

Mark Florida Dave Maffitt
More Pre-Archive Datatypes via REST Ability to create and add sessions in Pre-Archive via REST for some of the less used datatypes (MEG is of interest). The ability seems to be there for MRI. With some guidance from NRG gurus we can hopefully copy, paste, and modify the functionality for other datatypes. Ben Wagner (UTSW)  

Development Tools, Best Practices for Writing XNAT Code and Plugins, an General Geek Session

Thursday Evening, 2nd Floor Breakout Rooms

I spend a lot of time writing XNAT code, probably more than you do. I use tools. This is my story.

Mostly practical discussions and demonstrations: working with XNAT code and code repositories, setting up development tools, working between host machine and VMs, This will focus mostly on working with the XNAT 1.7 architecture, but may cover some 1.6 relevant topics as well.

We're considering having this breakout as a late session on Thursday evening. Pizza? Beer? Maybe. Probably. OK, pizza and beer. (Turns out there are lots of leftover BBQ – we'll bring it in for this session.)

Rick Herrick (NRG)

Tim Olsen, James Dickson, Kate Alpert

Ben Yvernault

Scan Type Mapping Strategies XNAT does its best to figure out a good scan name from series description. Sometimes it fails. I'd like to have three separate fields (or more?) for tracking scan type. "Series description" should maintain what's in the DICOM. "Scan type" (or something like it) should be the project-preferred value. "XNAT Global scan type" would be a canonical type agreed to by the global community. The purpose of the global scan type is to support mapping across projects and XNAT instances. XNAT will need some sort intelligence to classify scans into the global types based on available metadata. I'm thinking maybe dumping the DICOM to json and putting that mongo (or something like that) and then running a classifier on it. Dan Marcus (NRG)

Tim Olsen

David Cash

John West

Pangalactic XNAT Federation

12:00 Wednesday 2nd Floor Hearth Area

XNAT instances are isolated silos. Let's get them talking to one another Now that there are a slew of XNAT instances out there, it'd be nice to get them linked up. There are lots of issues to think through: What metadata should be available via a global search? What XNAT sites are interested in participating? How would global user accounts be managed? What sort of global index is needed? Dan Marcus (NRG)

Stephen Damon

Brian Boyd

Ben Yvernault

John West

The Spawner, YAML and You (Front-end extension and customization) 

Thursday 3:00 (after the practical session), 2nd Floor Breakout Rooms

Create front-end UI components that interact with the back-end via REST without writing HTML or JavaScript.

XNAT 1.7 has a new REST API called XAPI. One of the new XAPI services is affectionately known as "The Spawner." The Spawner service consumes easily-written and maintainable YAML code and generates JSON that is parsed by XNAT's JavaScript library (JLAPI, pronounced "jallopy") to automagically create UI components for working with XNAT's REST services. I can walk though how to write YAML code to leverage currently available UI widget components and how to create a custom widget (which will, actually, involve writing some JavaScript and maybe HTML). I will also briefly touch on XNAT's new support for JSP templates and how to use the "page" JSP taglib.

Mark Florida (NRG) David Just Dave Maffitt

Managing ZFS

Friday 12:00, 2nd Floor Breakout Rooms (TBA)

ZFS is a nearly ideal data storage solution for XNAT. There are many ZFS solutions, however, I have built our own solution and management scripts called OZMT. ZFS solves several data storage problems for XNAT. ZFS a durable file system that guarantees 100% correct data. When built properly it can scale tremendously, have unlimited snapshots and continuous replication. ZFS is an open source file system and can provide enterprise grade storage without the enterprise pricing. I will cover the various ZFS storage systems at Wash U and the OZMT scripts used to manage them. I will show off snapshots, writable snapshot clones, replication and scalablity. Chip Schweiss (NRG)  
Subject level assessors Recently our PIs have asked for "longitudinal assessors". We'd like to extend the subject vm to support assessors like on session.s Longitudinal assessors are currently being stored as a standard named session. Storing the data as a subject resource hasn't worked great (even tough it works). Our users would like to be able to see the assessors on the subject vm just as in the session. This would mark a great extension in our ability to support standarized longitudinal processing (such as FreeSurfer for the ADNI and ABIDE projects).

Stephen Damon

Brian Boyd

(Vanderbilt University)

Stephen Damon

Brian Boyd

Ben Yvernault

Hakim Achterberg

Kate Alpert

Pradeep Thiyyagura

Postgres interface for XNAT Large scale projects on a heavily loaded VM have pounded our postgres system and frontend vm. We've developed some wrappers to generate assessors (our main bottleneck) on postgres stripping out the REST API We'd like to make a pseudo API in python that mimics some, but not all of the features of pyxnat using psycopg2 (just creation, no download, no delete). Right now we have a working method for assessors. We generated 37,000 assessors in ~2 hours where it over 30 days to complete on our (slow) production system

Stephen Damon

Brian Boyd

(Vanderbilt University)

Stephen Damon

Brian Boyd

Human Connectome Project

Thursday, 12:00, Room 210

HCP has lots of fun XNAT stuff and pipelines

Chat with the developers of the HCP informatics platform

2016.06.21: During this breakout session, a request was made that I (Tim Brown) post a link to the repository containing the scripts I described for launching batches of pipeline jobs on the WUSTL CHPC cluster. That repository is at https://github.com/Washington-University/xnat_pbs_jobs.git As Dan Marcus mentioned, these scripts have not been written to be applicable in a wide variety of settings. They are specific to the WUSTL CHPC cluster and the PBS Job Scheduler used there. However, I hope they are helpful. Also, if you do try to modify them to make use of them and find that some prerequisites are not included, please let me (Tim Brown) know.

Mike Hodge

Tim Brown,

Mohana Ramaratnam

John West, Aniqa, Ravid

Dhruman Goradia

Pratik Gandhi


Completed Breakouts

Breakout Title Brief Overview Approach Proposed By Who Is Participating?

External work flow engine integration

Tuesday, 1:30, 2nd Floor Hearth Area (room 210)

XNAT has its own work flow engine. However, there are many other engines (OpenMOLE, Fastr, Nipype, etc). It would be very interesting to see how to connect these engines to XNAT.

There are two aspects of integration:

  • Getting data from XNAT and storing processed data to XNAT. This can probably be done using the REST interface.
  • Allowing XNAT to start work flows and batch processing. This would need some system to allow XNAT to make a standardized call to a work flow system.

Hakim Achterberg (Erasmus MC),

Marcel Koek (Erasmus MC)

Stephen Damon

Brian Boyd

Adriaan Versteeg

Mikhail Milchenko

Tim Brown

Kate Alpert

Mark Bergman

Pratik Gandhi

Bart Hoekstra

Open source reproducible neuroimaging tools

Tuesday, 2:30, 2nd Floor Hearth Area

(Merged with the External work flow engine integration)

Many groups seek to analyze data in a similar manor that is standardized with an emphasis on reproducibility. Vanderbilt University has developed a wrapper called a "spider" which encapsulates a neuroimaging pipeline. We have over 150 including DTI, HARDI, Structural, fMRI (first level and preproc), connectivity (dti and fMRI and structural), optic nerve (CT and MR), abdomen (wall and 13 ROIs), spleen, brain, ASL, SWI, MRA and more. These tools all are open source through the masimatlab NITRC project. Just click to join our team!

Brian Boyd

Stephen Damon

Pratik Gandhi

@John West

Dhruman Goradia

David Cash

REDCap integration

Tuesday, 2:30, 2nd Floor Hearth Area

Lots of us use REDCap for managing clinical data and protocols. Wouldn't it be nice if REDCap conversed fluently with XNAT? The NRG has explored this a bit and it isn't obvious exactly how to get nice integration. In chatting with others, it seems some have made more progress than we did. But there's still plenty to be done and seemingly enough interest that we can join efforts to bang it out. Dan Marcus

Brian Boyd

Stephen Damon

Dhruman Goradia

Chris Fahim

Kate Alpert

Pratik Gandhi

@John West

Pradeep

Jenny Gurney

David Cash

Python interface for XNAT

XNAT offers a REST interface for remote interaction. There are multiple python modules to use the rest interface, the most notable being pyxnat. Recently, another approach was demonstrated in xnatpy.

It would be good to discuss the future of the python interface for XNAT. What would be the ideal interface and what approach(es) should we take? Does it make sense to have multiple modules, or could we have one that offers more options?

Related, it might be good to look into the REST interface changes in XNAT 1.7

Hakim Achterberg (Erasmus MC)

David Just (Mayo Clinic)

Pratik Gandhi (IUSoM, CfN)

John West

Eve LoCastro

Ben Yvernault

Recommendation for SSL integration Looking to find what is recommended for an SSL setup.

Our XNAT administrators who could not make the meeting have asked us to find as much information as we can on setting up SSL with XNAT. From our admin: "I think our big question is 'what is the recommended ssl setup'. It sounds like it is using nginx as a proxy for tomcat. Are there any parameters in build.properties that need to be adjusted for an ssl setup with proxying?" Hopefully this will help others as well. I would expect this to be a shorter breakout as it is more a 'how to' rather than a development session.

Ben West: Apache SSL termination with mod_jk (outdated) or mod_proxy_ajp is used in NRG internally.  Can share example configs. ETA: Recommendation for SSL integration

John West: That would be great thanks. Also, interested in seeing how this would work with nginx so we have some options.

John West (CfN)

Pratik Gandhi

(CfN)

 
Freesurfer data upload and QC in XNAT
Freesurfer is used extensively by researchers at the IU School of Medicine. Incorporating the data and QC into XNAT would be a huge benefit to them, and also to other researchers in the community.

Using XNAT to upload Freesurfer data and do QC would be very beneficial. Freesurfer is a widespread tool used by hundreds of researchers. We at the Center for Neuroimaging have processed over 10000 scans ourselves. However, we do not have a good database to store this rich data set. We'd like to get some insight on how to load Freesurfer data (and hopefully by extension other data into XNAT) as well as use the system to do QC. We have documentation from the group at Vanderbilt on the Freesurfer QC they already do, so we hope they would have time to participate as we believe their input would be invaluable.

John West: May go over some of this at the "Open source reproducible neuroimaging tools" Breakout

John West: Much of this was gone over during the breakout mentioned above. Will consider this complete, but if others want to (are available) do a separate breakout that is ok.

John West (IUSoM,CfN)

Pratik Gandhi (IUSoM,CfN)

Stephen Damon

Brian Boyd

Adriaan Versteeg

Marcel Koek

Pradeep

Kate Alpert

Mark Bergman

$label.name