处理医学数据的时候会遇到三维的TIFF文件(即为,若干张二维TIFF堆叠成的一个文件)。
在Python中,使用OpenCV、PIL.Image和 scipy.misc都只能处理二维情况。
这时候就需要一个神器:SimpleITK
例子:使用SimpleITK将mhd图像转为三维TIFF图像
import numpy as np
import SimpleITK as sitk
mhd_dir = 'mouse1.mhd'
raw_dir = 'mouse1.raw'
a = sitk.ReadImage(mhd_dir)
a_arr = sitk.GetArrayFromImage(a).transpose([1,2,0]) #SimpleITK是(z,x,y)通道
dim = a.GetSize()
print(dim)
new_tif_dir = 'mouse2.tif'
sitk.WriteImage(a,new_tif_dir)
同理,ReadImage()也可以直接读取三维TIFF图像。