DICOM:DCMTK工具包分析之dcmqrscp.exe、dcmqridx.exe、dcmqrti.exe

本文介绍了DCMTK工具包中的dcmqrscp.exe、dcmqridx.exe和dcmqrti.exe,用于操作DICOM数据库的单机版数据库index.dat。dcmqrscp.exe作为miniPACS,dcmqridx.exe用于手动操作数据库,dcmqrti.exe则用于查询和发送数据库中的数据。通过实例演示了这些工具的使用,展示了index.dat如何记录和存储DICOM文件信息。
摘要由CSDN通过智能技术生成

背景:

        新的一年开始,专栏会坚持下去,继续与大家相互交流学习。本篇博文再一次分析DCMTK自带的工具包dcmqrscp.exe(类似于一个单机版miniPACS),此次主要关注dcmqrscp.exe的数据库部分,通过使用dcmqridx.exe手动操作dcmqrscp.exe的数据库文件,直观了解数据库的记录内容;然后利用dcmqrti.exe查询dcmqrscp.exe的数据库文件,学习如何操作dcmqrscp.exe数据库。

单机版数据库:

        单机版数据库就是只能运行在单机上,不提供网络功能的数据库。比如ACCESS、FORPRO等都是单机数据库(摘自百度百科“单机数据库”)其实单机数据库种类还有很多,年前分析过Orthanc的数据库——SQLite,和此次即将要分析的index.dat文件,此外甚至还有FireBird、Derby、HSql、PostgreSQL、JavaDB 、H2等。

        之所以使用数据库(无论单机版还是网络版),目的是尽量减少数据的冗余、提高数据利用率、保持数据完整性和一致性,以及数据使用效率。无论哪一种数据库系统,其所建立的数据库文件都可以看做是具有想相同性质的记录的集合,更广义的说,我们常见的xml、json、ini等配置文件也是单机版的数据库。

index.dat:

        原本以为index.dat可能是一种类似于xml、json等常见格式的标准文件,搜索了一下百度百科中的描述“在微软windows操作系统中,index.dat是一个由Internet Explorer和资源管理器创建的文件。这个文件的功能就像一个数据库,随系统启动。它的功能在于收集个人信息,就像网址,搜索字符串和最近打开的文件。它的职责就像数据库中的索引”。因此博文下面将index.dat看做是DCMTK中自定义的一种用于记录相关信息的索引数据库文件,主要用于dcmqrscp.exe、dcmqridx.exe、dcmqrti.exe等工具包中。

        下面就会通过分析和实际使用dcmqrscp.exe、dcmqridx.exe和dcmqrti.exe工具包来分析index.dat数据库文件。

dcmqrscp.exe操作:

        关于dcmqrscp.exe的相关介绍参照之前的博文DICOM医学图像处理:DCMTK的wiki资料学习之PACS调试

dcmqridx.exe操作:

        之前博文对dcmqrscp.exe的介绍侧重于DIMSE服务,如C-ECHO、C-FIND、C-STORE、C-MOVE等,并未提及内部的数据库部分。既然dcmqrscp能够响应C-FIND请求,那么其内部自然实现了数据库功能,用于存储C-STORE上传的相关记录。

        重新查看DCMTK的官方说明文档,也可以发现dcmqridx、dcmqrscp、dcmqrti三个工具同属于dcmqrdb模块,DCMTK文档称之为an image database server。


        如果再仔细翻看dcmqrscp.exe工具包的源码会发现,在正式处理链接请求之前,是数据库相关操作,具体代码如下:

#ifdef WITH_SQL_DATABASE
    // use SQL database
    DcmQueryRetrieveSQLDatabaseHandleFactory factory;
#else
    // use linear index database (in
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zssure

己欲立而立人,己欲达而达人

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值