problems using movescu

All other questions regarding DCMTK

Moderator: Moderator Team

Post Reply
Message
Author
dandi
Posts: 4
Joined: Sat, 2012-09-22, 16:16

problems using movescu

#1 Post by dandi »

Hello,

I'm trying to get some dicom data from a dicom server. But up to now, it is not working. I assume, the problem has to be between keyboard and chair....

My command that shows me that I can connect to the server and the data set is there...

Code: Select all

findscu  -S -k StudyName="amre*" -aet backupdat -aec EXTSERV 192.168.53.22 2805 /home/agbackup/af_queryfile_out.dcm
W: ---------------------------
W: Find Response: 1 (Pending)
W:
W: # Dicom-Data-Set
W: # Used TransferSyntax: Little Endian Explicit
W: (0008,0005) CS [ISO_IR 100] # 10, 1 SpecificCharacterSet
W: (0008,0052) CS [STUDY ] # 6, 1 QueryRetrieveLevel
W: (0008,1030) LO [amre^Leber ] # 18, 1 StudyDescription
W: (0020,000d) UI [1.3.12.2.1107.5.2.12.21209.30000012060412212989000000010] # 56, 1 StudyInstanceUID
W:
my queryfile (before the conversion)
af_queryfile.dcm
(0008,0052) CS [STUDY] # QueryRetrieveLevel
(0008,1030) LO [amre^*] # StudyDescription
But now, I run intop problem (trying to copy same data to the local drive by using movescu)


My command:

Code: Select all

movescu -aet backupdat -aem backupdat -S -v -d -aec EXTSERV 192.168.53.22 2805 -x= /home/agbackup/af_queryfile_out.dcm  +F
Request Parameters:
Our Implementation Class UID: 1.2.276.0.7230010.3.0.3.5.4
Our Implementation Version Name: OFFIS_DCMTK_354
Their Implementation Class UID:
Their Implementation Version Name:
Application Context Name: 1.2.840.10008.3.1.1.1
Calling Application Name: mre
Called Application Name: EXTSERV
Responding Application Name: resp AP Title
Our Max PDU Receive Size: 16384
Their Max PDU Receive Size: 0
Presentation Contexts:
Context ID: 1 (Proposed)
Abstract Syntax: =FINDStudyRootQueryRetrieveInformationModel
Proposed SCP/SCU Role: Default
Accepted SCP/SCU Role: Default
Proposed Transfer Syntax(es):
=LittleEndianExplicit
=BigEndianExplicit
=LittleEndianImplicit
Context ID: 3 (Proposed)
Abstract Syntax: =MOVEStudyRootQueryRetrieveInformationModel
Proposed SCP/SCU Role: Default
Accepted SCP/SCU Role: Default
Proposed Transfer Syntax(es):
=LittleEndianExplicit
=BigEndianExplicit
=LittleEndianImplicit
Requested Extended Negotiation: none
Accepted Extended Negotiation: none
Requesting Association
Constructing Associate RQ PDU
PDU Type: Associate Accept, PDU Length: 207 + 6 bytes PDU header
02 00 00 00 00 cf 00 01 00 00 45 58 50 52 41 44
20 20 20 20 20 20 20 20 20 20 6d 72 65 20 20 20
20 20 20 20 20 20 20 20 20 20 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 10 00 00 15 31 2e
32 2e 38 34 30 2e 31 30 30 30 38 2e 33 2e 31 2e
31 2e 31 21 00 00 1b 01 00 00 00 40 00 00 13 31
2e 32 2e 38 34 30 2e 31 30 30 30 38 2e 31 2e 32
2e 31 21 00 00 1b 03 00 00 00 40 00 00 13 31 2e
32 2e 38 34 30 2e 31 30 30 30 38 2e 31 2e 32 2e
31 50 00 00 30 51 00 00 04 00 01 c8 3a 52 00 00
17 31 2e 33 2e 36 2e 31 2e 34 2e 31 2e 32 35 34
30 33 2e 31 2e 31 2e 31 55 00 00 09 44 69 63 6f
6d 20 30 2e 31
Association Parameters Negotiated:
Our Implementation Class UID: 1.2.276.0.7230010.3.0.3.5.4
Our Implementation Version Name: OFFIS_DCMTK_354
Their Implementation Class UID: 1.3.6.1.4.1.25403.1.1.1
Their Implementation Version Name: Dicom 0.1
Application Context Name: 1.2.840.10008.3.1.1.1
Calling Application Name: backupdat
Called Application Name: EXTSERV
Responding Application Name: EXTSERV
Our Max PDU Receive Size: 16384
Their Max PDU Receive Size: 116794
Presentation Contexts:
Context ID: 1 (Accepted)
Abstract Syntax: =FINDStudyRootQueryRetrieveInformationModel
Proposed SCP/SCU Role: Default
Accepted SCP/SCU Role: Default
Accepted Transfer Syntax: =LittleEndianExplicit
Context ID: 3 (Accepted)
Abstract Syntax: =MOVEStudyRootQueryRetrieveInformationModel
Proposed SCP/SCU Role: Default
Accepted SCP/SCU Role: Default
Accepted Transfer Syntax: =LittleEndianExplicit
Requested Extended Negotiation: none
Accepted Extended Negotiation: none
Association Accepted (Max Send PDV: 116782)
================================
Sending query file: /home/agbackup/af_queryfile_out.dcm
Move SCU RQ: MsgID 1
Request:

