Hi this is Nabeel,
I use DVTk Q/R emulator as SCP. I sent the following command
-v -d --move ACME1 +P 5678 --patient -k 0008,0052="PATIENT" -k 0010,0020=* -aet ACME1 -aec DVT_QR_SCP 192.168.0.61 104 .Even though there is tens of images its only fetching only one image(probably the first image).Is this a bug related DVTk emulator ? Thank is advance
movescu - DVTk issue
Moderator: Moderator Team
-
- Posts: 11
- Joined: Wed, 2004-11-10, 10:17
cross-posted on the DVTk forum...
From PS 3.4-2008
C.4.2.2.1 Baseline Behavior of SCU
An SCU conveys the following semantics with a C-MOVE request:
— The SCU shall supply a single value in the Unique Key Attribute for each level above the Query/Retrieve level. For the level of retrieve, the SCU shall supply one unique key if the level of retrieve is above the STUDY level and shall supply one UID, or a list of UIDs if a retrieval of several items is desired and the retrieve level is STUDY, SERIES or IMAGE.
You are not suplying one unique key in (0010,0020), but a wild card, and this is illegal. It could be argued that it is a bug in DVTk that it even sends a single image back. It would be more appropriate to return a status of Failure.
To accomplish your goal, you could first query the emulator for all Patient ID's with DCMTK's findscu.exe, then parse the output and execute movescu.exe for each Patient ID that you found. This could be done with a Perl script.
From PS 3.4-2008
C.4.2.2.1 Baseline Behavior of SCU
An SCU conveys the following semantics with a C-MOVE request:
— The SCU shall supply a single value in the Unique Key Attribute for each level above the Query/Retrieve level. For the level of retrieve, the SCU shall supply one unique key if the level of retrieve is above the STUDY level and shall supply one UID, or a list of UIDs if a retrieval of several items is desired and the retrieve level is STUDY, SERIES or IMAGE.
You are not suplying one unique key in (0010,0020), but a wild card, and this is illegal. It could be argued that it is a bug in DVTk that it even sends a single image back. It would be more appropriate to return a status of Failure.
To accomplish your goal, you could first query the emulator for all Patient ID's with DCMTK's findscu.exe, then parse the output and execute movescu.exe for each Patient ID that you found. This could be done with a Perl script.
-
- Posts: 6
- Joined: Tue, 2008-07-01, 11:37
-
- Posts: 6
- Joined: Tue, 2008-07-01, 11:37
Thanx its working now. But i have another issue i tried the commandpim_philipse wrote:cross-posted on the DVTk forum...
From PS 3.4-2008
C.4.2.2.1 Baseline Behavior of SCU
An SCU conveys the following semantics with a C-MOVE request:
— The SCU shall supply a single value in the Unique Key Attribute for each level above the Query/Retrieve level. For the level of retrieve, the SCU shall supply one unique key if the level of retrieve is above the STUDY level and shall supply one UID, or a list of UIDs if a retrieval of several items is desired and the retrieve level is STUDY, SERIES or IMAGE.
You are not suplying one unique key in (0010,0020), but a wild card, and this is illegal. It could be argued that it is a bug in DVTk that it even sends a single image back. It would be more appropriate to return a status of Failure.
-v -d --move ACME1 +P 5678 --study -k 0008,0052="STUDY" -k 0010,0020=patID -k 0020,000d -aet ACME1 -aec DVT_QR_SCP 192.168.0.61 104 and in returns nothing .I checked the DVTk log and its saying like
(0008,0052) CS - 1 + 6 Query/Retrieve Level : STUDY
(0020,000D) UI - 1 + 0 Study Instance UID :Error: Type 1 (mandatory) attribute should be present with at least one value
But i have seen in some forum( viewtopic.php?t=1240&highlight=hierarchy ) sayig that 0020,000D can be blank to get a patients study information.Then y DVTk not allowing me to da so ? Am i not following DICOM standard ?? Help me please.Yhanx in advance
-
- Posts: 11
- Joined: Wed, 2004-11-10, 10:17
The blank (0020,000d) is only used when calling findscu.exe.
In the command line that you posted, it is not even clear which of possibly multiple studies you are after.
So again, first get the study UID with
findscu --study -k 0008,0052=STUDY -k 0010,0020=patID -k 0020,000d
and for each response, call movescu with the Study Instance UID from that response (or concatenate the UID's to form a List of UID's, then a single movescu invocation is sufficient).
In the command line that you posted, it is not even clear which of possibly multiple studies you are after.
So again, first get the study UID with
findscu --study -k 0008,0052=STUDY -k 0010,0020=patID -k 0020,000d
and for each response, call movescu with the Study Instance UID from that response (or concatenate the UID's to form a List of UID's, then a single movescu invocation is sufficient).
Who is online
Users browsing this forum: Google [Bot] and 1 guest