DICOM @ OFFIS

Discussion Forum for OFFIS DICOM Tools - For registration, send email with desired user name to the OFFIS DICOM team
It is currently Mon, 2017-12-18, 17:36

All times are UTC + 1 hour




Post new topic Reply to topic  [ 7 posts ] 
Author Message
PostPosted: Thu, 2017-11-09, 17:56 
Offline

Joined: Thu, 2017-11-09, 12:20
Posts: 4
Dear All,

I'm trying to download a long list of DICOM exams from PACS. In particular I want to download one specific series from every exam. For example I would like to download the series whose name starts with "DCE*" of the patient "patient_name".
At the moment I'm using movescu, not filtering for the series description.

I have to admit that I don't know the DICOM statement, so I'm new to these kind of operations. Before I always used Osirix GUI to retrieve DICOM files.

The command I use is:

movescu -v -P --aetitle MacPro +P 4096 --call PACS_AETITLE -k 0008,0052="PATIENT" -k 0010,0010="patient_name" PACS_IP_ADDRESS PACS_PORT -od /home/data/

I receive this output:

I: Requesting Association
I: Association Accepted (Max Send PDV: 16372)
I: Sending Move Request (MsgID 1)
I: Request Identifiers:
I:
I: # Dicom-Data-Set
I: # Used TransferSyntax: Little Endian Explicit
I: (0008,0052) CS [PATIENT] # 8, 1 QueryRetrieveLevel
I: (0010,0010) PN [SERIES] # 6, 1 PatientName
I:
I: Received Final Move Response (Success)
I: Releasing Association
mac-pro:dcmtk-master aquino$ movescu -v -P --aetitle MacPro +P 4096 --call BESTASCP -k 0008,0052="PATIENT" -k 0010,0010="patient_name" 192.168.17.203 3102 -od /home/data/
I: Requesting Association
I: Association Accepted (Max Send PDV: 16372)
I: Sending Move Request (MsgID 1)
I: Request Identifiers:
I:
I: # Dicom-Data-Set
I: # Used TransferSyntax: Little Endian Explicit
I: (0008,0052) CS [PATIENT] # 8, 1 QueryRetrieveLevel
I: (0010,0010) PN [patient_name] # 8, 1 PatientName
I:
I: Received Final Move Response (Success)
I: Releasing Association
mac-pro:dcmtk-master aquino$ movescu -v -P --aetitle MacPro +P 4096 --call BESTASCP -k 0008,0052="PATIENT" -k 0010,0010="patient_name" 192.168.17.203 3102 -od /home/data/
I: Requesting Association
I: Association Accepted (Max Send PDV: 16372)
I: Sending Move Request (MsgID 1)
I: Request Identifiers:
I:
I: # Dicom-Data-Set
I: # Used TransferSyntax: Little Endian Explicit
I: (0008,0052) CS [PATIENT] # 8, 1 QueryRetrieveLevel
I: (0010,0010) PN [patient_name] # 8, 1 PatientName
I:
I: Received Final Move Response (Success)
I: Releasing Association

where I obviously substituted the real patient name with "patient_name".
In the /home/data/ folder I can't find any DICOM file.

Which could be the problem?

Please, let me know

Domenico


Top
 Profile  
 
PostPosted: Fri, 2017-11-10, 08:58 
Offline
DCMTK Developer

Joined: Fri, 2004-11-05, 13:47
Posts: 1650
Location: Oldenburg, Germany
Hi,

add "-k Patient ID=<your_patient_id>" and remove the patient name from the query.

You should read about Q/R in the DICOM standard part 4 since the request has to follow a certain structure.

Best,
Michael


Top
 Profile  
 
PostPosted: Fri, 2017-11-10, 13:02 
Offline

Joined: Thu, 2017-11-09, 12:20
Posts: 4
Dear Micheal,

