clq

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

pacs dicom3.0 DCMTK EFilm

 --------------------------------------------------

http://bbs.hc3i.cn/thread-26153-1-1.html

dcmtk 中的movescu如何测试? 试了很长时间不知如何测试请高手相助

弄个Dicom服务器 ConQuest或者EFilm  然后在你自己的程序中试着把服务器上的Dicom图像通过movescu拉取到本地客户端

http://blog.csdn.net/leo_888/archive/2010/12/21/6089141.aspx

--------------------------------------------------

DCMTK中的findscu.exe以及movescu.exe的使用方法总结

在DCMTK官方网站上下载DCMTK软件包

然后编译该软件包,如何编译这里就省去了,主要记录其中的测试程序findscu.exe以及movescu.exe的用法

编译好DCMTK之后会在app目录下生成findscu.exe以及movescu.exe的测试程序,可以把findscu.exe文件放到D盘的根目录中,打开cmd输入以下命令:

前提先生成query.dcm的查询文件

D:/>findscu 192.168.1.7 4007 -aec "myonly" -v -k 0008,0052="STUDY" query.dcm -S

假如Dicom服务器中有Dicom的文件就会返回Dicom文件的信息

下面再记录一下movescu.exe的用法

前提是有move.dcm文件

E:/>movescu 192.168.1.7 4008 -aec "myonly" -v -k 0020,000d="1.2.840.113619.2.67.2158294438.15745010109084247.20000" move.dcm -S

把查询出来的UID替代0020,000d字段的信息,如果成功的话就会把Dicom服务器上面的Dicom文件拉取到客户端

--------------------------------------------------

http://bbs.hc3i.cn/thread-29092-1-1.html

使用dcmtk进行worklist服务的测试方法
dcmtk, 测试, worklist, 服务器
服务器端,把dcmtk-3.5.4\dcmwlm\wlistdb\OFFIS目录下的文件通过dump2dcm转换到L:\dcmtk\testWLMSCPFS\OFFIS目录下,用如下语句启动

wlmscpfs -v -dfp "L:\dcmtk\testWLMSCPFS" 666

客户端,把dcmtk-3.5.4\dcmwlm\wlistqry目录下的文件通过dump2dcm转换到L:\dcmtk\testWLMSCPFS\wlistqry目录下,用如下语句启动

findscu 127.0.0.1 666 -aec "OFFIS" -k 0010,0010="VIVALDI^ANTONIO" -k 0010,0020 -k 0010,0030  -v L:\dcmtk\testWLMSCPFS\wlistqry\wlistqry0.dcm

这时,不管-k使用什么参数,服务器都返回

C-Find RSP: MsgID: 1 [Status=Success]

  AffectedSOPClassUID: =FINDModalityWorklistInformationModel

  Data Set: Not Present

Releasing Association

跟踪服务器端代码,发现WlmFileSystemInteractionManager::DetermineMatchingRecords中288行,如下代码DatasetIsComplete总是返回False,

if( enableRejectionOfIncompleteWlFiles && !DatasetIsComplete( dataset ) )

导致不进行数据查询,感觉是enableRejectionOfIncompleteWlFiles 这个变量没有初始化,检查代码,发现它被初始化为True,检查初始化代码,原来在WlmDataSourceFileSystem::ConnectToDataSource中进行的初始化,而WlmConsoleEngineFileSystem::WlmConsoleEngineFileSystem初始化时就接受--disable-file-reject这个参数,因此决定添加--disable-file-reject这个参数,修改服务器启动参数如下:

wlmscpfs -v -dfp "L:\dcmtk\testWLMSCPFS" 666 --disable-file-reject

这样服务器就可以返回匹配-k的数据了

要注意:findscu 中的参数 -k 0010,0020 -k 0010,0030 是不带值的,作用是让服务器返回这两个-k表示的值。


楼主是用开发库中现成的exe通过命令行做的吧,请问有没有自己写的代码啊?现在刚接触dcmtk,对dcmnet功能不是很懂,能否给详细说一下。
    

dcmtk有现成的调试测试工具(exe)程序,首先要熟悉这些程序的用法,然后对照着边测试开发就可以省力很多了

 --------------------------------------------------

http://blog.csdn.net/pachleng/article/details/5792718

第二章 打印影像(胶片)

1 、目的:将 DICOM 影像提交至相机(干式胶片打印机),并打印。

2 、实验平台: Windows XP Professional SP2 ,其他 Windows 系统笔者未验证,希望验证过的朋友添加进来。

3 、前置条件

    在您的电脑上新建文件夹如下

C:/PACS ,用于存放相关文档

C:/DCMTK ,用于存放 dcmtk 工具包及源代码

C:/DICOM ,

