医学图像解析

 DICOM:每一层图像都作为一个独立的文件,使用Python中的pydicom和SimpleITK库来读取。


​ mhd+raw:每一个病人的数据包含一个mhd文件和一个同名的raw文件(一一一对应),使用Python的SimpleITK库即可读取。

mhd(数据头部信息):存放数据的非图像信息,如图像大小、切片大小、像素大小等。
raw(未加工的数据):存储病人的图像信息,往往是三维体数据。(可以理解为将该病人不同的dicom切片图像都叠到一起,形成了一个三维图像,也就是我们通常处理的数据)。

这些像素按照什么坐标系来存储的?


世界坐标体系
如上图左所示,

世界坐标体系是典型的笛卡尔坐标体系,整个模型只有一个世界坐标来定义位置与方向,在这个坐标系中,每个模型都(如核磁扫描器,病人)有它自身的坐标体系,但是只存在一个世界坐标体系来定义模型的位置与方向。也就是说,每个模型都可以被世界坐标系表示,可以理解为绝对坐标。

解剖学坐标体系
如上图中所示,

这个解剖学坐标体系是一个连续的三维空间,在这个空间中,图像被采样。如上图中所示,这个坐标系包括3个位面(解剖轴):

横断面:与地面平行,上下分离人体(绿色)
矢状面:垂直地面,左右分离人体(红色)
冠状面:垂直地面,前后分离人体(紫色)
本文以 LPS 为坐标轴。

不同的医学应用软件运用不同的3D基本定义,下面这些基本上是最常用的:

LPS (Left,Posterior,Superior):Dicom与ITK工具包上用这个
from right to left
from anterior to posterior
from inferior to superior
RAS (Right,Anterior,Superior):3D Slicer上用这个
from left to right
from posterior to anterior
from inferior to superior
从根本上来说,这两种坐标轴是等价使用的,有着相同的逻辑。

图像坐标体系
如上图右所示,

医学扫描仪器创建了规则的点和网格的矩形数组,它的原点在左上角,向右为 i 轴正方向,向下为 j 轴正方向,向后为 k 轴正方向。除每个立体像素voxel (i,j, k)的强度值外,这个解剖学坐标的原点以及间距也被保存下来。(体素:立体像素,本质上还是像素,换个名字而已)

这个原点代表着第一个voxel (0,0,0) 体素在解剖学坐标体系中的位置如(100mm,50mm,-25mm)。这个间距指定立体像素在各个坐标轴的实际距离间隔例如(1.5mm,0.5mm,0.5mm)。在下面的2D例子中显示了原点与间距的意义,3D的类推即可。

也就是说,通过解剖学坐标系我们获得了一个3D图像,这个3D图像中的坐标原点(原点是对应图像坐标系说的)在解剖学坐标系并不是原点,而是对应着一个坐标,在解剖学坐标系中,单位基本都是mm。

利用原点和间距,每个立体像素在解剖学坐标体系中的对应位置都能够被计算出来

为什么不直接在解剖学坐标系中获取呢?因为解剖学坐标系中的单位都是1 mm,你写程序的时候怎么去获取这个1mm呢,而用图像坐标系中的坐标,不用考虑单位,直接根据索引获取就可以。可以这样理解,图像坐标体系是虚拟的,为了方便处理才有的。

这三个坐标体系有什么关系?怎样转换呢?
图像坐标体系与解剖学坐标体系的关系

DICOM的Orientation和MHD的TransformMatrix 表示图像坐标与解剖学坐标体系对应坐标的夹角余弦值。

图像坐标体系与世界坐标体系的关系

原点(origin)和间距(spacing)这两个参数将世界坐标转换为相应的图像坐标,即求出结节中心在图像中的位置。

origin表示图像坐标系原点在世界坐标系中的位置单位mm,

spacing表示每个像素的实际距离间隔,单位也是mm

所以结节中心坐标减去origin再除以spacing,就是对应像素在图像坐标系中的位置。

// 世界坐标转换到图像中的坐标
def worldToVoxelCoord(worldCoord, origin, spacing):
    stretchedVoxelCoord = np.absolute(worldCoord - origin)
    voxelCoord = stretchedVoxelCoord / spacing
    return voxelCoord

重采样的含义和代码
————————————————             
文章链接:https://blog.csdn.net/weixin_43581819/article/details/124822521

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值