1、对数变换
图像对数变换首先将图像从SimpleITK图像数据转成Numpy矩阵数据,然后采用Numpy的log1p()函数来计算数据的log(1+x)变换,由于1+x不能小于零,因此这里我们使用图像减去图像的最小值来计算对数变换结果。
image = sitk.ReadImage("srcdicom.mha") np_image = sitk.GetArrayFromImage(image) # log transform np_log_image = np.log1p(np_image - np.min(np_image)) log_image = sitk.GetImageFromArray(np_log_image) log_image.SetOrigin(image.GetOrigin()) log_image.SetDirection(image.GetDirection()) log_image.SetSpacing(image.GetSpacing()) sitk.WriteImage(log_image, "log_image.mha")
2、幂次变换
图像对数变换首先将图像从SimpleITK图像数据转成Numpy矩阵数据,然后采用Numpy的power()函数来计算数据的幂次变换,为了防止出现计算值溢出错误,因此这里我们使用图像减去图像均值再除以图像方差来计算图像幂次变换结果,,在这里我们计算图像3次幂变换。
# power transform np_image_clone1 = np_image.copy() np_image_clone1 = (np_image_clone1 - np_image.mean()) / np_image.std() np_power_image =