C:/DICOM/Source 用于存放实验过程中用到的源图片

       以下 3 个文件夹用于存放“提交影像”过程中的产生的临时文件,注意大小写,并确认为其属性为“可写”。

C:/DICOM/Source/database

C:/DICOM/Source/spool

C:/DICOM/Source/log

C:/DICOM/Dest ,用于存放实验过程中接收到的图片,

       以下 3 个文件夹用于存放“模拟影像打印”过程中的产生的临时文件,注意大小写,并确认为其属性为“可写”。

C:/DICOM/Dest/database

C:/DICOM/Dest/spool

C:/DICOM/Dest/log

4 、所需工具:

1 ) dcmtk 中 dcmprscp.exe 、 dcmprscu.exe 、 dcmpsprt.exe 、 dcmpstat.cfg

       已编译的 dcmtk 工具包下载链接:

ftp://dicom.offis.de/pub/dicom/offis/software/dcmtk/dcmtk354/bin/dcmtk-3.5.4-win32-i386.zip

下载预编译的 Dcmtk 工具包至 C:/DCMTK ,并解压,解压后的目录为 C:/DCMTK/dcmtk-3.5.4-win32-i386 。

2 )请至以下链接下载测试用的 DICOM 图片,不需积分:

http://download.csdn.net/source/2218931

    将下载到图片拷贝至 C:/DICOM/Source 文件夹并解压,解压后的目录为 C:/DICOM/Source/CT01 ,包含文件 CT.dcm 和 ct.bmp 。

5 、前置知识

    要完成本节的实验,您得具备 Windows 系列操作的使用经验,具备命令行方式程序的使用经验则更好。

6 、实验步骤

       1 )将 dcmpstat.cfg 分别拷贝至 C:/DICOM/Source 目录和 C:/DICOM/Dest 目录

    2 )启动 dcmprscp

    启动 cmd.exe ,依次键入以下命令

C:>cd C:/DICOM/Dest

C:/DICOM/Dest >dcmprscp.exe -c dcmpstat.cfg -p IHEFULL   ( 命令到此结束,注意大小写 ) ,将出现类似如下的提示,否则,请检查您的操作步骤:

$dcmtk: dcmprscp v3.5.4 2005-12-20 $

2010-08-0517:30:43

started

    3 )提交影像

再启动一个 cmd.exe ,依次键入

C:/>cd C:/DICOM/Source

C:/DICOM/Source>dcmpsprt.exe -s -c dcmpstat.cfg -p IHEFULL C:/DICOM/Source/CT01/CT.dcm --filmsize 8INX10IN  (命令到此结束,注意大小写,另外 8IN 和 10IN 之间的字符为字母 x,y,z 中的 x 的大写)

如果一切正常,在目录 C:/DICOM/Dest/database 将出现文件名类似 HG_4c5a89d3397d8c09.dcm 和 SP_4c5a89d3397d8c09.dcm 的文件,你的电脑上文件名应该稍有区别,但是开头的 HG_ 和 SP_ 应是一致的,其中 HG_4c5a89d3397d8c09.dcm 的大小较大,在我的电脑上约为 2049KB 。

4 )查看影像

启动 cmd.exe ,依次键入以下命令,将 DICOM 文件转换为 bmp 文件。

C:>cd C:/DICOM/Dest/database

C:/DICOM/Dest/database>dcm2pnm.exe +ob HG_4c5a89d3397d8c09.dcm HG_4c5a89d3397d8c09.bmp

    双击打开 HG_4c5a89d3397d8c09.bmp ,将看到一张典型的肺部平扫的 CT 图片,与第一章中的图片一致。

7 、提交影像至相机

1 )按照 3 和 4 的描述,在您的电脑上部署好目录和工具,通过交换机或者 HUB 将您的电脑和相机进行连接,并将您电脑的 IP 设置为与相机在同一个网段,比如:

相机 IP : 192.168.1.12

则您电脑 IP : 192.168.1.11

具体如何设置可以上网查询,或者联系系统管理员。

2 )咨询您的系统管理员,得到相机的 IP 地址、打印胶片的端口号、 AE Title 和相机支持的胶片尺寸(如 8INX10IN , 10INX12IN 等)

3 )用“写字板”打开 C:/DICOM/Source/dcmpstat.cfg ,按 Ctrl+F ,搜索定位至如下所示:

[IHEFULL]

Aetitle = IHEFULL

Description = IHE Full Print SCP

Hostname = localhost

Port = 10005

将 Aetitle= 后面的 IHEFULL 修改为 2) 中得到的相机的 aetitle ,

将 Hostname= 后面的 localhost 修改为 2 )中得到的相机的 IP 地址,

将 Port= 后面的 10005 修改为 2 )中得到的相机打印胶片的端口号。

保存后退出。

4 )在您的电脑上启动 cmd.exe ,依次键入命令

