随着计算机技术和生物影像工程的日趋成熟,医学图像为医疗诊断提供的信息越来越丰富。目前,由于医学成像的设备种类繁多,导致医生获得的图像信息差异较大。如何把这些信息进行整合供医生使用成为当务之急。基于此,医学图像融合技术油然而生。该技术可以将来自不同成像设备的信息映射到一幅图像中,实现重要信息的高度整合,降低不确定性和冗余。和单一模态医学图像相比,融合后的图像可以为医生提供更丰富的生理信息
因为医学图像的成像设备不同,所以提供给医生的信息类型也不同。医学图像通常分为结构图像和功能图像。结构图像捕捉的是组织或器官的纹理和细节信息,例如计算机断层扫描CT和磁共振成像MRI。CT图像得到的横断面图像层厚准确、图像清晰、密度分辨率高。MRI图像无电离辐射,有极好的组织分辨能力,扫描层面方向比CT多,方便观察心脏和血管系统。和结构图像相比,功能图像分辨率较低,但其能清楚地描述组织或器官细胞的代谢情况。功能图像包括正电子发射计算机断层扫描PET和单光子发射计算机断层成像技术SPECT。前者利用少量核素进行全身显像,擅于发现恶性肿瘤;后者能特异性地显示病变的血流、功能和代谢的改变,有助于完成疾病的早期确诊。
鉴于此,提出一种基于离散小波变换和主成分平均的医学图像融合方法,程序运行环境为Matlab R2018a,部分代码如下:
clc; clear all;close all;
% Give number of input images
n=input('Number of images for fusion=');
for i=1:1:n;
[imagefile1 , pathname]= uigetfile('*.jpg;*.bmp;','Open file Eye image');
name=[pathname,imagefile1];
if imagefile1 ~= 0
a{i} = double(imread([name]));
[row,col,dim]=size(a{i});
if (dim>2)
a{i} = double(rgb2gray(imread([name])));
va{i}=cov(a{i},a{i});
end
end;
[ca{i},ch{i},cv{i},cd{i}] = dwt2(a{i},'db3');
vadwt{i}=cov(ca{i},ca{i});
vhdwt{i}=cov(ch{i},ch{i});
vvdwt{i}=cov(cv{i},cv{i});
vddwt{i}=cov(cd{i},cd{i});
avdwt{i}=(vadwt{i}+vhdwt{i}+vvdwt{i}+vddwt{i})/n;
end
% Evaluation of principal components for the relevant coefficients
[fca m1]=fuse(can);
[fch m2]=fuse(ch,n);
[fcv m3]=fuse(cv,n);
[fcd m4]=fuse(cd,n);
% principal component averaging
for i=1:1:n;
pc(i)=(m1(i,1)+m2(i,1)+m3(i,1)+m4(i,1))/4;
end
[z3 s3]=size(a{1});
out=zeros(z3,s3);
% Fusion based on average of principal components
for i=1:1:n
dwtpcav = pc(i)*a{i};
out=out+dwtpcav;
end
for i=1:1:n
figure,imshow(a{i},[]);
end
figure,imshow(out,[]);
部分出图如下:
完整代码:MATLAB环境下基于离散小波变换和主成分平均的医学图像融合方法-今日头条 (toutiao.com)
工学博士,担任《Mechanical System and Signal Processing》审稿专家,担任《中国电机工程学报》优秀审稿专家,《控制与决策》,《系统工程与电子技术》,《电力系统保护与控制》,《宇航学报》等EI期刊审稿专家。
擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。