have a question on C-GET.

147 views
Skip to first unread message

이충섭

unread,
Aug 15, 2018, 9:21:15 PM8/15/18
to Fellow Oak DICOM
I proceeded to test with dvtk QR SCP Emulator.
I used the QueryRetrieve SCU source in Samples.Desktop.
C-MOVE works correctly.
However, C-GET does not work.
In order to execute the SaveImage(req.Dataset) of the Sample source below, an EVENT should be generated by client.OnCStoreRequest.

            client = new DicomClient();
            var cGetRequest = CreateCGetBySeriesUID(studyUID, serieUids.First());
            client.OnCStoreRequest += (DicomCStoreRequest req) =>
            {
                Console.WriteLine(DateTime.Now.ToString() + " recived");
                SaveImage(req.Dataset);
                return new DicomCStoreResponse(req, DicomStatus.Success);
            };

But there is no response.
Give me a solution.

reini....@aon.at

unread,
Aug 20, 2018, 6:32:28 AM8/20/18
to Fellow Oak DICOM
took a look at the dvtk QR SCP Emulator. The website tells that move is supported. I cannod find anything that says that the emulator supports C-GET. Did you see that anywhere?

So if you add a handler to cGetRequest.OnResponseReceived, then you should see that the Response.Status is some errorcode different from Success.

C-Get is a protocol that I personally prefer because of its simpleness and because there are not so many services involved and therefore there is not so much configuration required. But sadly in fact a lot of vendors only support C-Move.

cslee

unread,
Aug 20, 2018, 9:06:13 PM8/20/18
to Fellow Oak DICOM
I have not read  DICOM Comformance Statement.
Thank you for your clear answer.
Are there any emulators that can be tested without commercial vendor support?

reini....@aon.at

unread,
Aug 21, 2018, 7:38:25 AM8/21/18
to Fellow Oak DICOM
try this free server: http://www.dicomserver.co.uk/

cslee

unread,
Aug 23, 2018, 7:50:06 PM8/23/18
to Fellow Oak DICOM
Tested with a product that supports C-GET.
patient, study, series, instance LEVEL Query works well.
However, Retrieve still does not work.

In order to execute the SaveImage(req.Dataset) of the Sample source below, an EVENT should be generated by client.OnCStoreRequest.

            client = new DicomClient();
            var cGetRequest = CreateCGetBySeriesUID(studyUID, serieUids.First());
            client.OnCStoreRequest += (DicomCStoreRequest req) =>
            {
                Console.WriteLine(DateTime.Now.ToString() + " recived");
                SaveImage(req.Dataset);
                return new DicomCStoreResponse(req, DicomStatus.Success);
            };

But there is no response.
I attached the Retrieve source.
If there is something wrong, please give us your feedback.
Retrieve.txt

reini....@aon.at

unread,
Aug 29, 2018, 2:12:26 AM8/29/18
to Fellow Oak DICOM
Took a look at the code you provided, but I cannot see anything wrong there. So what is happening? do you get any response in OnResponseReceived or OnCStoreRequest? is there an exception?
Next step would be do DICOM-logging, by adding

LogManager.SetImplementation(ConsoleLogManager.Instance);

somewhere where you do the initialization in your application.
Reply all
Reply to author
Forward
0 new messages