0

I'm using DicomObjects Library for manipulations with DICOM files.

I'm using just the base commands and so far this is my working code:

    var queryFind = new DicomObjects.DicomQuery
    {
        Node = "remoteIPaddress",
        Port = remotePortNumber,
        CallingAE = "localAEtitle",
        CalledAE = "remoteAEtitle",                             
        Level = DicomObjects.Enums.QueryLevel.STUDY,
        Root = DicomObjects.Enums.QueryRoot.Study            
    };
    var resultFind = queryFind.Find();

So this is basically a C-FIND command and I'm passing all the needed data about the remote server, and the AETitle for my local server. And the code above works fine and it's taking the studies from the remote server. But what if I want to only take the studies from my local server? I have tried different combinations (placed local data in the fields, make combinations etc.) but none of them worked.

Is there any way to get and list the studies from local AETitle? If you are not familiar with DicomObjects Library, but you know how this can be achieved with DICOM standard (or other tool or library), that also may be helpful for me, since I'm out of ideas, and I'll try to convert given idea (if any) to this Library and will post a solution.

delux
  • 1,694
  • 10
  • 33
  • 64
  • Not sure to understand your question: Do you want to query the remote server for those studies that have been sent from your local DICOM application? Or do you want to send the query to a local DICOM server? – Markus Sabin Jul 25 '16 at 06:22
  • I want to **list the studies from my local DICOM server**. I need this, because later I will want to send them from my local server to remote server, but first step for doing this is just to list the studies from local server so that I can later select them individually, before sending them to the remote server. – delux Jul 25 '16 at 07:49

1 Answers1

1

Set

Node="127.0.0.1"
Port = <your local DICOM port number>
CalledAE = <the AET of your local DICOM Query Service class provider>

and make sure that the local DICOM server is configured to accept communications from your local AE title.

Markus Sabin
  • 3,916
  • 14
  • 32
  • So there are two options here: first is when CallingAE has the same value as CalledAE and the second is when CallingAE has no value at all. In both of the cases I got the same result: failure with description _"calling-AE-title-not-recognized"_ – delux Jul 25 '16 at 08:40
  • The second option does not exist. Both, calling and called AET *must* be provided in association establishment. The error message tells that your local DICOM server is not configured to accept connections from your local AET. So this is a configuration issue of the local DICOM Server – Markus Sabin Jul 25 '16 at 08:51
  • Are there any tips (links) of how to configure this? Not sure how do I need to configure this. – delux Jul 25 '16 at 08:58
  • It is product specific, how this is done. Most servers have a UI to configure "the DICOM network", "Communication partners", "Application Entities", ... sometimes the UI is password protected and sometimes the number of AETs is even limited by the license. That is why I cannot be more precise on this. A nasty but working work-around that *should never be used in production environments* - if you know *any* client AET the server accepts, you can use that. But only for query. Retrieval is greatly going to fail with this approach. – Markus Sabin Jul 25 '16 at 09:27