C:/>cd C:/DICOM/Source

C:/DICOM/Source>dcmpsprt.exe -s -c dcmpstat.cfg -p IHEFULL  C:/DICOM/Source/CT01/CT.dcm --filmsize 8INX10IN       (命令到此结束, 8INX10IN 修改您的相机支持的胶片尺寸。)

 

如无意外,您的相机应该根据您的指示打印出了一张胶片,内容为 6 中显示的图片。如果还没有,仔细检查上述步骤,细心点,相信自己,你会成功的。

 

8 、总结

       1 、命令解释

       1 ) dcmprscp.exe -c dcmpstat.cfg -p IHEFULL

       -c dcmpstat.cfg 表 dcmprscp.exe 引用的配置文件;

       -p IHEFULL 表 dcmprscp.exe 引用的相机

 

       2 ) dcmpsprt.exe -s -c dcmpstat.cfg -p IHEFULL  C:/DICOM/Source/CT01/CT.dcm --filmsize 8INX10IN

       -s 表生成待打印的 DICOM 文件的临时文件后,提交至相机, s 即 spool ;

       -c dcmpstat.cfg 表 dcmpsprt.exe 引用的配置文件;

       -p IHEFULL 表 dcmpsprt.exe 引用的相机;

       C:/DICOM/Source/CT01/CT.dcm 为待打印的 DICOM 文件;

       --filmsize 8INX10IN 表打印的胶片的尺寸。

 

       2 、 dcmpstat.cfg 为打印引用的配置文件,打印胶片所需的参数都在该文件中,待您熟悉后可以自定义很多参数。

 

       3 、应用为王,如果过程中有不懂的地方,可以先跳过,实验成功就是胜利。

--------------------------------------------------

http://blog.csdn.net/pachleng/article/details/5465526

[置顶]Dcmtk在PACS开发中的应用(基础篇) 第一章 与影像设备互连 作者 冷家锋
2010-04-09 07:12 546人阅读 评论(0) 收藏 举报

Dcmtk 在 PACS 开发中的应用

第一章 与影像设备互连

       PACS(Picture Archiving and Communication System) ,译为医学影像归档与通讯系统,关于该名词更多详细的解释,请参考网络。

一、接收影像

1 、目的:接收影像设备发送的影像,并显示。

2 、实验平台: Windows XP Professional SP2 ,其他 Windows 系统笔者未验证,希望验证过的朋友添加进来。

3 、前置条件

       在您的电脑上新建文件夹如下

C:/PACS ,用于存放相关文档

C:/DCMTK ,用于存放 dcmtk 工具包及源代码

C:/DICOM ,

C:/DICOM/Source 用于存放实验过程中用到的源图片

C:/DICOM/Dest ,用于存放实验过程中接收到的图片,如接收的图片

4 、所需工具:

1 ) dcmtk 中 storescp.exe 、 storescu.exe 、 dcm2pnm.exe

       已编译的 dcmtk 工具包下载链接:

ftp://dicom.offis.de/pub/dicom/offis/software/dcmtk/dcmtk354/bin/dcmtk-3.5.4-win32-i386.zip

下载预编译的 Dcmtk 工具包至 C:/DCMTK ,并解压,解压后的目录为 C:/DCMTK/dcmtk-3.5.4-win32-i386 。

       2 ) DICOM ( Digital Imaging and Communication in Medicine )图片,链接为本人的资源,不需积分:

http://download.csdn.net/source/2218931

       将下载到图片拷贝至 C:/DICOM/Source 文件夹并解压,解压后的目录为 C:/DICOM/Source/CT01 ,包含文件 CT.dcm 和 ct.bmp 。

5 、前置知识

       要完成本节的实验,您得具备 Windows 系列操作的使用经验,具备命令行方式程序的使用经验则更好,当然不具备后者的使用经验也没关系,跟着笔者的脚步我们一起来学习它,没想象中的那么难 ;-) 。在本文中,新手朋友们可能会遇到很多不熟悉的名词, Take it easy ,我们的宗旨是【应用为王】 ,先撇开它们,书读百遍,其义自现嘛。

6 、实验步骤

       1 )将 C:/DCMTK/dcmtk-3.5.4-win32-i386/bin 目录下的所有 exe 文件拷贝至 %windir%( 一般为您的硬盘中 C:/Windows 文件夹 ) 。这样我们的命令行解释器(下文简称 cmd.exe ,可以通过“开始” à 运行 à 输入 ”cmd.exe” à 确定来启动)启动后,处于任何一个当前目录,都可以使用 dcmtk 工具包。

       2 )启动 storescp

       启动 cmd.exe ,依次键入以下命令

C:>cd C:/DICOM/Dest

C:/DICOM/Dest >storescp.exe 104

       3 )发送影像

       再启动一个 cmd.exe ,键入

