DICOM文件压缩

5
我的工作需要使用DICOM文件。每个DICOM文件都包含许多.dcm文件在一个目录中。我需要通过网络发送这些文件,但由于文件大小巨大,这个过程有些困难。
我也是一名程序员,想知道压缩这些文件的最佳方法是什么?我的意思是,在本地计算机上进行压缩,然后在目标计算机上解压缩(即压缩仅用于加速文件的网络传输)。是否有一种简单的方法来裁剪DICOM文件?(文件包含整个头部的成像,而我只对头部的一小部分感兴趣)。
谢谢!
4个回答

5
在医学背景下,有损压缩技术被视为不鼓励或禁止使用。如果您坚持要裁剪现有数据集,标准要求您至少形成新的图像和序列UID。标准允许使用JPEG2000格式的无损压缩,但这种情况相当罕见 - 如果我必须打赌,我会说你的数据集完全没有压缩。
根据我的经验,将医学数据集压缩为一个固定的存档文件更加可靠-也就是说,将所有图像统一成一个流。这样做非常合理,因为相邻图像之间通常存在很多相似之处,而这正是利用相似性(即一个统一的压缩字典)的方法。这在rar和gzip压缩器中都可以通过命令行选项实现。

你好,你的回答听起来很有趣,能否给我们举个使用gzip的例子?你所说的“统一压缩字典”是什么意思? - Arash
2
在7z中,命令行选项是-s:http://sevenzip.sourceforge.jp/chm/cmdline/switches/method.htm#Solid。查找您使用的任何工具的参考资料。字典是一种通过较短的表示替换常见长字节字符串的装置:http://en.wikipedia.org/wiki/Dictionary_coder。在一个实心存档中,“常见”的字符串在所有压缩文件中都会被搜索到。 - Ofek Shilon
1
在医学领域,有损压缩技术介于不鼓励和禁止之间:这种说法有些过于绝对了。医学中的许多图像类型可以且应该进行有损压缩,包括转诊文件、非诊断性成像,甚至后者也可以安全地进行压缩。加拿大放射学协会甚至推荐每种模态的压缩比率。总的来说,我并不害怕这种技术,但我同意流式压缩更好,主要是因为它更容易实现。 - mostlydev

3
解决方案:
gdcmconv --jpeg uncompressed.dcm compressed.dcm

或者为了更好的压缩比率:
gdcmconv --jpegls uncompressed.dcm compressed.dcm

请看:

查看: http://gdcm.sourceforge.net/html/gdcmconv.html

我也建议不要使用有损压缩,这需要您成为DICOM专家才能正确处理(请参阅DICOM标准中的导出机制)。我还建议不要裁剪图像(您需要重新生成UID,更新帧或参考...)

希望对您有所帮助。


1

1

你可以在一端使用像lzma压缩这样简单的东西来打包文件并发送它们。这是最简单的解决方案,因为你可以像gzip一样轻松地编程打包/解包文件。这可能会有很大帮助,因为现代计算机更喜欢传输/接收一个大文件而不是许多小文件(一个1GB的文件将比10000个100KB的文件传输得快得多)。

至于实际上减少聚合大小,每个.dcm文件可能是一个切片(如果你正在查看MRI或CT数据之类的东西),并且你正在使用的查看器将切片重构成3D图像。裁剪它们并不是不可能的,但解析DICOM格式有点棘手。我不知道是否有任何免费的程序可以帮助你解析DICOM文件,但我已经有一段时间没有寻找了。

由于DICOM是一个容器格式,你所需要的图像数据通常存储在常见格式(如JPEG)中,因此如果你能够获取文件的相关部分以提取图像数据,你可以使用任何可用的图像处理工具将图像裁剪到任何你选择的尺寸。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接