我必须用 C# 编写一个程序,能够解析 DICOM 并显示轴向、冠状和矢状切割。
看起来工作量很大,但我必须这样做!
我猜,重要的第一步是理解 DICOM 文件。
我一直在读这个教程http://dicomiseasy.blogspot.ru/但他正在使用我不允许购买的 RZDCX 库。
关于 DICOM 属性仍然有一些很好的解释,我也一直在阅读该标准的一些部分(首先是第 3 部分)
但我很难理解它们。有这些图像属性:像素表示、像素数据、平面配置......我想理解它们对于能够显示图像非常重要,并且我认为我应该更多地了解像素实际上是如何工作的,以便更好地理解。
但还有一件事我实在想不明白:
我应该如何或在哪里进行这三种不同的切割? (轴向/冠状/矢状)。我一直在标准中寻找有关它们的属性,但没有找到任何属性。因此,我们可能通过某种计算找到它们,但我不知道应该将哪些变量与哪个公式一起使用?
你说得对,这是一项艰巨的任务!您可能不会在这里找到可以为您提供分步教程的人,但是有一些提示:
- DICOM 标准有时显得令人畏惧,一开始就需要一个陡峭的学习曲线。这DICOM 食谱帮助我熟悉文档的术语和结构。
- 还有很多其他工具包,其中一些是免费的,并且附带非常自由的许可证,例如DCMTK。这些消除了学习信息如何以略有不同的各种二进制格式进行编码的负担,并提供了统一的 API 来轻松访问信息。我强烈建议不要从头开始编写自己的 DICOM 实现。
- 定义切片或帧的 3D 位置和方向的 DICOM 属性是
ImagePositionPatient
(0020,0032),ImageOrientationPatient
(0020,0037) 及PixelSpacing
(0028,0030)。这些可用于正确排序切片并计算插值相交切片。
- 请务必查看增强型 CT/MR 信息对象定义。一般来说,在 DICOM 中存储一堆图像有两种方法:单帧(每个图像一个文件)和多帧(一个文件存储一个或多个图像堆栈)。它们的不同之处在于您获取上述信息的方式。
祝您好运!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)