1 简介
目的:融合PET/CT/MRI医学图像,使结果图像尽可能包含更多边缘和纹理特征等信息,以更好地区分病变,肿瘤与正常组织器官,为疾病诊断提供更多的有用信息.方法:提出一种基于非下采样剪切波变换(NSST)和脉冲耦合神经网络(PCNN)模型的融合方法.首先,根据图像局部区域能量和,对图像NSST低频系数进行加权融合;然后,根据PCNN神经元的点火次数,选择图像NSST高频方向系数;最后,通过逆NSST变换,得到融合后的图像.结果:分别对7组MRI/PET和CT/PET图像进行融合实验,其结果图像具有很好的视觉效果,且在互信息,边缘相似性,梯度相似性及空间频率4个指标综合评价中较其它算法更优.结论:本方法可以自适应捕获边缘和纹理信息,具有良好的融合效果.
2 部分代码
clear all;
close all;
clc;
%% NSST tool box
addpath(genpath('shearlet'));
%%
A=imread('sourceimages/s02_MR.tif'); %anatomical image
B=imread('sourceimages/s02_PET.tif'); %functional image
img1 = double(A)/255;
img2 = double(B)/255;
img2_YUV=ConvertRGBtoYUV(img2);
img2_Y=img2_YUV(:,:,1);
[hei, wid] = size(img1);
% image fusion with NSST-PAPCNN
imgf_Y=fuse_NSST_PAPCNN(img1,img2_Y);
imgf_YUV=zeros(hei,wid,3);
imgf_YUV(:,:,1)=imgf_Y;
imgf_YUV(:,:,2)=img2_YUV(:,:,2);
imgf_YUV(:,:,3)=img2_YUV(:,:,3);
imgf=ConvertYUVtoRGB(imgf_YUV);
F=uint8(imgf*255);
figure;subplot(131);imshow(A);title('图1')
subplot(132);imshow(B);title('图2')
subplot(133);imshow(F);title('融合图');
imwrite(F,'results/fused.tif');
3 仿真结果
4 参考文献
[1]田娟秀, 刘国才. 基于NSST变换和PCNN的医学图像融合方法[J]. 中国医学物理学杂志, 2018, 35(8):7.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。