Orthanc and ClearCanvas

775 views
Skip to first unread message

Raúl Alexis Betancor Santana

unread,
May 2, 2014, 3:00:40 AM5/2/14
to orthan...@googlegroups.com
Hi all,

Due to a harware failure of our PACS server (ClearCanvas), I have decided to change to Orthanc, but I'm hitting a wall trying to connect the ClearCanvas clients to the Orthanc server.

I imported all FS of CCserver into Orthanc without problems, but I'm unable to do a simple query from the CCclient :-(

I defined a DICOM modality like this:

"clients" : ["", "0.0.0.0", 104]

I don't want to be defining the clients one by one ... because they are too much, apart that they have dynamic ips.

With that ... every time I query the server from a CCclient I get a timeout error

With the same config, If I use a DICOMed Review Radio client v4.1 (we use it for MR studies), I could query the server without any problem and retreive the studies, no matter if they are MR, CR or Eco

Do I have to change something on the config to let CCclients query and retreive?

I have also tryed to use the 4th param and put it at "ClearCanvas", as the sample config suggested ... but with no luck.

Best regards

Sébastien Jodogne

unread,
May 2, 2014, 4:23:48 AM5/2/14
to orthan...@googlegroups.com
Hi,

Such a configuration is doomed to fail: For a query/retrieve request (aka. C-Move) to succeed, the PACS must know the AET and the IP address of the target DICOM modality. As a consequence, there is no way to write a single line to configure several DICOM clients. You have to create one single entry for each of your clients.

Please note that this is not a problem that is specific to Orthanc: This is a limitation of the DICOM standard that is present in all the DICOM servers supporting the C-Move mechanism. I suspect that your previous setup worked because your DICOM server and client used the C-Get mechanism instead of the C-Move. Unfortunately, the C-Get mechanism is now tagged as obsolete in the DICOM standard, therefore we do not plan to support it in Orthanc.

Your problem with dynamic IPs is clearly the reason why Orthanc proposes a bridge from the DICOM protocol to the REST API. By resorting to the HTTP protocol, Orthanc proposes an easier configuration and allows dynamic IPs. In your case, I would recommend you to ask the CCclient and/or the DICOMed Review Radio client to introduce support for the REST API of Orthanc in their software. Orthanc comes with a C++ API on the top of the REST API (aka. "OrthancClient") that allows such an interface to be implemented.

Cheers,
Sébastien-

Aaron Boxer

unread,
May 2, 2014, 10:06:58 AM5/2/14
to orthan...@googlegroups.com


---------- Forwarded message ----------
From: Aaron Boxer <box...@gmail.com>
Date: Fri, May 2, 2014 at 10:06 AM
Subject: Re: Orthanc and ClearCanvas
To: Raúl Alexis Betancor Santana <rbet...@gmail.com>


Hi Raul,

So, you are trying to query Orthanc with both Clear Canvas Client and DICOMed Review.
DICOMed succeeds and CC fails with a timeout.

1) Can CC do a C-Echo on Orthanc?
2) Can you post the CC client logs, and the Orthanc server logs?


Cheers,
Aaron



 



Aaron Boxer

unread,
May 2, 2014, 10:19:35 AM5/2/14
to Raúl Alexis Betancor Santana, orthan...@googlegroups.com
Also keep in mind that if you are no longer using Clear Canvas PACS, then you won't be able to use
Clear Canvas streaming to view images: you will need to retrieve them first.


On Fri, May 2, 2014 at 3:00 AM, Raúl Alexis Betancor Santana <rbet...@gmail.com> wrote:

Aaron Boxer

unread,
May 2, 2014, 11:02:18 AM5/2/14
to orthan...@googlegroups.com
Also, if you want to replace CC Pacs, have you considered DCM4CHEE ?


On Fri, May 2, 2014 at 3:00 AM, Raúl Alexis Betancor Santana <rbet...@gmail.com> wrote:

Aaron Boxer

unread,
May 4, 2014, 8:57:01 AM5/4/14
to orthan...@googlegroups.com
So, it sounds like Orthanc is not handling the modality search tag when doing a  C-FIND.
It sounds like a bug to me.

Aaron


On Fri, May 2, 2014 at 10:22 AM, Raúl Alexis Betancor Santana <rbet...@gmail.com> wrote:
Yes, your are wrigth

With DICOMed (was the DICOM client we got with our MR machine), I don't need to change anything ... just add the client to the config to authorize it and that's all .. if query, show all the fields, I could query by studie type, and so on ...

With CC I need to disable "ClearCanvas Image Streaming" on the clients to be able to retreive the studies ... but still could not do query based on the studie type.

Orthanc log, with CC, query by CR type:

