✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
在基于图像的医学决策中,捕获患者给定器官的不同形态的医学图像。这些图像中的每一个都将代表一种模式,该模式将以不同方式呈现被检查的器官,从而导致对给定现象(例如中风)的不同观察。对这些模式中的每一种模式的准确分析都有助于发现更合适的医疗决策。多模态医学成像是一个研究领域,它包括开发能够融合不同模态集获取的图像信息的稳健算法。在本文中,针对广泛的医学诊断问题提出了一种新颖的多模态医学图像融合算法。它基于边界测量脉冲耦合神经网络融合策略和能量属性融合策略在非下采样剪切波变换域中的应用。我们的算法在具有多种疾病模式的数据集中得到验证,即神经胶质瘤、阿尔茨海默氏症和转移性支气管癌,其中包含超过 100 个图像对。定性和定量评估验证了所提出的算法优于当前大多数算法,为医学诊断提供了重要思路。
1.1目前多模态图像融合面临的挑战
图像融合通常可以分为三个层次:像素级、特征级和决策级[ 21、31、42、43、44、47 ] 。由于目的是融合来自源图像的像素信息,因此医学图像融合属于像素级。
多尺度变换 (MST) 方法是最著名的类别之一 [ 40 ]。通常,MST 融合方法包括三个步骤。首先,将源图像转换为 MST 域。然后,根据特定的融合策略对不同尺度的参数进行融合。最后通过相应的逆变换重建融合图像。MST方法主要有拉普拉斯金字塔(LP)[ 6 ]、小波变换(WT)[ 27、34 ]、非下采样Contourlet变换(NSCT)[ 49 ]和非下采样剪切波变换(NSST) [ 4 , 23 , 38]. 然而,如果 MST 方法在没有其他融合措施的情况下执行,可能会出现一些意想不到的块效应 [ 39 ]。
为了克服这个缺点,在 MST 方法中应用了一些融合措施。例如,空间频率 (SF)、局部方差 (LV ) 、图像梯度能量 (EIG) 和修正拉普拉斯算子 (SML) 通常用作融合度量 [ 17、41 ]。然而,大多数这些措施是在空间域或低阶梯度域中获得的,这意味着融合图可能并不总是精确的。这种不精确可能会导致阻塞伪像。
除了传统的 MST 方法外,基于边缘保留过滤(EPF)的 MST 分解方法也很常用。在 EPF-MST 方法中,高斯滤波和 EPF 用于将输入图像分解为两个尺度层和一个基础层。然后,基于合适的融合策略融合三层。最后,通过重建算法再现融合图像。EPF-MST 方法包含基于双边滤波 (BF) 的 [ 51 ]、基于曲率滤波 (CF) 的 [ 40 ] 和基于共现滤波 (CoF) 的 [ 37 ] 方法。
1.2一种用于医学图像融合的脉冲耦合神经网络模型
为了克服这一挑战,文献 [ 46 ]中提出了一种称为脉冲耦合神经网络 (PCNN) 的方法。这种方法最初是为了模拟猫视觉皮层的基本机制而提出的,后来成为图像处理中的基本方法 [ 29 ]。孔等。提出了 NSST 域中的 SF 调制 PCNN 融合策略以及红外和可见图像融合的解决方案 [ 19 ]。受这种由 PCNN 模型调制的融合度量的启发,一个有趣的研究路径将是解决医学图像融合领域中调制 PCNN 的新度量。
为了进一步提高医学图像的融合质量,我们提出了一种基于非下采样剪切波域中脉冲耦合神经网络调制的边界测量的医学图像融合方法。首先,将源图像变换到具有低频带和高频带的 NSST 域。然后,通过基于能量属性的融合策略合并低频段,并通过边界测量调制 PCNN 策略合并高频段。最后,通过结合逆 NSST 重建融合图像。我们通过使用定量和定性评估将其性能与几种现有方法进行比较来评估所提出的算法。实验结果表明,所提出的方法比现有的大多数融合方法性能更好。
⛄ 部分代码
function FM = multiscale_morph(img, num)
%========================================================================
%This is a function to compute the multiscale morphological gradient
%Input:
% img: the input image
% scale: the number of the scales
%Output:
% FM: Focus-measure
%========================================================================
img = double(img);
FM = double(zeros(size(img)));
for ii = 1 : num
scale = 2 * ii + 1;
se = strel('disk', scale);
g = imdilate(img, se) - imerode(img, se);
FM = FM + 1 / scale *(g);
end
return
⛄ 运行结果
⛄ 参考文献
Tan, W., Tiwari, P., Pandey, H.M. et al. Multimodal medical image fusion algorithm in the era of big data. Neural Comput & Applic (2020). https://doi.org/10.1007/s00521-020-05173-2