dcmtk movescu from pacs PACS
Moderator: Moderator Team
-
- Posts: 8
- Joined: Thu, 2017-11-09, 12:20
dcmtk movescu from pacs PACS
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
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
-
- DCMTK Developer
- Posts: 2049
- Joined: Fri, 2004-11-05, 13:47
- Location: Oldenburg, Germany
- Contact:
Re: dcmtk movescu from pacs PACS
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
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
-
- Posts: 8
- Joined: Thu, 2017-11-09, 12:20
Re: dcmtk movescu from pacs PACS
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
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
-
- DCMTK Developer
- Posts: 2049
- Joined: Fri, 2004-11-05, 13:47
- Location: Oldenburg, Germany
- Contact:
Re: dcmtk movescu from pacs PACS
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
If the server supports Study Root SOP Class (most do), you can neglect the Patient ID and do:
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):
Best regards,
Michael
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
Code: Select all
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/
Code: Select all
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/
Code: Select all
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/
Michael
-
- Posts: 8
- Joined: Thu, 2017-11-09, 12:20
Re: dcmtk movescu from pacs PACS
Thanks a lot I'll try and letto you know
Domenico
Domenico
-
- Posts: 8
- Joined: Thu, 2017-11-09, 12:20
Re: dcmtk movescu from pacs PACS
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
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
-
- DCMTK Developer
- Posts: 2049
- Joined: Fri, 2004-11-05, 13:47
- Location: Oldenburg, Germany
- Contact:
Re: dcmtk movescu from pacs PACS
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
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
Who is online
Users browsing this forum: No registered users and 1 guest