1、
SimpleITK: image[x,y,z] x,y,z对应三维矩阵的列标、行标、深度,对应到图片上为图片宽度、高度、深度
SimpleITK: image[x,y,z] x,y,z对应三维矩阵的列标、行标、深度,对应到图片上为图片宽度、高度、深度
numpy: image_numpy_array[z,y,x] x,y,z对应矩阵的深度、高度、宽度,对应到图片上为图像的深度、高度、宽度
二者坐标恰好相反
二者坐标恰好相反
2、
就本文中的(x,y,z)坐标顺序,无论在SimpleITK还是在numpy.ndarray中,都可对应到下图中,
就本文中的(x,y,z)坐标顺序,无论在SimpleITK还是在numpy.ndarray中,都可对应到下图中,
深度则像matlab中的三维矩阵相同,在xoy平面的垂直方向
3、简单的试验
import SimpleITK as sitk
from pyplotlib import plot as plt
a=sitk.Image(128,64,sitk.sitkUInt8) #获得一张宽度128,高度64的图片
a[100,10]=255 #在该坐标位置设置像素点的亮度为255
b=sitk.GetArrayFromImage(a) #把SimpleITK.Image对象转化成numpy.ndarray
plt.imshow(b)
plt.show() #显示图片
下面对比numpy.ndarray中的坐标表示
b[10,100]=0 #清除上图中的亮点,注意区分坐标顺序,这里时【10,100]在a那里是[100,10]
b[60,10]=255 #在b(numpy.ndarray对象)的[60,10]处设值为255,对应a(SimpleITK.Image对象)的坐标为[10,60]
plt.imshow(b)
plt.show() #显示图片如下图
看到这里没看明白可以参看以下链接:http://insightsoftwareconsortium.github.io/SimpleITK-Notebooks/03_Image_Details.html