Hi beginner in DICOM here. I'm making a QT app to retrieve images from a PACS and view them. I've set up DCM4Chee on a virtual machine and loaded 1 sample dicom set (BRAINIX) on it.
I used
http://support.dcmtk.org/wiki/dcmtk/how ... cu-example to query and find the set. But am not sure how to retrieve the dataset.
I subclassed
DCMSCU's handleMOVEResponse and tried
Code:
OFCondition MyDCMSCU::handleMOVEResponse(const T_ASC_PresentationContextID presContextID,MOVEResponse *response, OFBool &waitForNextResponse)
{
if(response->m_dataset){
response->m_dataset->saveFile("test1.dcm") ;
}
returnDcmSCU::handleMOVEResponse(presContextID,response,waitForNextResponse);
}
The test1.dcm only contains the text listing of the 22 images in the dataset without any data.
The debug output is
DEBUG - Configured a total of 3 presentation contexts for SCU
DEBUG - Request Parameters:
====================== BEGIN A-ASSOCIATE-RQ =====================
Our Implementation Class UID: 1.2.276.0.7230010.3.0.3.6.1
Our Implementation Version Name: OFFIS_DCMTK_361
Their Implementation Class UID:
Their Implementation Version Name:
Application Context Name: 1.2.840.10008.3.1.1.1
Calling Application Name: TEST-PACS
Called Application Name: DCM4CHEE
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
Proposed Transfer Syntax(es):
=LittleEndianImplicit
Context ID: 3 (Proposed)
Abstract Syntax: =MOVEStudyRootQueryRetrieveInformationModel
Proposed SCP/SCU Role: Default
Proposed Transfer Syntax(es):
=LittleEndianImplicit
Context ID: 5 (Proposed)
Abstract Syntax: =VerificationSOPClass
Proposed SCP/SCU Role: Default
Proposed Transfer Syntax(es):
=LittleEndianImplicit
Requested Extended Negotiation: none
Accepted Extended Negotiation: none
Requested User Identity Negotiation: none
User Identity Negotiation Response: none
======================= END A-ASSOCIATE-RQ ======================
INFO - Requesting Association
DEBUG - Constructing Associate RQ PDU
DEBUG - PDU Type: Associate Accept, PDU Length: 231 + 6 bytes PDU header
02 00 00 00 00 e7 00 01 00 00 44 43 4d 34 43 48
45 45 20 20 20 20 20 20 20 20 54 45 53 54 2d 50
41 43 53 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 19 01 00 00 00 40 00 00 11 31
2e 32 2e 38 34 30 2e 31 30 30 30 38 2e 31 2e 32
21 00 00 19 03 00 00 00 40 00 00 11 31 2e 32 2e
38 34 30 2e 31 30 30 30 38 2e 31 2e 32 21 00 00
19 05 00 00 00 40 00 00 11 31 2e 32 2e 38 34 30
2e 31 30 30 30 38 2e 31 2e 32 50 00 00 2f 51 00
00 04 00 00 3f e0 52 00 00 11 31 2e 32 2e 34 30
2e 30 2e 31 33 2e 31 2e 31 2e 31 55 00 00 0e 64
63 6d 34 63 68 65 2d 31 2e 34 2e 33 30
DEBUG - Parsing an A-ASSOCIATE PDU
DEBUG - Association Parameters Negotiated:
====================== BEGIN A-ASSOCIATE-AC =====================
Our Implementation Class UID: 1.2.276.0.7230010.3.0.3.6.1
Our Implementation Version Name: OFFIS_DCMTK_361
Their Implementation Class UID: 1.2.40.0.13.1.1.1
Their Implementation Version Name: dcm4che-1.4.30
Application Context Name: 1.2.840.10008.3.1.1.1
Calling Application Name: TEST-PACS
Called Application Name: DCM4CHEE
Responding Application Name: DCM4CHEE
Our Max PDU Receive Size: 16384
Their Max PDU Receive Size: 16352
Presentation Contexts:
Context ID: 1 (Accepted)
Abstract Syntax: =FINDStudyRootQueryRetrieveInformationModel
Proposed SCP/SCU Role: Default
Accepted SCP/SCU Role: Default
Accepted Transfer Syntax: =LittleEndianImplicit
Context ID: 3 (Accepted)
Abstract Syntax: =MOVEStudyRootQueryRetrieveInformationModel
Proposed SCP/SCU Role: Default
Accepted SCP/SCU Role: Default
Accepted Transfer Syntax: =LittleEndianImplicit
Context ID: 5 (Accepted)
Abstract Syntax: =VerificationSOPClass
Proposed SCP/SCU Role: Default
Accepted SCP/SCU Role: Default
Accepted Transfer Syntax: =LittleEndianImplicit
Requested Extended Negotiation: none
Accepted Extended Negotiation: none
Requested User Identity Negotiation: none
User Identity Negotiation Response: none
======================= END A-ASSOCIATE-AC ======================
INFO - Association Accepted (Max Send PDV: 16340)
INFO - Send C-ECHO Request
DEBUG - ===================== OUTGOING DIMSE MESSAGE ====================
Message Type : C-ECHO RQ
Presentation Context ID : 5
Message ID : 1
Data Set : none
======================= END DIMSE MESSAGE =======================
INFO - Received C-ECHO Response
DEBUG - ===================== INCOMING DIMSE MESSAGE ====================
Message Type : C-ECHO RSP
Presentation Context ID : 5
Message ID Being Responded To : 1
Affected SOP Class UID : VerificationSOPClass
Data Set : none
DIMSE Status : 0x0000: Success
======================= END DIMSE MESSAGE =======================
INFO - Send C-FIND Request
DEBUG - ===================== OUTGOING DIMSE MESSAGE ====================
Message Type : C-FIND RQ
Presentation Context ID : 1
Message ID : 2
Affected SOP Class UID : FINDStudyRootQueryRetrieveInformationModel
Data Set : present
Priority : low
======================= END DIMSE MESSAGE =======================
INFO - Received C-FIND Response
DEBUG - ===================== INCOMING DIMSE MESSAGE ====================
Message Type : C-FIND RSP
Presentation Context ID : 1
Message ID Being Responded To : 2
Affected SOP Class UID : FINDStudyRootQueryRetrieveInformationModel
Data Set : present
DIMSE Status : 0xff00: Pending
======================= END DIMSE MESSAGE =======================
DEBUG - C-FIND response has status 0xff00
DEBUG - Received dataset on presentation context 1
DEBUG - Handling C-FIND Response
DEBUG - One or more outstanding C-FIND responses
INFO - Received C-FIND Response
DEBUG - ===================== INCOMING DIMSE MESSAGE ====================
Message Type : C-FIND RSP
Presentation Context ID : 1
Message ID Being Responded To : 2
Affected SOP Class UID : FINDStudyRootQueryRetrieveInformationModel
Data Set : none
DIMSE Status : 0x0000: Success
======================= END DIMSE MESSAGE =======================
DEBUG - C-FIND response has status 0x0000
DEBUG - Handling C-FIND Response
DEBUG - Received final C-FIND response, no more C-FIND responses expected
INFO - There are 2 studies available
INFO - Send C-MOVE Request
DEBUG - ===================== OUTGOING DIMSE MESSAGE ====================
Message Type : C-MOVE RQ
Presentation Context ID : 3
Message ID : 3
Affected SOP Class UID : MOVEStudyRootQueryRetrieveInformationModel
Data Set : present
Priority : low
Move Destination : TEST-PACS
======================= END DIMSE MESSAGE =======================
INFO - Received C-MOVE Response
DEBUG - ===================== INCOMING DIMSE MESSAGE ====================
Message Type : C-MOVE RSP
Presentation Context ID : 3
Message ID Being Responded To : 3
Affected SOP Class UID : MOVEStudyRootQueryRetrieveInformationModel
Remaining Suboperations : 22
Completed Suboperations : 0
Failed Suboperations : 0
Warning Suboperations : 0
Data Set : none
DIMSE Status : 0xff00: Pending
======================= END DIMSE MESSAGE =======================
DEBUG - C-MOVE response has status 0xff00
DEBUG - Handling C-MOVE Response
DEBUG - One or more outstanding C-CMOVE responses
INFO - Received C-MOVE Response
DEBUG - ===================== INCOMING DIMSE MESSAGE ====================
Message Type : C-MOVE RSP
Presentation Context ID : 3
Message ID Being Responded To : 3
Affected SOP Class UID : MOVEStudyRootQueryRetrieveInformationModel
Remaining Suboperations : 22
Completed Suboperations : 0
Failed Suboperations : 0
Warning Suboperations : 0
Data Set : none
DIMSE Status : 0xff00: Pending
======================= END DIMSE MESSAGE =======================
DEBUG - C-MOVE response has status 0xff00
DEBUG - Handling C-MOVE Response
DEBUG - One or more outstanding C-CMOVE responses
INFO - Received C-MOVE Response
DEBUG - ===================== INCOMING DIMSE MESSAGE ====================
Message Type : C-MOVE RSP
Presentation Context ID : 3
Message ID Being Responded To : 3
Affected SOP Class UID : MOVEStudyRootQueryRetrieveInformationModel
Remaining Suboperations : 22
Completed Suboperations : 0
Failed Suboperations : 0
Warning Suboperations : 0
Data Set : none
DIMSE Status : 0xff00: Pending
======================= END DIMSE MESSAGE =======================
DEBUG - C-MOVE response has status 0xff00
DEBUG - Handling C-MOVE Response
DEBUG - One or more outstanding C-CMOVE responses
INFO - Received C-MOVE Response
DEBUG - ===================== INCOMING DIMSE MESSAGE ====================
Message Type : C-MOVE RSP
Presentation Context ID : 3
Message ID Being Responded To : 3
Affected SOP Class UID : MOVEStudyRootQueryRetrieveInformationModel
Remaining Suboperations : 22
Completed Suboperations : 0
Failed Suboperations : 0
Warning Suboperations : 0
Data Set : none
DIMSE Status : 0xff00: Pending
======================= END DIMSE MESSAGE =======================
DEBUG - C-MOVE response has status 0xff00
DEBUG - Handling C-MOVE Response
DEBUG - One or more outstanding C-CMOVE responses
INFO - Received C-MOVE Response
DEBUG - ===================== INCOMING DIMSE MESSAGE ====================
Message Type : C-MOVE RSP
Presentation Context ID : 3
Message ID Being Responded To : 3
Affected SOP Class UID : MOVEStudyRootQueryRetrieveInformationModel
Remaining Suboperations : 22
Completed Suboperations : 0
Failed Suboperations : 0
Warning Suboperations : 0
Data Set : none
DIMSE Status : 0xff00: Pending
======================= END DIMSE MESSAGE =======================
DEBUG - C-MOVE response has status 0xff00
DEBUG - Handling C-MOVE Response
DEBUG - One or more outstanding C-CMOVE responses
INFO - Received C-MOVE Response
DEBUG - ===================== INCOMING DIMSE MESSAGE ====================
Message Type : C-MOVE RSP
Presentation Context ID : 3
Message ID Being Responded To : 3
Affected SOP Class UID : MOVEStudyRootQueryRetrieveInformationModel
Remaining Suboperations : none
Completed Suboperations : 0
Failed Suboperations : 22
Warning Suboperations : 0
Data Set : present
DIMSE Status : 0xa702: Error: Refused - Out of resources - Suboperations
======================= END DIMSE MESSAGE =======================
DEBUG - C-MOVE response has status 0xa702
DEBUG - Received dataset on presentation context 3
DEBUG - Handling C-MOVE Response
WARN - Status is 0xa702 (unknown)
WARN - Will not wait for further C-MOVE responses
INFO - Received study # 1: 2.16.840.1.113669.632.20.1211.10000357775
INFO - Releasing Association
DEBUG - Cleaning up internal association and network structures
Is the "0xa702: Error: Refused - Out of resources - Suboperations" due to the virtual machine being out of memory ?
And if the error wasnt there would I be able to save the dataset in this way ?
相关推荐
这个源码是移植dcmtk中的存储服务。它依赖于我移植的几个重要的库文件ofstd,dcmdata,dcmnet。这几个库文件是所有服务基本上都要依赖的库。
文档
这是博文《第一个 DCMTK 程序:显示 DICOM 图像(DCMTK 3.6.4 + Qt 5.14.2 + VS2015)》的源码,详细内容见博客文章 https://blog.csdn.net/blackwoodcliff/article/details/109481195
nodejs-dcmtk 基于Nodsjs Alpine和DCMTK的Docker映像
dcmtk dcmtk的目标是包装'DICOM'工具包('DCMTK') 。 移植了医学数字成像和通信('DICOM')工具包的功能集,这是一组处理成像数据的功能。 安装 您可以使用以下方法从安装dcmtk的发行版本: install.packages( ...
dcmtk在PACS开发中的应用 工作列表 测试需要的DICOM文件
DICOM图片示例 CT图片 dcmtk在PACS开发中的应用
dcmtk在PACS开发中的应用 工作列表dump文件
名称:DCMTK 评级:★★★★★ 开源许可:BSD 功能: 影像处理,影像归档,影像管理,影像传输 标准:DICOM 语言:英语 客户端: 桌面 平台:跨平台 编程语言:C/C++ 官方网站:http://dicom.offis.de/
DCMTK3.6.3源码:dcmtk-3.6.3.zip 以及英文帮助文档 : dcmtk-3.6.3-html-help.zip
dcmtk使用手册,医学领域的东东,有学习的可以下载看看,没学过,不知道好不好学
DCMTK编译文件说明。DCMTK3.6.0
通过对dcmtk的源代码修改调整后,编译,目前测试在win10下面运行,可以命令行直接运行 (默认参数 端口1024,也可以命令行输入端口数字 ,图像保存路径为程序所在的目录,存储的方式使用1~198 数字的目录hash方式...
专栏博文“DICOM:基于DCMTK实现C-FIND SCU”中对应的源代码。基于dcmtk开源库中的findscu工程,实现的简单的C-FIND SCU,用于示范如何使用dcmtk操作实现具体的DICOM应用。
用dcmtk库做的DIcOM图像显示程序,原创呀
dcmtk-3.5.4开发包在win32下的补充资源文件包含: dcmtk-3.5.4-win32-i386-md-support dcmtk-3.5.4-win32-i386-support dcmtk-3.5.4-win32-i386-tls 与dcmtk-3.5.4开发包一起使用
linux 系统下DCMTK3.6.0源码
PACS开发必备,DICOM开源开发包 dcmtk-3.5.4 dcmtk-3.5.4-win32-help dcmtk-3.5.4-win32-i386 由于上传限制这是第一部门,另一部分为 dcmtk-3.5.4开发包(win32支持文件)
Windows平台下,Qt(5.10)32位环境下编译的dcmtk(3.6.3)库,包含debug和release版