Orthanc with 3D Slicer


Thank you for this wonderful software first of all!

I've been playing around with Orthanc & Its great! However, currently I'm having an issue. I'm unable to retrieve any studies from Orthanc using 3DSlicer(v4.4.0). I've added 3DSlicer to Dicom Modalities section of Orthanc configuration file ("3DSlicer" : [ "3DSlicer", "", 90,"Generic"]). I'm able to query patients & the details can be seen. But when I click on 'Retrieve', nothing happens at 3DSlicer.

I'm getting this at Orthanc:

I0125 18:32:19.346454 1444 CommandDispatcher.cpp:491] Association Received from
AET 3DSlicer on IP
I0125 18:32:19.487082 1444 CommandDispatcher.cpp:684] Association Acknowledged
(Max Send PDV: 16372)
W0125 18:32:19.783962 2816 OrthancMoveRequestHandler.cpp:133] Move-SCU request
received for AET ""
I0125 18:32:19.783962 2816 OrthancMoveRequestHandler.cpp:61] Sending resource e
617b80d-08c9fd54-12f2e3b9-fb79a7e5-a558c3da to modality ""
E0125 18:32:19.783962 2816 MoveScp.cpp:150] IMoveRequestHandler Failed: Unknown
modality for AET:
I0125 18:32:19.908965 2816 CommandDispatcher.cpp:835] DUL Peer Requested Releas
I0125 18:32:19.908965 2816 CommandDispatcher.cpp:842] Association Release

What am I doing wrong? I can see that the AET is "" at line 3 of the log. Any help is appreciated!


Hi there!

I am able to query and retrieve from Orthanc 0.8.5 using 3DSlicer.

A few notes though:

  1. You need to turn on the Dicom Listener on 3DSlicer.
  2. You need to un-tick CGET
  3. I don’t think you’re allowed to use port 90… (it’s reserved or something like that, right?). Try using a higher port, e.g. 11112.
  4. Be sure to stop and then restart the listener after you change the port on 3DSlicer.

Hope that helps.


Haha, my bad.

Correction: Port 90 does work.

Remembering what Sebastien said about “Q/R” actually involving 3 servers, on a hunch, I replicated your error by blanking the “Storage AETitle” in 3DSlicer’s DICOM window.
You’ll need to match the Calling AETitle and Storage AETitle.

Hope it helps.


Hello Emsy Chan,

I'm confused by 3 servers! My setup is as follows, I'm running Orthanc in a machine & 3DSlicer in another one & trying to get the data. I'm able to query the patient details & I can see the details in 3DSlicer. As you directed, I've made both Calling AETitle & Storage AETitle 3DSlicer. Now I'm getting the following at the log:

I0126 04:23:59.147922 3984 CommandDispatcher.cpp:491] Association Received from AET 3DSlicer on IP
I0126 04:23:59.226048 3984 CommandDispatcher.cpp:684] Association Acknowledged
(Max Send PDV: 16372)
W0126 04:23:59.507303 3616 OrthancMoveRequestHandler.cpp:133] Move-SCU request
received for AET "3DSlicer"
I0126 04:23:59.507303 3616 OrthancMoveRequestHandler.cpp:61] Sending resource 1
46444e7-1b2f831b-a221fe76-cbd1a47c-608f2fe7 to modality "3DSlicer"
I0126 04:23:59.522929 3616 DicomUserConnection.cpp:725] Opening a DICOM SCU con
nection from AET "ORTHANC" to AET "3DSlicer" on host (manufactu
rer: Generic)
E0126 04:24:09.523121 3616 DicomUserConnection.cpp:159] DicomUserConnection: Fa
iled to establish association
0006:0317 Peer aborted Association (or never connected)
0006:031c TCP Initialization Error: No error (Timeout)
E0126 04:24:09.523121 3616 MoveScp.cpp:179] IMoveRequestHandler Failed: Error i
n the network protocol
I0126 04:24:09.663748 3616 CommandDispatcher.cpp:835] DUL Peer Requested Releas
I0126 04:24:09.663748 3616 CommandDispatcher.cpp:842] Association Release
I0126 04:24:14.554467 3776 ReusableDicomUserConnection.cpp:99] Closing the glob
al SCU connection after timeout

I'm guessing Orthanc cannot find a server to send the files to. On my current setup, If I try using the server MedicalConnections that came with 3DSlicer, it works fine. I can retrieve studies stored in that server & They're available at the DICOM Browser of 3DSlicer. I think I'm doing something fundamentally wrong!



1st server: “Calling AETitle” is the one that makes the query
2nd server: Orthanc is the one that lists the found studies
3rd server: “Storage AETitle” is the one that receives the studies from the 2nd server

Usually, the 1st and 3rd servers are the same, but they can be different (i.e. in Osirix, you can “retrieve” studies to a different DICOM node).

I had the same errors when I forgot to turn the Listener on in 3DSlicer. Can you confirm that this is on? If the button says “Start Listener”, it means that the listener is NOT on. If the button says “Stop Listener” it means that it is on.

If the listener is on, try sending a study from Orthanc (through the web interface) to 3DSlicer.

Good luck!


Hello Emsy,

Fixed the issue, My router was blocking the inbound connection! Thank you so much for your help :slight_smile:



Thanks to both of you for this constructing post.