I0502 16:19:02.753989  5912 CommandDispatcher.cpp:266] Association Received
I0502 16:19:02.754776  5912 CommandDispatcher.cpp:445] Association Acknowledged (Max Send PDV: 116782)
I0502 16:19:02.756176  5913 OrthancFindRequestHandler.cpp:485] DICOM C-Find request at level: Study
I0502 16:19:02.756253  5913 OrthancFindRequestHandler.cpp:491]   (0008,0020)  StudyDate = 20140501-
I0502 16:19:02.756285  5913 OrthancFindRequestHandler.cpp:491]   (0008,0052)  QueryRetrieveLevel = STUDY
I0502 16:19:02.756314  5913 OrthancFindRequestHandler.cpp:491]   (0008,0061)  ModalitiesInStudy = CR
I0502 16:19:02.832921  5913 OrthancFindRequestHandler.cpp:543] Number of candidate resources after exact filtering: 13108
I0502 16:19:22.143554  5913 CommandDispatcher.cpp:594] DUL Peer Requested Release
I0502 16:19:22.143671  5913 CommandDispatcher.cpp:601] Association Release

0 results received on the CC

If I query without CR filter:

I0502 16:20:36.992168  5912 CommandDispatcher.cpp:445] Association Acknowledged (Max Send PDV: 16372)
I0502 16:20:36.992704  5914 CommandDispatcher.cpp:624] Received Echo Request
I0502 16:20:36.993562  5914 CommandDispatcher.cpp:594] DUL Peer Requested Release
I0502 16:20:36.993657  5914 CommandDispatcher.cpp:601] Association Release
I0502 16:20:39.551107  5912 CommandDispatcher.cpp:266] Association Received
I0502 16:20:39.551662  5912 CommandDispatcher.cpp:445] Association Acknowledged (Max Send PDV: 116782)
I0502 16:20:39.553170  5915 OrthancFindRequestHandler.cpp:485] DICOM C-Find request at level: Study
I0502 16:20:39.553272  5915 OrthancFindRequestHandler.cpp:491]   (0008,0020)  StudyDate = 20140501-
I0502 16:20:39.553303  5915 OrthancFindRequestHandler.cpp:491]   (0008,0052)  QueryRetrieveLevel = STUDY
I0502 16:20:39.626835  5915 OrthancFindRequestHandler.cpp:543] Number of candidate resources after exact filtering: 13108
I0502 16:20:55.788120  5915 CommandDispatcher.cpp:594] DUL Peer Requested Release
I0502 16:20:55.788199  5915 CommandDispatcher.cpp:601] Association Release

And got the results since yesterday

No matter the filter ... the results returns without the fields expected by CC





2014-05-02 15:06 GMT+01:00 Aaron Boxer <box...@gmail.com>:
Hi Raul,

So, you are trying to query Orthanc with both Clear Canvas Client and DICOMed Review.
DICOMed succeeds and CC fails with a timeout.

1) Can CC do a C-Echo on Orthanc?
2) Can you post the CC client logs, and the Orthanc server logs?


Cheers,
Aaron



 



On Fri, May 2, 2014 at 3:00 AM, Raúl Alexis Betancor Santana <rbet...@gmail.com> wrote:

Raúl Alexis Betancor Santana

unread,
May 4, 2014, 4:54:27 PM5/4/14
to Aaron Boxer, orthan...@googlegroups.com
Me too .. spend some hours doing test during the weekend and found things that need to be fixed ... will be doing the fixes during the next days and submit a patch.

Sébastien Jodogne

unread,
May 12, 2014, 7:48:40 AM5/12/14
to orthan...@googlegroups.com, Aaron Boxer
Hello,

Please could fill a bug report:

This will greatly help us to track the problems inside Orthanc.

Please could you also attach sample DICOM files (possibly anonymized) to reproduce the problem?

Have you tried with Orthanc 0.7.5 that was released last week?

Thanks for you contribution!
Sébastien-

Sébastien Jodogne

unread,
May 8, 2016, 12:59:37 AM5/8/16
to Orthanc Users
For the sake of correctness: David Clunie has just written me that C-GET is not tagged as obsolete or deprecated in the DICOM standard. Sorry for this mistake.

Sébastien-

Valentin

unread,
Jul 3, 2019, 11:21:49 AM7/3/19
to Orthanc Users
Hey!
I've tried to comment to this David Clunie's post:
But he didn't approve my comment yet.

I think that an opinion that C-GET is obsolete is correct (despite C-GET is useful thing). I think that this quote of the DICOM Standard proves it:
"In the case where an Application Entity wishes to request that it receives one or more images for storage, it may use either a C-GET operation or a C-MOVE to itself. It is expected that in most environments the C-MOVE is a simpler solution despite the fact that two Associations are required. The use of the C-GET service may not be widely implemented. It may be implemented in special cases where a system does not support multiple Associations. It was left in this version of the Standard for backward compatibility with previous versions of the Standard."

You can see it here (see the 2nd Note):

Sébastien Jodogne

unread,
Jul 6, 2019, 7:23:24 AM7/6/19
to Orthanc Users
Dear Valentin,

Thanks for this interesting feedback!

Regards,
Sébastien-
Reply all
Reply to author
Forward
0 new messages