# Dicom-Data-Set
# Used TransferSyntax: LittleEndianExplicit
(0008,0052) CS [STUDY] # 6, 1 QueryRetrieveLevel
(0008,1030) LO [amre^*] # 6, 1 StudyDescription
DIMSE Command To Send:

# Dicom-Data-Set
# Used TransferSyntax: UnknownTransferSyntax
(0000,0000) UL 0 # 4, 1 CommandGroupLength
(0000,0002) UI =MOVEStudyRootQueryRetrieveInformationModel # 28, 1 AffectedSOPClassUID
(0000,0100) US 33 # 2, 1 CommandField
(0000,0110) US 1 # 2, 1 MessageID
(0000,0600) AE [mre] # 4, 1 MoveDestination
(0000,0700) US 0 # 2, 1 Priority
(0000,0800) US 1 # 2, 1 DataSetType
DIMSE sendDcmDataset: sending 100 bytes
DIMSE sendDcmDataset: sending 28 bytes

^C
As it doesn't seem to copy files, I stopped the process by STRG-C?

Thanks

Andi

omarelgazzar
Posts: 101
Joined: Wed, 2009-07-08, 16:06
Location: Oldenburg, Germany

Re: problems using movescu

#2 Post by omarelgazzar »

Hello,

The second move query dataset is not valid. The DICOM standard requires a unique key attribute at each level above the query retrieve level. In your case, you need to supply the StudyInstanceUID and the patient IDto the move dataset query in order to download the images. see DICOM standard PS 3.4 C.4.2.2.1

Best Regards,
Omar

dandi
Posts: 4
Joined: Sat, 2012-09-22, 16:16

Re: problems using movescu

#3 Post by dandi »

Hello,

thank you for the answer.

Using findscu I get

" (0008,0052) CS [STUDY ] # 6, 1 QueryRetrieveLevel
I: (0008,1030) LO [amre^* ] # 6, 1 StudyDescription
I: (0010,0020) LO (no value available) # 0, 0 PatientID
I: (0020,000d) UI [1.3.12.2.1107.5.2.32.35436.30000012090709385050000000010] # 56, 1 StudyInstanceUID"

so I specified StudyInstanceUID and the PatientID

Code: Select all

I: (0008,0052) CS [STUDY]                                  #   6, 1 QueryRetrieveLevel
I: (0008,1030) LO [amre^*]                                  #   6, 1 StudyDescription
I: (0020,000d) UI [1.3.12.2.1107.5.2.32.35436.30000012090709385050000000010] #  56, 1 StudyInstanceUID
I: 
I: ===================== INCOMING DIMSE MESSAGE ====================
I: Message Type                  : C-MOVE RSP
I: Message ID Being Responded To : 1
I: Affected SOP Class UID        : MOVEStudyRootQueryRetrieveInformationModel
I: Remaining Suboperations       : none
I: Completed Suboperations       : none
I: Failed Suboperations          : none
I: Warning Suboperations         : none
I: Data Set                      : none
I: DIMSE Status                  : 0xc000: Error: Failed - Unable to process
I also tried to specify (-k PatientID=""), but this doesn't change the result

Best Regards

omarelgazzar
Posts: 101
Joined: Wed, 2009-07-08, 16:06
Location: Oldenburg, Germany

Re: problems using movescu

#4 Post by omarelgazzar »

Hello,

Patient id is the unique attribute at the patient level and should contain a value. Patient ID should not be empty.

qimo601
Posts: 32
Joined: Wed, 2012-06-06, 07:38

Re: problems using movescu

#5 Post by qimo601 »

omarelgazzar wrote:Hello,

Patient id is the unique attribute at the patient level and should contain a value. Patient ID should not be empty.
hi omarelgazzar,

1, do you know how the dicom server stored these *.dcm files on the disk when it received new dicom images???

2, and how the dicom server find these *.dcm files when it matched keys on worklist data files success ? because we only have the patient ID、 StudyInstanceUID, but no paths where the images have stored.

Thanks in advance.
qimo

dandi
Posts: 4
Joined: Sat, 2012-09-22, 16:16

Re: problems using movescu

#6 Post by dandi »

Thank you for the hints.... I think now I understand the background a bit better,
but up to now I was not able to transfer data from the dicom server.

(Maybe I should try to follow the hint from http://dicomiseasy.blogspot.de/2012/01/ ... art-i.html
where it is suggested to use the "Patient Root Query/Retrieve" instead of my current "Study Root Query/Retrieve Information Model"

My final purpose is to get/move all data from the dicom server which have a specific tag or match to a specific regular expression. Is "movescu" the correct tool for doing such things?

Might it be the case the "ClearCancas" doesn't allow "Study Root Query"?

Thanks

Andi

Notice: (Ok, now I have a PatientID, there was something wrong with the usage of findscu...)

dandi
Posts: 4
Joined: Sat, 2012-09-22, 16:16

Re: problems using movescu

#7 Post by dandi »

ok, I was able to get the data from the server.

So, now I can try to look to get the data sets which match a specific tag or match to a specific regular expression. Is "movescu" the correct tool for doing such tasks? Or is it possible to implement it in a more useful way?

Post Reply

Who is online

Users browsing this forum: Google [Bot], Semrush [Bot] and 1 guest