做网站服务商,今天新闻联播,手机怎样使用域名访问网站,怎么看关键词的搜索量1、对数变换
图像对数变换首先将图像从SimpleITK图像数据转成Numpy矩阵数据#xff0c;然后采用Numpy的log1p#xff08;#xff09;函数来计算数据的log#xff08;1x#xff09;变换#xff0c;由于1x不能小于零#xff0c;因此这里我们使用图像减去图像的最小值来计…1、对数变换
图像对数变换首先将图像从SimpleITK图像数据转成Numpy矩阵数据然后采用Numpy的log1p函数来计算数据的log1x变换由于1x不能小于零因此这里我们使用图像减去图像的最小值来计算对数变换结果。
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 np.power(np_image_clone1, 3)
power_image sitk.GetImageFromArray(np_power_image)
power_image.SetOrigin(image.GetOrigin())
power_image.SetDirection(image.GetDirection())
power_image.SetSpacing(image.GetSpacing())
sitk.WriteImage(power_image, power_image.mha)
3、指数变换
图像指数变换首先将图像从SimpleITK图像数据转成Numpy矩阵数据然后采用Numpy的exp函数来计算数据的指数变换为了防止出现计算值溢出错误因此这里我们使用图像减去图像均值再除以图像方差来计算图像指数变换结果。
# exp transform
np_image_clone np_image.copy()
np_image_clone (np_image_clone - np_image.mean()) / np_image.std()
np_exp_image np.exp(np_image_clone)
exp_image sitk.GetImageFromArray(np_exp_image)
exp_image.SetOrigin(image.GetOrigin())
exp_image.SetDirection(image.GetDirection())
exp_image.SetSpacing(image.GetSpacing())
sitk.WriteImage(exp_image, exp_image.mha)
4、直方图均衡化
我们使用函数AdativeHistogramEqualizationImageFilter函数来实现图像的直方图均衡化这个类函数需要人为设置三个参数AlphaBetaRadius其中Alpha参数是用来控制结果相对于经典直方图均衡化方法结果的相似程度Beta参数用来控制图像锐化程度Radius用来控制直方图统计时的区域大小。
# Histogram equalization
sitk_hisequal sitk.AdaptiveHistogramEqualizationImageFilter()
sitk_hisequal.SetAlpha(0.9)
sitk_hisequal.SetBeta(0.9)
sitk_hisequal.SetRadius(3)
sitk_hisequal sitk_hisequal.Execute(image)
sitk.WriteImage(sitk_hisequal, sitk_hisequal.mha) 5、拉普拉斯图像锐化
我们使用LaplacianSharpeningImageFilter函数来对图像进行拉普拉斯锐化。参数设置也比较简单是否使用输入图像的Spacing来进行计算在这里我们为了保持一致性设置使用输入图像的Spacing。
# laplace sharpen
sitk_laplaciansharp sitk.LaplacianSharpeningImageFilter()
sitk_laplaciansharp.UseImageSpacingOn()
sitk_laplaciansharp sitk_laplaciansharp.Execute(image)
sitk.WriteImage(sitk_laplaciansharp, sitk_laplaciansharp.mha)