我是DICOM和DCMTK的新手。我试图使用Windows平台中的movescu命令从专用PACS服务器(172.18.1.1)中检索dcm文件。传入和传出消息正常,但在指定目录中未接收到数据。命令如下:
movescu.exe -d -S -aec GEPACS -aet TEST1 -od c:\windows\dcmtk\dcm 172.18.1.1 4100 -k QueryRetrieveLevel=STUDY -k StudyInstanceUID=1.2.840.113619.186.351258914078.20100708160459594.417
输出消息如下:
>D: $dcmtk: movescu v3.6.3 2018-02-05 $
>D:
>D: Request Parameters:
>D: ====================== BEGIN A-ASSOCIATE-RQ =====================
>D: Our Implementation Class UI>D: 1.2.276.0.7230010.3.0.3.6.3
>D: Our Implementation Version Name: OFFIS_DCMTK_363
>D: Their Implementation Class UI>D:
>D: Their Implementation Version Name:
>D: Application Context Name: 1.2.840.10008.3.1.1.1
>D: Calling Application Name: TEST1
>D: Called Application Name: GEPACS
>D: Responding Application Name: GEPACS
>D: Our Max PDU Receive Size: 16384
>D: Their Max PDU Receive Size: 0
>D: Presentation Contexts:
>D: Context I>D: 1 (Proposed)
>D: Abstract Syntax: =FINDStudyRootQueryRetrieveInformationModel
>D: Proposed SCP/SCU Role: Default
>D: Proposed Transfer Syntax(es):
>D: =LittleEndianExplicit
>D: =BigEndianExplicit
>D: =LittleEndianImplicit
>D: Context I>D: 3 (Proposed)
>D: Abstract Syntax: =MOVEStudyRootQueryRetrieveInformationModel
>D: Proposed SCP/SCU Role: Default
>D: Proposed Transfer Syntax(es):
>D: =LittleEndianExplicit
>D: =BigEndianExplicit
>D: =LittleEndianImplicit
>D: Requested Extended Negotiation: none
>D: Accepted Extended Negotiation: none
>D: Requested User Identity Negotiation: none
>D: User Identity Negotiation Response: none
>D: ======================= END A-ASSOCIATE-RQ ======================
>I: Requesting Association
>D: setting network send timeout to 60 seconds
>D: setting network receive timeout to 60 seconds
>D: Constructing Associate RQ PDU
>D: PDU Type: Associate Accept, PDU Length: 208 + 6 bytes PDU header
>D: 02 00 00 00 00 d0 00 01 00 00 47 45 50 41 43 53
>D: 20 20 20 20 20 20 20 20 20 20 41 45 5f 41 52 43
>D: 48 31 20 20 20 20 20 20 20 20 00 00 00 00 00 00
>D: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>D: 00 00 00 00 00 00 00 00 00 00 10 00 00 15 31 2e
>D: 32 2e 38 34 30 2e 31 30 30 30 38 2e 33 2e 31 2e
>D: 31 2e 31 21 00 00 1b 01 00 00 00 40 00 00 13 31
>D: 2e 32 2e 38 34 30 2e 31 30 30 30 38 2e 31 2e 32
>D: 2e 31 21 00 00 1b 03 00 00 00 40 00 00 13 31 2e
>D: 32 2e 38 34 30 2e 31 30 30 30 38 2e 31 2e 32 2e
>D: 31 50 00 00 31 51 00 00 04 00 00 70 00 52 00 00
>D: 13 31 2e 32 2e 38 34 30 2e 31 31 33 36 31 39 2e
>D: 36 2e 39 34 55 00 00 0e 43 45 4e 54 52 49 43 49
>D: 54 59 5f 34 2e 30
>D: Parsing an A-ASSOCIATE PDU
>D: Association Parameters Negotiate>D:
>D: ====================== BEGIN A-ASSOCIATE-AC =====================
>D: Our Implementation Class UI>D: 1.2.276.0.7230010.3.0.3.6.3
>D: Our Implementation Version Name: OFFIS_DCMTK_363
>D: Their Implementation Class UI>D: 1.2.840.113619.6.94
>D: Their Implementation Version Name: CENTRICITY_4.0
>D: Application Context Name: 1.2.840.10008.3.1.1.1
>D: Calling Application Name: TEST1
>D: Called Application Nae: GEPACS
>D: Responding Application Name: GEPACS
>D: Our Max PDU Receive Size: 16384
>D: Their Max PDU Receive Size: 28672
>D: Presentation Contexts:
>D: Context I>D: 1 (Accepted)
>D: Abstract Syntax: =FINDStudyRootQueryRetrieveInformationModel
>D: Proposed SCP/SCU Role: Default
>D: Accepted SCP/SCU Role: Default
>D: Accepted Transfer Syntax: =LittleEndianExplicit
>D: Context I>D: 3 (Accepted)
>D: Abstract Syntax: =MOVEStudyRootQueryRetrieveInformationModel
>D: Proposed SCP/SCU Role: Default
>D: Accepted SCP/SCU Role: Default
>D: Accepted Transfer Syntax: =LittleEndianExplicit
>D: Requested Extended Negotiation: none
>D: Accepted Extended Negotiation: none
>D: Requested User Identity Negotiation: none
>D: User Identity Negotiation Response: none
>D: ======================= END A-ASSOCIATE-AC ======================
>I: Association Accepted (Max Send PDV: 28660)
>I: Sending Move Request
>D: ===================== OUTGOING DIMSE MESSAGE ====================
>D: Message Type : C-MOVE RQ
>D: Presentation Context ID : 3
>D: Message ID : 1
>D: Affected SOP Class UID : MOVEStudyRootQueryRetrieveInformationModel
>D: Data Set : present
>D: Priority : medium
>D: Move Destination : TEST1
>D: ======================= END DIMSE MESSAGE =======================
>I: Request Identifiers:
>I:
>I: # Dicom-Data-Set
>I: # Used TransferSyntax: Little Endian Explicit
>I: (0008,0052) CS [STUDY] # 6, 1 QueryRetrieveLevel
>I: (0020,000d) UI [1.2.840.113619.186.351258914078.20100708160459594.417] # 54, 1 StudyInstanceUID
>I:
>D: DcmDataset::read() TransferSyntax="Little Endian Implicit"
>I: Received Final Move Response
>D: ===================== INCOMING DIMSE MESSAGE ====================
>D: Message Type : C-MOVE RSP
>D: Message ID Being Responded To : 1
>D: Affected SOP Class UID : MOVEStudyRootQueryRetrieveInformationModel
>D: Remaining Suboperations : none
>D: Completed Suboperations : 6
>D: Failed Suboperations : 0
>D: Warning Suboperations : 0
>D: Data Set : none
>D: DIMSE Status : 0x0000: Success
>D: ======================= END DIMSE MESSAGE =======================
>I: Releasing Association
我也尝试添加--port 104或-aem TEST1,但均失败。
答案 0 :(得分:1)
movescu的默认“移动目的地”(选项-aem)为“ MOVESCU”。您的PACS是否了解有关此AE标题的任何信息?似乎6个DICOM SOP实例(“完成的子操作:6”)已成功发送到此AE(应用程序实体)。输出目录(选项-od)仅在movescu兼用作存储SCP时使用,即,如果使用选项--port(或+ P)。
我也尝试添加--port 104或-aem TEST1,但均失败。
您是否已将PACS配置为将AE标题“ TEST1”映射到正在运行的系统movecu的IP地址并映射到端口104?
答案 1 :(得分:1)
C-MOVE操作似乎成功:
>I: Received Final Move Response
>D: ===================== INCOMING DIMSE MESSAGE ====================
>D: Message Type : C-MOVE RSP
>D: Message ID Being Responded To : 1
>D: Affected SOP Class UID : MOVEStudyRootQueryRetrieveInformationModel
>D: Remaining Suboperations : none
>D: Completed Suboperations : 6
>D: Failed Suboperations : 0
>D: Warning Suboperations : 0
>D: Data Set : none
>D: DIMSE Status : 0x0000: Success
>D: ======================= END DIMSE MESSAGE =======================
根据来自服务器的消息,成功完成了6个子操作(即,将6张图像移动到了移动目的地),并且状态为“成功”。因此,我怀疑AET“ TEST1”会映射到其他系统,而不是您的系统。
按照J. Riesmeier的建议,您应该在PACS中检查“ TEST1”的IP和端口配置。