DCMTK的C-FIND/GET/MOVE会话处理实例
DCMTK是一个用于医学图像和通信的开源软件包。其中包括了一个DcmSCU类,可以用于客户端向DICOM服务器发起C-FIND/GET/MOVE会话请求,获取DICOM图像。本文将介绍如何使用DCMTK中的DcmSCU类进行C-FIND/GET/MOVE会话处理,并附上相应的源代码供参考。
- C-FIND会话处理示例代码
// 构造DcmSCU
DcmSCU scu;
scu.setAETitle("MY_AE_TITLE");
scu.setPeerHostName("SERVER_HOSTNAME");
scu.setPeerPort(104);
// 添加C-FIND请求信息
OFList<DcmQRItem*> items;
DcmQRItem* item = new DcmQRItem(EK_PatientRoot, EVR_Unknown);
item->setKey(DCM_PatientName, "某某"); // 设置查询条件
items.push_back(item);
// 发起C-FIND请求
scu.performQuery(items, "MY_CMOVE_DEST_AE_TITLE");
// 解析结果
OFList<RetrieveResponse*> responses = scu.getResponses();
OFListIterator(RetrieveResponse*) iter = responses.begin();
for (; iter != responses.end(); iter++) {
RetrieveResponse* response = *iter;
if (response->getStatus() == EQR_Success) {