首页 > 解决方案 > DICOM多平面图像重建

问题描述

我的问题是,我必须开发一个程序,可以在 C# 中打开 DICOM CT 图像(没有任何库),我还应该处理轴向、冠状和矢状图像。我已经弄清楚了这些,但是冠状和矢状图像分辨率不正确。我查看了一百万个论坛和问题,但我只是没有找到正确的方法来找到冠状、矢状分辨率。如果有人能给我一个公式或什么我会很高兴。

据我所知,这些是获得解决方案所需的信息:

但是我从 (0020, 0032) 图像位置(患者)计算切片之间的间距,即 0.625 我真的不知道这些信息之间的联系是什么,获得正确分辨率的公式是什么。我的确切问题是:日冕和矢状图像的分辨率是多少?

如果你们需要更多关于切片的信息,请告诉我。先感谢您 :)

编辑: 我用 RadiAnt DICOM Viewer 检查了冠状/矢状分辨率应该是 512x383。如果有人知道为什么结果是 383 的公式。请告诉我。与此同时,我会试着弄清楚自己。

标签: c#imagedicom

解决方案


解决问题没有明确的答案。你不应该忘记在 DICOM 中你有PixelSpacing,而你在“普通图像”中没有。

典型图像必须始终具有等距网格才能在屏幕上正确显示。但在 dicom 中,您可以拥有 100x100 像素和 1.0\1.0 像素间距的图像,并且您可以拥有 100x200 像素和 1.0\0.5 像素间距的图像。有效的 DICOM-Viewer 将以相同的方式显示两个图像。第二张图像有更多的像素,但它们更小。导致与第一张图像相同的显示。

很明显,图像堆栈的高度是 518*0,625 = 323,75 mm。所以你有很多可能性:

  • 您可以创建一个512x324图像,将像素间距设置为0.845703\1.0并计算(插值)z 值。
  • 最好的解决方案是,按原样获取像素数据,不进行任何插值,因此不会丢失任何数据。然后你有一个512x518像素的网格。像素间距将为0.845703\0.625。这是因为 x 方向的间距来自原始数据中像素的间距,而 y 方向的间距是切片之间的距离。
  • 但是:有一些 DICOM-Viewer 不能正确处理非等距像素。如果您将图像导出为 jpeg 并让窗口/浏览器显示图像,那么您需要等距像素。因此,您必须选择多个像素,这样当像素间距为 0.845703mm 时,总高度为 323,75mm。这是 323,75 / 0.845703 = 382,​​817 ~ 383 像素。因此,如果您生成一个512x383像素的图像,您必须在其中对切片进行插值,您可以创建一个像素间距为0.845703\0.845703的图像。

推荐阅读