What is the modality of the data? The session rebuilder certainly seems to think it’s ECAT data, but this is actually a weird thing. The way that the session builder works is that it tries out each of the builder configurations that it has, starting with
DICOM. If the DICOM build fails, it moves onto an ECAT/PET build. This gives the misleading error you’re getting. Basically it’s trying to get the timezone from the parameters submitted with the session, but there IS no timezone submitted with the session
because it’s not an ECAT session (and actually even regular PET data is handled by the DICOMSessionBuilder because it is actually DICOM: the DICOM/PET split in the XNAT session builder code is a little misleading, since it’s really about ECAT, i.e. non-DICOM
PET data). Once there’s no timezone, you get the null pointer exception when it’s trying to look the time zone up. This is actually fixed in 1.6.5 so that it will use the default timezone if no timezone parameter is specified.
There are three processing blocks there:
After each processing block, the code checks whether the session XML was actually created. If so, it breaks out of the loop. If not, it goes onto the next build configuration. In most cases, the data is DICOM and the first build configuration succeeds
in initializing the session XML and everything proceeds nicely after that. In this case, something’s going wrong building the DICOM session XML document and processing is falling through to the ECAT processing block.
The DICOM session build operation actually happens in the DICOMSessionBuilder class, which is part of the XNAT DICOM metadata translation library (dicom-xnat-1.6.4.jar). You can try bumping up the logging level to debug to see if that will give you any
more information as to what’s happening internally there. If you can connect to the server code with a debugger, you can grab the source code for that in the file plugin-resources/repository/dcm/jars/dicom-xnat-mx-1.6.4-sources.jar. You can also clone the
repo from
https://bitbucket.org/nrg/dicom-xnat, but will need to update to the tag v1.6.0 (note NOT 1.6.4!
https://bitbucket.org/nrg/dicom-xnat/commits/tag/v1.6.0).
--
Rick Herrick
Sr. Programmer/Analyst
Neuroinformatics Research Group
Washington University School of Medicine
(314) 362-1882