我的工作需要使用DICOM文件。每个DICOM文件在单个目录中构成许多.dcm文件。我需要通过网络发送这些文件,这个过程在某种程度上是由于文件的大小。 我也是程序员,我想知道压缩这些文件的理想方法是什么?我说的是将在本地计算机上进行压缩,然后在目标计算机上解压缩(即压缩仅用于加速文件的网络上传输)。有没有一种简单的方法来裁剪DICOM文件? (这些文件包含整个头部的成像,而我只对头部的一小部分感兴趣。)
谢谢!
答案 0 :(得分:3)
在医学方面,有损压缩介于不鼓励和禁止之间。如果您坚持要裁剪现有数据集,那么标准要求您至少形成新的图像和图像。系列UID。该标准允许以jpeg2000的形式进行无压缩,但这种情况非常罕见 - 如果我不得不打赌我会说你的数据集完全没有压缩。
根据我的经验,将医疗数据集压缩为实体存档会更好 - 也就是说,将所有图像统一为单个流。这很有意义,因为附近的图像之间通常有很多相似之处,这个是利用这种相似性(统一压缩字典)的方式。这可用作rar和gzip压缩器的命令行选项。
答案 1 :(得分:2)
解决方案:
gdcmconv --jpeg uncompressed.dcm compressed.dcm
或更好的压缩比:
gdcmconv --jpegls uncompressed.dcm compressed.dcm
请参阅: http://gdcm.sourceforge.net/html/gdcmconv.html
我还建议不要使用有损压缩,您需要成为DICOM向导才能正确执行(请参阅DICOM标准中的派生机制)。我还建议不要裁剪图像(你需要重新生成UID,更新帧或参考...)
HTH
答案 2 :(得分:1)
你可以在一端使用像lzma压缩这样简单的东西来打包文件然后发送它们。这是最简单的解决方案,因为您可以轻松地以编程方式获取gzip和打包/解压缩文件。这可能有很大帮助,因为现代计算机更喜欢在许多小文件上发送/接收一个大文件(单个1GB文件的传输速度比10000个100KB文件快得多)。
至于实际减少聚合大小,每个.dcm文件可能是一个切片(如果您正在查看类似于MRI或CT数据的内容),并且您正在使用的查看器将切片重建为3d图像。裁剪它们并非不可能,但解析DICOM格式有点棘手。我不知道任何可以帮助你解析DICOM文件的免费程序,但我没有找时间。
由于DICOM是一种容器格式,因此您所使用的图像数据通常以通用格式(如JPEG)存储,因此如果您能够抓取文件的相关部分来提取图像数据,则可以使用任何可用的图像处理工具来将图像裁剪为您选择的任何尺寸。
答案 3 :(得分:1)
我们有一个名为“DICOM Shrinkinator”的压缩路由器,可以在将研究结果发送给PACS时执行此操作: