# Download DICOM images via DICOM protocol

**URL:** https://discourse.orthanc-server.org/t/download-dicom-images-via-dicom-protocol/583
**Category:** Google Groups archive
**Created:** [January 6, 2017, 11:06am UTC](https://discourse.orthanc-server.org/t/download-dicom-images-via-dicom-protocol/583 "2017-01-06T11:06:46Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![Charanpal\_Dhanjal](https://discourse.orthanc-server.org/letter_avatar_proxy/v4/letter/c/b5a626/32.png) [@Charanpal\_Dhanjal](https://discourse.orthanc-server.org/u/Charanpal_Dhanjal)
#### Post date: [January 6, 2017, 11:06am UTC](https://discourse.orthanc-server.org/t/download-dicom-images-via-dicom-protocol/583/1 "2017-01-06T11:06:46Z")

</div>

Dear all,

Firstly, thanks to the developers of Orthanc for an excellent software package. I would like to know how to download DICOM images via the DICOM protocol to my local machine. I realise there is a very nice REST interface to Orthanc but I would like my approach to generalise to other DICOM servers if possible. Here is what I have tried so far (I am using the GDCM tools [http://gdcm.sourceforge.net/html/gdcmscu.html](http://gdcm.sourceforge.net/html/gdcmscu.html)):

First, I check that I can query the server using C-Find (the server is version 1.2.0 running on my own Linux machine):

findscu -aet NAME -S -k QueryRetrieveLevel=SERIES -k SeriesInstanceUID=“itnvwca4ji-4ch\_228” localhost 4242

I: ---------------------------  
I: Find Response: 1 (Pending)  
I:  
I: # Dicom-Data-Set  
I: # Used TransferSyntax: Little Endian Explicit  
I: (0008,0005) CS [ISO\_IR 100] # 10, 1 SpecificCharacterSet  
I: (0008,0052) CS [SERIES] # 6, 1 QueryRetrieveLevel  
I: (0020,000e) UI [itnvwca4ji-4ch\_228] # 18, 1 SeriesInstanceUID  
I:

which works well. Then I use the C-Move query with the same parameters:

movescu -aet NAME -S -k QueryRetrieveLevel=SERIES -k SeriesInstanceUID=“itnvwca4ji-4ch\_228” localhost 4242

and here is the output from Orthanc:

I0106 11:00:12.178144 CommandDispatcher.cpp:490] Association Received from AET NAME on IP 127.0.0.1  
I0106 11:00:12.178990 CommandDispatcher.cpp:688] Association Acknowledged (Max Send PDV: 16372)  
W0106 11:00:12.179856 OrthancMoveRequestHandler.cpp:178] Move-SCU request received for AET “NAME”  
I0106 11:00:12.179956 OrthancMoveRequestHandler.cpp:186] (0008,0052) QueryRetrieveLevel = SERIES  
I0106 11:00:12.180045 OrthancMoveRequestHandler.cpp:186] (0020,000e) SeriesInstanceUID = itnvwca4ji-4ch\_228  
I0106 11:00:12.180772 OrthancMoveRequestHandler.cpp:70] Sending resource fac0a739-d007ee54-5e71e27c-b336c319-2578fca0 to modality “NAME”  
I0106 11:00:12.183525 FilesystemStorage.cpp:154] Reading attachment “355cb2d3-d600-45a9-a6be-9695c3041b2b” of “DICOM” content type  
I0106 11:00:12.183890 ReusableDicomUserConnection.cpp:57] Reusing the previous SCU connection  
E0106 11:00:12.185579 MoveScp.cpp:221] IMoveRequestHandler Failed: DicomUserConnection: No acceptable presentation context for modality  
I0106 11:00:12.186071 CommandDispatcher.cpp:891] DUL Peer Requested Release  
I0106 11:00:12.186133 CommandDispatcher.cpp:898] Association Release  
I0106 11:00:17.185951 ReusableDicomUserConnection.cpp:94] Closing the global SCU connection after timeout

If I understood correctly, it fails to establish a connection to the client? I read the information on C-Move here [http://book.orthanc-server.com/dicom-guide.html#dicom-move](http://book.orthanc-server.com/dicom-guide.html#dicom-move) and I am not sure how I can make the “target” my own machine, or if this is even possible without another DICOM server as the target. All I would like to do is download all the DICOM images from the given series. Any help is greatly appreciated.

Thank you in advance,

Charanpal

---

<div class="post-metadata">

### Author: ![jodogne](https://discourse.orthanc-server.org/user_avatar/discourse.orthanc-server.org/jodogne/32/1511_2.png) [@jodogne](https://discourse.orthanc-server.org/u/jodogne)
#### Post date: [January 9, 2017, 4:24pm UTC](https://discourse.orthanc-server.org/t/download-dicom-images-via-dicom-protocol/583/2 "2017-01-09T16:24:47Z")

</div>

Hello,

> Firstly, thanks to the developers of Orthanc for an excellent software package. I would like to know how to download DICOM images via the DICOM protocol to my local machine. I realise there is a very nice REST interface to Orthanc but I would like my approach to generalise to other DICOM servers if possible. Here is what I have tried so far (I am using the GDCM tools [http://gdcm.sourceforge.net/html/gdcmscu.html](http://gdcm.sourceforge.net/html/gdcmscu.html)):

Yes, the Orthanc server can send its data to other modalities through the DICOM protocol (aka. query/retrieve)

> […] here is the output from Orthanc: […]  
> E0106 11:00:12.185579 MoveScp.cpp:221] IMoveRequestHandler Failed: DicomUserConnection: No acceptable presentation context for modality

This error indicates that the receiving DICOM modality (is it “storescp” from DCMTK?) is not able to receive the transfer syntax of the DICOM file stored by Orthanc.

This is for instance the case if the DICOM file is JPEG- or JPEG2k-encoded, but “storescp” is not run with the “+xa” command-line option to accept all the supported transfer syntaxes.

> If I understood correctly, it fails to establish a connection to the client?

According to the log, no, the connection was properly established. However, this connection was not negotiated to accept the transfer syntax of your DICOM files.

HTH,  
Sébastien-

---

<div class="post-metadata">

### Author: ![Charanpal\_Dhanjal](https://discourse.orthanc-server.org/letter_avatar_proxy/v4/letter/c/b5a626/32.png) [@Charanpal\_Dhanjal](https://discourse.orthanc-server.org/u/Charanpal_Dhanjal)
#### Post date: [January 9, 2017, 6:16pm UTC](https://discourse.orthanc-server.org/t/download-dicom-images-via-dicom-protocol/583/3 "2017-01-09T18:16:21Z")

</div>

Thanks, Sébastien. I didn’t realise that the receiving DICOM modality could be storescp (although I just noticed this was written as a comment in Configuration.json).

For anyone with a similar problem, here is how I managed to download the files:

1. First run storescp and get it to listen to a port (the same one as specified in DicomModalities in the Configuration.json file)

storescp 8888

1. Then use the movescu command:

movescu -aet NAME -S -k QueryRetrieveLevel=SERIES -k SeriesInstanceUID=“itnvwca4ji-  
4ch\_228” localhost 4242

All the files are written to the current working directory.

Best regards,

Charanpal