C:/>storescu.exe 127.0.0.1 104 C:/DICOM/Source/CT1/CT.dcm

如果一切正常,在目录 C:/DICOM/Dest 将出现文件 CT.1.2.840.113704.9.4021.3.1.1.200927949440 ,文件名有点长,不是吗?

       4 )启动 cmd.exe ,依次键入以下命令,将 DICOM 文件转换为 bmp 文件。

       C:>cd C:/DICOM/Dest

C:/DICOM/Dest> dcm2pnm.exe +ob CT.1.2.840.113704.9.4021.3.1.1.200927949440 CT.1.2.840.113704.9.4021.3.1.1.200927949440.bmp

       然后,双击打开 CT.1.2.840.113704.9.4021.3.1.1.200927949440.bmp ,将看到一张典型的肺部平扫的 CT 图片。

7 、与影像设备互连初步

       有读者朋友问了,到此为止,你都没有提到影像设备的事,你做了以上一大堆事情到底有什么意义呢?笔者想说的是意义太大了,通过以上实验,您已经跨入 PACS 开发的大门,列位看官莫急,且听笔者慢慢道来。

       让我们在 6 中的实验基础上学习一个稍微复杂点的命令先。

       启动 cmd.exe ,键入

C:>storescp.exe –aet myaet 104

下面,笔者对这个命令做点解释:

1 )如名称所示, storescp.exe 是 Dcmtk 工具包中用于接收 DICOM 影像并进行保存的服务端程序, store 是个英文单词(废话一句 ;- )),表保存; scp 是指 Service Class Provider ,字面意思为服务类提供者,即 DICOM 标准中所说的服务端程序。

2 ) -aet myaet 中的 aet 为 Application Entity Title ,翻译为中文:应用程序实体标题,有点生硬,呵呵; -aet myaet 意即设置 storescp.exe 的 AET 为 myaet 。

3 ) 104 ,指该服务程序监听的端口,具备网络基础的朋友们可能会了解端口的意义,不清楚的朋友可以先跳过,【应用为王】嘛。

这个稍微复杂点的命令先解释到这,如果您有点云里雾里,没关系,多看几遍,或者先放过意义的理解,随着后面和笔者一起学习,一定会理解的,自信和耐心是我们学习的首要条件。

到此,有机会实际接触医院影像科设备的朋友已经可以自信的说:我可以接收影像设备发送的影像了!

8 、与影像设备互连

       1 )按照 3 和 4 的描述,在您的电脑上部署好目录和工具,通过交换机或者 HUB 将您的电脑和影像设备进行连接,并将您电脑的 IP 设置为与影像设备在同一个网段,比如:

       影像设备 IP : 192.168.1.10

       则您电脑 IP : 192.168.1.11

       具体如何设置可以上网查询,或者联系系统管理员。

       2 )将您电脑的 IP (此处假定为 192.168.1.11 ,请根据实际情况)、端口( 104 )、 AET ( myaet )告知影像设备维护人员(什么?您就是影像设备维护人员,那太好了),并请影像设备维护人员在影像设备上添加到您电脑的接收节点。

       3 )在您的电脑上启动 cmd.exe ,依次键入命令

       C:/DICOM/Dest

C:/DICOM/Dest>storescp.exe –aet myaet 104 ,然后请影像医师手工发送一幅影像到您的电脑节点。

OK ,在 C:/DICOM/Dest 目录有新的影像吗?恭喜你!什么,还没有?仔细检查上述步骤,细心点,你会成功的。
--------------------------------------------------

http://bbs.hc3i.cn/thread-5152-1-1.html

请问什么是ADVT?
ADVT
看大家讨论的比较热烈,有点浅浅的认识,知道它是作用于网络传输的,有没有资料共享一下啊,呵呵,多谢各位坛友

这个工具对于刚开始学习DICOM通讯很有帮助,这个东东的下载你得到网上搜一个比较新的版本
--------------------------------------------------

http://qimo601.iteye.com/blog/1050351

DICOM协议资料汇集

博客分类:

最近需要研究点DICOM协议。。

 

在这里记录点资料(相见附件):

1,DICOM协议介绍_PPT可以大致了解一下DICOM协议内容和框架。

2,DICOM3.0 中文版详细介绍每个DICOM协议每个章节内容。

3,医学数字成像与通信_DICOM_标准协议及其实现如何实现通讯

4,DICOM3.0标准介绍:  简要介绍DICOM

5,DICOM2009(三个文件包):官方英文PDF版资料1,官方英文PDF版资料2,官方英文PDF版资料3,

6,第四章 医学图像存储与传输标准DICOM.ppt



 

 



posted on 2011-10-31 12:38  clq  阅读(3051)  评论(0编辑  收藏  举报