作为LEAD Technologies 25周年纪念的一部分,我们正在搞一个“25天收集25个项目来展示LEAD功能强度和易用性”的活动。今天要展示的项目来自于詹姆斯的分享。
它是做什么的
该项目可以使用LEADTOOLS第19版来监视文件夹,并将DICOM文件导入到一个PACS存储服务器。
所使用的功能
· DICOM
· PACS
开发进程日志
大家好,我是詹姆斯。我想要编写这样的一个服务程序来对文件夹进行监控,这个文件夹只要你将DICOM文件拖放到其中,它就可以自动地将这些文件直接导入到LEADTOOLS PACS存储服务器数据库,而无需使用DICOM C-STORE。同时,我也想编写一个服务管理器接口来与之相匹配。
在将信息从DICOM文件中提取和存储出来时,使用LEADTOOLS Medical SDKs可以大大节约我的宝贵时间。否则,这会需要我花费许多个小时来学习和编码。
首先,我需要确定一种方法,以此来将文件中的所有数据插入到PACS存储服务器数据库中。我知道有一种方法可以用LEADTOOLS数据访问层来做到这一点。让我来看看帮助文档上是怎么写的。
好的,看来我可以使用LEADTOOLS StorageSQLDbDataAccessAgent来处理这一问题。
Documentation: StorageSqlDbDataAccessAgent Class
那么,我需要结合StorageSQLDbDataAccessAget来使用LEADTOOLS 的Dicom数据集类,这将会使从DICOM文件中提取和存储我所需要的全部信息的工作变得轻松许多。
Documentation: DicomDataSet class
现在,服务管理器接口的编码部分我已经完成。它可以控制服务,显示服务的当前状态,并允许用户来对其设置进行配置。这大约花费了我1.5小时时间来完成。
我需要调用StorageSQLDbDataAccessAgent类的StoreDicom方法来存储我所需要的DICOM文件中的信息。
Documentation: StoreDicom Method
StoreDicom方法的编码部分我也已经完成。它可以验证用户放在文件夹中的文件,也可以提取我以后所需要的所有的信息。有了LEADTOOLS StorageSQLDbDataAccessAgent类的帮助,实现这一步大约只花费了1小时的时间。
我需要确保自己已经把该服务程序指出无效的文件放在了某处,这样,稍后仍然可以对它们进行审查访问。
现在,我只需要把所有这一切都归结在一起,放在一个我即将创建的用来打包一切的工作类中。
所有东西都已经被整合到我的工作类中。完成这一步大约花了1小时时间。
通过将DICOM文件拖放到被监控的文件夹,我成功地将其存储到了PACS存储服务器。到目前为止,我在这个应用程序上总共花费了3.5小时的时间。现在,我想对某些不具备所有信息的DICOM文件进行测试,以确保他们已经被该服务程序捕捉并妥善存放。
我在其中多添加了一些错误检查,用来处理被拖放到文件夹中的任何类型的文件。此外,我还在代码中添加了一些注释,以便其更容易阅读。
至此,此应用程序终于完成啦!它总共只花了我4.5小时来把所有东西整合到一起,包括测试和调试。如果没有LEADTOOLS医学影像软件开发工具包,我甚至无法想象要完成像这样的任务需要多久。
支持
关于其他产品的更多信息,请访问我们的官方网站,
欢迎下载免费的全功能评估版SDK,全功能试用版中有这个例子的全部源代码。
同时欢迎您使用评估版期间的免费技术支持。