(文献复现01)基于形态学变换的核素能谱寻峰算法
(文献复现01)基于形态学变换的核素能谱寻峰算法
写这个博客的目的是记录自己读文献时学到的一些方法,特别是一些比较新颖的算法,比如咱们第一个分享的文献(基于形态学变换的核素能谱寻峰算法)。
分享的文献有中文,有英文,目前还在整理,有空余时间会都发布出来,现阶段主要涉及能谱,核素等核方面的知识。
由于能力有限,我们先从比较基础的开始。
好了废话不多说,直接开始。
1. 引言
目前,常用的能谱寻峰方法有对称零面积法、导数法、简单比较法等。其中,导数法由于计算较为简单,是目前使用最为广泛的一种寻峰方法,但是其寻峰的效果被数学层面上的极大值干扰。针对传统方法的不足,并结合图像处理技术的优点,李湦等人了提出了一种新的寻峰算法。
2.文献复现
总体思路
a)形态学变换,主要包含腐蚀、膨胀;
b)平滑处理;
c)寻峰;
此处放入文献中的图2,方便后续步骤对比:
(a)为文献中平滑后的能谱 ;(b)(c)(d)为形态学变换处理后的图,后续会解释
2.1 数据平滑
我采用的是4096道的Cs137的实测能谱,测量时间为5min。平滑方法,我采用的最小二乘法,文献中采用的高斯平滑。如下图所示:
最上面是原始能谱,下面是平滑后能谱。方法为最小二乘法,在这里给大家分享一个小技巧,如果这种图想放在论文里,上述图有阴影不太美观,可以使用如下命令:
set(0,'defaultfigurecolor','w')
如下图所示:
至此,平滑过程完成,与文献图2 中的(a)图对应。以平滑后的能谱作为形态学变换的初始数据,我们将平滑后的能谱单独放出来,方便后续比较。
图中,比较容易的看的到5-6个峰(眼睛寻峰法)。
2.2 形态学变换
进行形态学变换,首先是结构元素的选取,结构元素不同,那么处理后的结果也不一样,文献中使用的线性结构元素。顾名思义,就是线段形状的,具体其数据形式就是数字全为1的矩阵。
文章中提到了结构元素尺度的概念,这里简单说明一下,在图像处理中,结构元素尺度,即在这里可以理解为线段元素的长度,这个是根据能谱自定义设置的,不是固定的。(类似于人工智能,有多少人工就有多智能)
因此,按照文献中所说的,尺度分别设置为11,31,51,也就是全为1的矩阵由11个1,31个1,51个1组成。
文献截图如下所示:
好了,我们再回到前面的图2,线性结构元素L=11,对应为b,L=31对应图c,L=51对应图d。
好叭,再放一次,可以看出来,L不同,峰的个数是不一样的。文献中最后综合考虑选择L = 31.。至此,所有峰就找出来了,只需要进行一个峰位确定就完成了。文献中只介绍了方法,就放出了这个图,接下来就是此篇博客的细节了,一步一步分解,做出图2中的c图。
*3 形态学复现
此博客中,L依然取31,我们只是简单的复现。
结果如下图所示:
形态学处理后如下所示:
形态学变换完成后,就是假峰剔除,假峰剔除中涉及到了将各个峰提取出来等操作,具体过程有很多种方法,我就不一一说明了,直接放一张提取出来后的结果吧:
上图,明显峰很多,类似于文献中图2中(b),修改参数,我们再来一次,啪,看下图:
哎,明显比上一次的峰减少了不少,我们假定它就是最合适的(这里就不再调参数了),对应文献图2中的(c)。
这里再说明一下,想达到减少峰的个数,可以通过两种方式,一个剔除假峰中,增大峰宽度,第二种是改变结构元素尺度。
好,为了更好的与文献做对比,我们复现一下图2中的(d),此时,我夸张的改变了一下参数,我们来看看结果:
峰信息丢失了不少,显然不是我们想要的结果,这种就是文献中所说的峰没有分别开,且峰信息丢失很多(补充)。
之后,就是寻峰了,
再对对应的峰为在原始数据中标记出来,就完成整个寻峰过程,至此,简单复现结束。
下面进行技术总结:
(1)寻峰效果限定因素很多
(2)想要达到完美寻峰效果,需要多次调试
(3)我在其他实验中,发现此方法的确可以达到识别重叠峰,且寻峰效果确实比传统方法好
(4)提取峰位,峰边界需要进行一定的深入研究
以下是我做的一个峰边界确定,还是再上述寻峰图中做的峰边界确定。
参考文献:
[1]李湦,黄长添,毕明德,徐卫锋,郭智荣.基于形态学变换的核素能谱寻峰算法[J].核电子学与探测技术,2016,36(02):171-173+178.