thank you for your answer.
May I ask you, to to the others, if you have a faster solution (without reading the DICOM standard...it's not my field and priority now, but only an instrument)?
Could you suggest me a rapid workaround?

Thanks

Domenico


Top
 Profile  
 
PostPosted: Fri, 2017-11-10, 21:24 
Offline
DCMTK Developer

Joined: Fri, 2004-11-05, 13:47
Posts: 1650
Location: Oldenburg, Germany
Hi,

the hint that I provided will let you download all images of the patient.

If you want to download a specific Series, you have to know
  • The Patient ID of the Patient the Series belongs to
  • The Study Instance UID of the Study the Series belongs to
  • The Series Instance UID of the Series
Having that, you use:
Code:
movescu -v -P --aetitle MacPro +P 4096 --call PACS_AETITLE -k 0008,0052="SERIES" -k PatientID="<patient_id>"  -k StudyInstanceUID="<study_instance_uid>" -k SeriesInstanceUID="<series_instance_uid>" PACS_IP_ADDRESS PACS_PORT -od /home/data/

If the server supports Study Root SOP Class (most do), you can neglect the Patient ID and do:
Code:
movescu -v -S --aetitle MacPro +P 4096 --call PACS_AETITLE -k 0008,0052="SERIES" -k StudyInstanceUID="<study_instance_uid>" -k SeriesInstanceUID="<series_instance_uid>" PACS_IP_ADDRESS PACS_PORT -od /home/data/

Some servers will even be happy only with the Series Instance UID (though this is not a valid request then, at least not with movescu):
Code:
movescu -v -S --aetitle MacPro +P 4096 --call PACS_AETITLE -k 0008,0052="SERIES" -k SeriesInstanceUID="<series_instance_uid>" PACS_IP_ADDRESS PACS_PORT -od /home/data/


Best regards,
Michael


Top
 Profile  
 
PostPosted: Fri, 2017-11-10, 23:35 
Offline

Joined: Thu, 2017-11-09, 12:20
Posts: 4
Thanks a lot :) I'll try and letto you know

Domenico


Top
 Profile  
 
PostPosted: Sat, 2017-11-11, 18:37 
Offline

Joined: Thu, 2017-11-09, 12:20
Posts: 4
Dear Micheal,

findscu finds all the exams of the patient.
I use the command:

findscu -v -P --aetitle MacPro --call AETITLE_PACS -k 0008,0052="SERIES" -k SeriesDescription="DCE*" -k PatientName="patient_name*" -k StudyDate="*" IP_PACS PORT_PACS

moves seems to react but it gives me this error: Received Final Move Response (Unknown Status: 0xa700)

movescu -v -P --aetitle MacPro --call AETITLE_PACS -k 0008,0052="SERIES" -k SeriesDescription="DCE*" -k PatientName="patient_name*" -k StudyDate="20120214" IP_PACS PORT_PACS -od /home/dati/dcmtk/

Which could be the problem?

Thank you so much

Domenico


Top
 Profile  
 
PostPosted: Sat, 2017-11-11, 21:24 
Offline
DCMTK Developer

Joined: Fri, 2004-11-05, 13:47
Posts: 1650
Location: Oldenburg, Germany
First you need to use findscu to find Patient ID, Study and Series Instance UID in order to use them in movescu and do the download. This is the general approach (only -P and -k options shown):

1) findscu -P -k 008,0052=PATIENT -k PatientName="patient_name" -k PatientID ...

2) Use the Patient ID that is returned and get the Study Instance UID:
findscu -P -k 008,0052=STUDY -k PatientID="patient_id" -k StudyInstanceUID ....
If there is more than one study returned, you will need to check them all in the following step:

3) Use the Patient ID, Study Instance UID , and Series Description and get the Series Instance UID:
findscu -P -k 008,0052=SERIES -k PatientID="patient_id" -k StudyInstanceUID="series_instance_uid" -k SeriesDescription="DCE*" -k SeriesInstanceUID ....
If there is more than one series returned, you will need to download each of them in the following step:

4) Use Patient ID, Study Instance UID and Series Instance UID that you found out and use them in the movescu query that I explained in my last posting.
If you want to download more than one series, list them in movescu separated with backslash, i.e. -k SeriesInstanceUID="1.2.3.4\5.6.7.8...". If this does not work, call movescu for each of the series.

Best,
Michael

P.S: Please read about Q/R, in the end it saves your time if you know what you are doing. And mine ;)


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 

All times are UTC + 1 hour


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group