SimpleITK的使用介绍


总结:

  1. 物理空间上的图像有以下属性:

    • Origin:原点
    • Size:大小–每一维度的像素数
    • Spacing:像素之间的实际距离(nm、mm、km)
    • Direction cosine matrix:物理空间上的轴线方向

    这些属性是图像的元数据(meta-data)。从图像索引计算物理坐标需要所有四个组件。

  2. 图像可以包含元数据字典(meta-data)。这种补充信息通常包括图像模态(如CT)、患者姓名和与图像采集有关的信息。

  3. 图像初始化: 用户指定的像素类型,用户指定的维度(2,3),原点为零,所有维度的单位间距和单位方向余弦矩阵,强度设置为零。

  4. Data transfer to/from numpy: GetArrayFromImage(copy),GetArrayViewFromImage(immutable),GetImageFromArray (copy) +set the meta-data yourself.

  5. resampling导致全黑图像的一个常见问题是由于(a)对期望输出图像的空间域(元数据)的不正确规范;或者(b)使用从输出空间域到重新采样图像的转换映射的逆。

1. 物理空间上的图像

在这里插入图片描述

2. 像素值类型

像素类型表示为枚举类型,如下表:
在这里插入图片描述

3. 图像制造

制作一张图片,要求具备以下元素:

Pixel type Size Origin Spacing Direction matrix

例如:

image_3D = sitk.Image(256,128,64,sitk.sitkInt16)

4. 基础图像属性命令(Meta-Data)

你可以改变图像的原点,间距和方向。应该谨慎地对已经包含数据的图像进行此类更改。
在这里插入图片描述

5. 访问像素和切片

访问像素或者改变像素值可以使用GetPixel和SetPixel函数,访问切片可以使用python的切片操作符。访问函数和图像切片操作符的顺序为[x,y,z]。
在这里插入图片描述

6. 图像操作

SimpleITK支持图像之间的基本算术操作,同时考虑到元数据。图像必须在物理上(逐像素)重叠。
物理属性(元数据值)需要多接近才能被认为是等价的?
在这里插入图片描述
还支持比较运算符(>,>=,<,<=,==),用于返回二进制图像。
在这里插入图片描述

7. SimpleITK、Numpy的索引区别

SimpleITK和numpy对应的索引下标是相反的!

SimpleITK: image[x,y,z]
numpy: image_numpy_array[z,y,x]

8. SimpleITK2Numpy和Numpy2SimpleITK

  1. GetImageFromArray(): 返回图像数据的副本。然后,你可以自由地修改数据,因为它对原始的SimpleITK图像没有影响。
  2. GetArrayViewFromImage():返回对以内存有效方式显示有用的图像数据的视图。如果原始SimpleITK图像被删除,你将无法修改数据,视图将无效。
  3. GetImageFromArray():返回
  • 9
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值