Slicer XNAT interface - QIICR/ProjectIssuesAndWiki GitHub Wiki
Objective
Improve integration of 3D Slicer with XNAT
Specific tasks
- test the capabilities of 3D Slicer XNAT extension (installation, support of different platforms, usability, support of various DICOM and non-DICOM data types)
- summarize and report issues identified to the Slicer developer list
- Consider the usability of XNATSlicer XNAT API from other modules?
Status
Issues identified
#1 Connection failure with http:// - cannot use SPLBWH XNAT
XnatSlicer Module: Checking if SSL is installed... XnatSlicer Module: SSL is installed! Traceback (most recent call last): File "/Users/fedorov/github/XNATSlicer/XNATSlicer/XnatSlicer.py", line 893, in onLoginButtonClicked self.beginXnat() File "/Users/fedorov/github/XNATSlicer/XNATSlicer/XnatSlicer.py", line 670, in beginXnat self.XnatView.begin() File "/Users/fedorov/github/XNATSlicer/XNATSlicer/XnatSlicerLib/ui/XnatView.py", line 66, in begin queryArguments = ['accessible']) File "/Users/fedorov/github/XNATSlicer/XNATSlicer/XnatSlicerLib/io/XnatIo.py", line 797, in getFolderContents json = self.getJson(newQueryUri) File "/Users/fedorov/github/XNATSlicer/XNATSlicer/XnatSlicerLib/io/XnatIo.py", line 636, in getJson response = self.httpsRequest('GET', xnatUri).read() File "/Users/fedorov/github/XNATSlicer/XNATSlicer/XnatSlicerLib/io/XnatIo.py", line 314, in httpsRequest connection.request(restMethod, req.get_selector (), body = body, headers = header) File "/Users/fedorov/local/builds/Slicer4-Release/python-install/lib/python2.7/httplib.py", line 958, in request self._send_request(method, url, body, headers) File "/Users/fedorov/local/builds/Slicer4-Release/python-install/lib/python2.7/httplib.py", line 992, in _send_request self.endheaders(body) File "/Users/fedorov/local/builds/Slicer4-Release/python-install/lib/python2.7/httplib.py", line 954, in endheaders self._send_output(message_body) File "/Users/fedorov/local/builds/Slicer4-Release/python-install/lib/python2.7/httplib.py", line 814, in _send_output self.send(msg) File "/Users/fedorov/local/builds/Slicer4-Release/python-install/lib/python2.7/httplib.py", line 776, in send self.connect() File "/Users/fedorov/local/builds/Slicer4-Release/python-install/lib/python2.7/httplib.py", line 1161, in connect self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file) File "/Users/fedorov/local/builds/Slicer4-Release/python-install/lib/python2.7/ssl.py", line 381, in wrap_socket ciphers=ciphers) File "/Users/fedorov/local/builds/Slicer4-Release/python-install/lib/python2.7/ssl.py", line 143, in init self.do_handshake() File "/Users/fedorov/local/builds/Slicer4-Release/python-install/lib/python2.7/ssl.py", line 305, in do_handshake self._sslobj.do_handshake() ssl.SSLError: [Errno 1] _ssl.c:504: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
#2 Loading of non-scalar volumes: DCE MRI is loaded as a scalar volume. Need to have special handling/prompt user when multiple loadables are identified.
#3 Implicit import/caching: the data loaded into Slicer appears to be stored in a cache, and imported into DICOM DB. Need to confirm this, perhaps prompt user for desired behavior (copy to DICOM DB files location or store temporarily in the cache).