我想在PHP中开发一个能够从连接到同一LAN的不同DICOM设备接收DICOM图像的应用程序。
我知道有一些项目可以使用DICOM和PHP,但是AFAIK这些项目不支持通过网络发送和接收图像。
我想知道你是否知道用PHP开发像这样的应用程序是否可行。我想知道你是否一直在使用PHP和DICOM以及你对这个主题的经验。
提前致谢。 涓
答案 0 :(得分:3)
我编写了一个使用DICOM Toolkit的PHP类,它可以满足您的需求。它可以读取和写入DICOM标签,进行JPEG转换,以及通过DICOM发送和接收。您可以在此处找到它:http://thevedic.net/projects/class_dicom_php/
答案 1 :(得分:1)
即使认为此Toolkit不执行任何网络通信实现,解析器也可用于读取和写入文件。看看:www.nanodicom.org
答案 2 :(得分:0)
我以前使用过DICOM数据集,但没有使用PHP。
首先我要说的是:DICOM数据真的很大,所以尽量减少传输量,因为它会很慢。
如果已经有PHP项目用于阅读和操作DICOM,那么我会选择其中一个您知道可行的项目并满足您的需求,然后编写一个单独的代码来传输DICOM数据到您需要的地方。我强调那里的区别,因为你不想把你的数据传输代码与阅读/操作代码联系起来,保持它分开以保持你的代码库可维护。
据推测,现有的PHP DICOM项目能够从磁盘加载文件,那么为什么不编写传输代码来接收/获取文件并将其写入磁盘本地呢?您无需触摸现有的读/写代码。
PHP的复制功能可能是开始传输文件的好地方:http://php.net/manual/en/function.copy.php
答案 3 :(得分:0)
我不确定PHP是否是作为存储类提供程序(SCP)处理图像接收的最佳途径。你可能想要做的是从DCMtk运行storescp命令行工具,并有一个PHP Web界面,查看收到的文件目录,并生成输出。
如果您只是想发送图像,我所做的就是让PHP脚本调用storescu工具(再次来自DCMtk)来发送文件。 PHP函数exec()允许您处理对它的调用,并且任何Web用户都不知道发生了什么。 (我假设这是一个使用PHP的Web应用程序,而不是shell脚本)。你可以像这样调用exec:
exec("storescu [options] 123.123.123.123 104 dicom_file.dcm");
有点hackish,但有效!