精华内容
下载资源
问答
  • 我可以自己写一些东西,通过找到一阶导数的零交叉点或其他东西,但它似乎是一个足够通用的...这些只是例子,不是我的实际数据:一维峰值:二维峰值:寻峰算法可以找到这些峰的位置(不仅仅是它们的值),理想情况下可...

    我可以自己写一些东西,通过找到一阶导数的零交叉点或其他东西,但它似乎是一个足够通用的函数,可以包含在标准库中。有人知道吗?

    我的特殊应用是一个二维数组,但通常它会用于在FFT等中查找峰值。

    具体地说,在这类问题中,有多个强峰值,然后有许多较小的"峰值",这些都是由噪声引起的,应该忽略不计。这些只是例子,不是我的实际数据:

    一维峰值:

    二维峰值:

    寻峰算法可以找到这些峰的位置(不仅仅是它们的值),理想情况下可以找到真正的样本间峰,而不仅仅是具有最大值的指数,可能使用二次插值或其他方法。

    一般来说,你只关心一些强峰,所以它们要么被选择是因为它们高于某个阈值,要么因为它们是按振幅排序的有序列表的前n个峰。

    正如我所说,我知道如何自己写这样的东西。我只是在问是否有一个预先存在的函数或包可以很好地工作。

    更新:

    我翻译了一个matlab脚本,它可以很好地处理一维情况,但可能会更好。

    最新更新:

    Sixtenbe为一维案例创建了一个更好的版本。

    @Endolith您有原始的matlab文件,您为此翻译成python吗?谢谢!

    @mohammad:billauer.co.il/peakdet.html gist.github.co m/250860文件

    怎么办:docs.scipy.org/doc/scipy/reference/generated/…

    @我知道这个问题很古老,但它很有用;)今天早上我花了几个小时在find_peaks上,所以我补充了这个答案,可能有助于以后的参考。(我相信你从2009年起就已经找到了这个问题,但这是为了其他人和我自己,几年后我会再次问自己这个问题!)

    我正在研究一个类似的问题,我发现了一些最好的参考资料来自化学(从质谱数据中的峰值发现)。为了对峰值查找算法进行全面的回顾,请阅读本文。这是对我所遇到的寻峰技术最清晰的评论之一。(小波是在噪声数据中寻找此类峰值的最佳方法。)

    看起来你的峰很清晰,没有隐藏在噪音中。在这种情况下,我建议使用光滑的精明的戈莱导数来找到峰值(如果你只是区分上面的数据,你会发现一堆误报)。这是一种非常有效的技术,并且非常容易实现(您确实需要一个包含基本操作的矩阵类)。如果你简单地找到第一个S-G导数的零交叉点,我想你会很高兴的。

    我在寻找一个通用的解决方案,而不是只在那些特定的图像上工作的解决方案。我将一个matlab脚本改编为python,它工作得很好。

    马上就来。matlab是一个很好的算法源。脚本使用什么技术?(顺便说一句,SG是一种非常通用的技术)。

    我把它挂在上面。它基本上只是搜索高于其邻居的某个阈值的局部最大值。当然还有更好的方法。

    @保罗我在那页上作了书签。iyo总之,你认为哪种特定的技术最适合这个选峰业务?

    为什么导数的零比测试三个点中的一个更大或更小的其他两点要好呢?我已经申请了SG变压器,似乎额外的费用。

    Scipy中有一个名为scipy.signal.find_peaks_cwt的函数,听起来很适合您的需要,但是我没有经验,所以我不能推荐。

    http://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.find_peaks_cwt.html

    是的,当我问这个的时候,这个不存在,我仍然不知道如何使用它

    你刚才添加了这个,但是效果很好。使用它很简单。只需传入数组和另一个数组(即np.arange(1,10)),其中列出了您想要的所有峰的宽度;如果需要的话,可以筛选出瘦峰或宽峰,这是一个很好的好处。再次感谢!

    顾名思义,函数scipy.signal.find_peaks对此很有用。但要想得到一个好的提取峰,必须充分了解其参数width、threshold、distance,尤其是prominence。

    根据我的测试和文档,突出的概念是"有用的概念",以保持良好的峰值,并丢弃噪声峰值。

    什么是(地形)突出?这是"从山顶到任何更高地形所需的最低下降高度",如图所示:

    这个想法是:

    The higher the prominence, the more"important" the peak is.

    测试:

    我故意用(有噪音的)频率变化的正弦曲线,因为它显示出许多困难。我们可以看到,width参数在这里不是很有用,因为如果设置的最小width太高,那么它就无法跟踪高频部分非常接近的峰值。如果将width设置得太低,信号左侧会出现许多不需要的峰值。与distance相同的问题。threshold只与直接邻居比较,在这里没有用处。prominence是最好的解决方案。请注意,您可以组合这些参数中的许多!

    代码:

    import numpy as np

    import matplotlib.pyplot as plt

    from scipy.signal import find_peaks

    x = np.sin(2*np.pi*(2**np.linspace(2,10,1000))*np.arange(1000)/48000) + np.random.normal(0, 1, 1000) * 0.15

    peaks, _ = find_peaks(x, distance=20)

    peaks2, _ = find_peaks(x, prominence=1)      # BEST!

    peaks3, _ = find_peaks(x, width=20)

    peaks4, _ = find_peaks(x, threshold=0.4)     # Required vertical distance to its direct neighbouring samples, pretty useless

    plt.subplot(2, 2, 1)

    plt.plot(peaks, x[peaks],"xr"); plt.plot(x); plt.legend(['distance'])

    plt.subplot(2, 2, 2)

    plt.plot(peaks2, x[peaks2],"ob"); plt.plot(x); plt.legend(['prominence'])

    plt.subplot(2, 2, 3)

    plt.plot(peaks3, x[peaks3],"vg"); plt.plot(x); plt.legend(['width'])

    plt.subplot(2, 2, 4)

    plt.plot(peaks4, x[peaks4],"xk"); plt.plot(x); plt.legend(['threshold'])

    plt.show()

    这就是我想要的。但是,您是否知道在二维数组中发现突出点的任何实现?

    对于那些不确定在python中使用哪种寻峰算法的人,这里快速概述了替代方法:https://github.com/monsieurv/py-findpeaks

    我希望自己能与matlab findpeaks函数等价,我发现marcos duarte的detect_peaks函数是一个很好的方法。

    非常容易使用:

    import numpy as np

    from vector import vector, plot_peaks

    from libs import detect_peaks

    print('Detect peaks with minimum height and distance filters.')

    indexes = detect_peaks.detect_peaks(vector, mph=7, mpd=2)

    print('Peaks are: %s' % (indexes))

    这将给你:

    由于写了这篇文章,find_peaks函数被添加到scipy中。

    以可靠的方式检测频谱中的峰值已经被研究了很多,例如80年代所有关于音乐/音频信号正弦建模的工作。在文献中寻找"正弦模型"。

    如果你的信号和例子一样清晰,那么一个简单的"给我一个比n个邻居高的振幅"应该可以很好地工作。如果你有噪声信号,一个简单但有效的方法是及时观察你的峰值,跟踪它们:然后你检测光谱线而不是光谱峰。在信号的滑动窗口上计算FFT,得到一组光谱(也叫光谱图)。然后观察光谱峰在时间上的演变(即在连续窗口中)。

    及时观察高峰?检测光谱线?我不知道这是什么意思。它对方波有用吗?

    我试图增加一些解释,如果这仍然不清楚,请告诉我。

    哦,你说的是用stft代替fft。这个问题不是关于FFT的,只是一个例子。它是关于在任何普通的一维或二维阵列中寻找峰值。

    我不认为你要找的是Scipy提供的。在这种情况下,我自己编写代码。

    从scipy.interpolate中得到的样条插值和平滑是非常好的,可能对拟合峰值和找到最大值的位置非常有帮助。

    我很抱歉,但我认为这应该是一个评论,而不是回答。它只是建议自己写,对可能有用的功能有一个模糊的建议(顺便说一下,保罗回答中的那些功能更相关)。

    投反对票,因为这根本不是答案。

    有标准的统计函数和方法来查找数据的异常值,这可能是您在第一种情况下需要的。使用导数可以解决第二个问题。但是,我不确定是否有一种方法可以同时解决连续函数和采样数据。

    首先,如果没有进一步的规范,"峰值"的定义是模糊的。例如,对于以下系列,您会将5-4-5称为一个峰值还是两个峰值?

    1-2-1-2-1-1-5-4-5-1-1-5-1

    在这种情况下,您将需要至少两个阈值:1)一个高阈值,它只能高于这个阈值,一个极端值可以注册为一个峰值;2)一个低阈值,以便由它下面的小值分隔的极端值将成为两个峰值。

    峰值检测是极值理论文献中研究得很好的一个课题,也称为"极值去聚类"。其典型应用包括根据环境变量的连续读数识别危险事件,例如分析风速以检测风暴事件。

    展开全文
  • 准分子激光绝对波长校准技术中, 参考中心波长位置抖动是影响校准精度的主要因素, 寻峰算法是解决这类问题的有效途径。通过仿真和实验研究比较了5种寻峰算法, 结果显示, 高斯非线性曲线拟合寻峰法误差最小, 算法平均...
  • 常用寻峰算法比较

    2021-04-25 10:48:02
    常用寻峰算法比较

    常用寻峰算法比较

    在这里插入图片描述

    展开全文
  • 分析比较了光纤布拉格光栅(FBG)传感解调系统的6种寻峰算法:蒙特卡罗(Monte Carlo)算法、直接比较法、二次插值数值微分法、一般多项式拟合法、多项式-高斯公式拟合法和高斯公式非线性曲线拟合法。通过分析算法理论...
  • 通过实验,分析对比了以下5种寻峰算法:直接比较寻峰算法,高斯拟合寻峰算法,自适应半峰检测寻峰算法,基于Steger寻峰算法和本文所提出的算法分别在恒温下的寻峰平均误差值,以及在改变温度,噪音等情况下的平均...
  • 寻峰算法-c#

    热门讨论 2014-06-12 15:42:20
    寻峰算法,一个不错的算法,用C#开发,需要的人下载
  • 国外的大师级的寻峰算法,带详细注释
  • 函数^{},顾名思义,对此很有用。但了解其参数width、threshold、distance以及最重要的参数prominence是获得良好峰提取的重要条件。根据我的测试和文档,突出度的概念是“有用的概念”,它可以保留好的峰值,并丢弃...

    函数^{},顾名思义,对此很有用。但了解其参数width、threshold、distance以及最重要的参数prominence是获得良好峰提取的重要条件。

    根据我的测试和文档,突出度的概念是“有用的概念”,它可以保留好的峰值,并丢弃有噪声的峰值。

    什么是(topographic) prominence?它是从山顶到任何更高地形所需的最低下降高度,如图所示:

    想法是:The higher the prominence, the more "important" the peak is.

    测试:

    我特意用了一个(有噪声的)频率变化的正弦波,因为它显示出许多困难。我们可以看到,width参数在这里不是很有用,因为如果设置的最小值width太高,那么它将无法跟踪高频部分非常接近的峰值。如果将width设置得太低,则信号左侧会出现许多不需要的峰值。与distance相同的问题。threshold只与直接邻居进行比较,这在这里是不有用的。prominence是最好的解决方案。请注意,您可以组合这些参数中的许多!

    代码:import numpy as np

    import matplotlib.pyplot as plt

    from scipy.signal import find_peaks

    x = np.sin(2*np.pi*(2**np.linspace(2,10,1000))*np.arange(1000)/48000) + np.random.normal(0, 1, 1000) * 0.15

    peaks, _ = find_peaks(x, distance=20)

    peaks2, _ = find_peaks(x, prominence=1) # BEST!

    peaks3, _ = find_peaks(x, width=20)

    peaks4, _ = find_peaks(x, threshold=0.4) # Required vertical distance to its direct neighbouring samples, pretty useless

    plt.subplot(2, 2, 1)

    plt.plot(peaks, x[peaks], "xr"); plt.plot(x); plt.legend(['distance'])

    plt.subplot(2, 2, 2)

    plt.plot(peaks2, x[peaks2], "ob"); plt.plot(x); plt.legend(['prominence'])

    plt.subplot(2, 2, 3)

    plt.plot(peaks3, x[peaks3], "vg"); plt.plot(x); plt.legend(['width'])

    plt.subplot(2, 2, 4)

    plt.plot(peaks4, x[peaks4], "xk"); plt.plot(x); plt.legend(['threshold'])

    plt.show()

    展开全文
  • 寻峰算法总结报告

    千次阅读 2020-03-08 21:27:09
    闭合重峰、波峰定位、寻峰算法报告 自动寻峰 由于谱结构的复杂和统计涨落的影响,从谱中正确地找到全部存在的峰是比较困难的。尤其是找到位于很高本底上的弱峰,分辨出相互靠得很近的重峰更为困难。 谱分析对寻峰...

    闭合重峰、波峰定位、寻峰算法报告
    自动寻峰

    由于谱结构的复杂和统计涨落的影响,从谱中正确地找到全部存在的峰是比较困难的。尤其是找到位于很高本底上的弱峰,分辨出相互靠得很近的重峰更为困难。

    谱分析对寻峰方法的基本要求如下:

    (1) 比较高的重峰分辨能力。能确定相互距离很近的峰的峰位。

    (2) 能识别弱峰,特别是位于高本底上的弱峰。

    (3) 假峰出现的几率要小。

    (4) 不仅能计算出峰位的整数道址,还能计算出峰位的精确值,某些情况下要求峰位的误差小于0.2道。

    很多作者对寻峰方法进行了研究,提出了很多有效的寻峰方法。

    寻峰的目的 :

    判断有没有峰存在

    确定峰位(高斯分布的数学期望),以便把峰位对应的道址,转换成能量

    确定峰边界——为计算峰面积服务(峰边界道的确定,直接影响峰面积的计算)

    分为两个步骤:谱变换和峰判定

    要求:支持手动/自动寻峰,参数输入,同时计算并显示峰半高宽、精确峰位、峰宽等信息,能够区分康普顿边沿和假峰

    感兴区内寻峰

    人工设置感兴趣大小,然后在感兴区内采用简单方法寻峰

    重点研究:对感兴区内的弱峰寻峰、重峰的分解

    对于一个单峰区,当峰形在峰位两侧比较对称时,可以由峰的FWHM计算峰区的左、右边界道址。峰区的宽度取为3FWHM,FWHM的值可以根据峰位mp由测量系统的FWHM刻度公式计算。由于峰形对称,左、右边界道和峰位的距离都是1.5FWHNM。

    式中mp是峰位,INT的含义是取整数。

    对于存在有低能尾部的峰,其峰形函数描述(参见图)。

    ,m≥mp-J

    ,m≤mp-J

    式中H为峰高,mp为峰位,是高斯函数的标准偏差,J为接点的道址和峰位之间的距离。在峰位的左侧,有一个接点,其道址为mp-J。在接点的右侧,峰函数是高斯函数。在接点的左侧,峰函数用指数曲线来描述。这时峰区的左、右边界道址为

    带有低能尾部的峰函数的图形

    全谱自动寻峰

    基于核素库法:能量刻度完成后,根据核素库中的能量计算对应的道址,在各个道址附近(左右10道附近)采用简单的寻峰方法(导数法)

    方法:

    根据仪器选择开发

    IF函数法/简单比较法(适于寻找强单峰,速度快)

    满足条件: 可认为有峰存在

    然后在data i-m至data i+m中找最大值,对应的道值即为峰位

    k:找峰阈值,根据高斯分布,一般k取值1—1.5

    常用5点、7点极大值法(m取2,3)

    判定峰是否有意义

    一般,用R=N0 / Nb≥ R0确定峰是否有意义

    R为峰谷比, R0为设定值 (经验值)

    N0为净峰幅度与基底之和

    Nb为基底计数

    int CMmcaView::SearPeakCompare(int Beginch, int Endch, int m, float k)

    高斯乘积函数找峰法(可靠性差,不建议采用)

    描述谱峰形状的函数主要是高斯函数则由相邻的数据点定义一个新的函数(第一高斯乘积函数,只与有关):

    m是步长(用道表示),是高斯乘积函数的阶数,则Pm(i)称为第m阶高斯乘积函数。找峰的灵敏度与m有关,随m的增加灵敏度提高。

    为避免基线参数的影响,最好扣除本底后,再应用高斯乘积函数找峰。

    考虑统计涨落的影响,把判断无峰存在的1变为一个"单位带"。即峰的判断为:

    峰位的确定:由Pm(i)过1的两点求平均来确定;峰边界的确定:"单位带"下限的两个最端点;半高宽的确定:函数Pm(i)在"1"上的截距;组合峰的确定:在乘积函数的两个峰之间没有处于"带内"的乘积函数值

    导数法(一阶、二阶、三阶)

    Nm为规范化常数,Cj平滑的变换系数。

    3次多项式5点光滑一阶导数公式:(可以采用)

    峰位确定:一阶导数值由正变负=0处;峰边界确定:一阶导数由负变正=0处

    CalculateDifferential(0, size, m, differ);

    for (int j = m; j <= size-m; j++)

    {

    for(int i=1;i<=m;i++)

    {

    if(differ[j-i])>0&&differ[j-i]>maxtemp) {maxtemp=differ[j-i]; nmax=j-i;}

    if(differ[j+i])<0&&differ[j+i]<mintemp) {mintemp=differ[j+i]; nmin=j+i;}

    }

    if ((nmin-nmax)>0.8fwhm && (nmin-nmax)❤️fwhm)

    //FWHM参数根据仪器能量分辨率可人工确定,fwhm~20

    peakposition[p++]=j+0.5;//保持峰位对应的道址

    }

    5点光滑二阶导数公式(软件中推荐采用)

    //7点二阶导数(5*(countsdata[j-3]+countsdata[j+3])-3*(countsdata[j-1]+countsdata[j+1])-4*countsdata[j])/42;

    软件中推荐采用11点以上的公式

    峰位确定:二阶导数最小值对应的道址;峰边界确定:二阶导数正极大值点

    for (int j = m; j <= size-m; j++)//m~30

    {

    int maxtemp=-0.5,mintemp=-0.5;

    If(differ[j]<-0.05)

    for(int i=1;i<=m;i++)

    {

    if(differ[j-i]>maxtemp) {maxtemp=differ[j-i]; nmax=j-i;}

    if(differ[j+i]>mintemp) {mintemp=differ[j+i]; nmin=j+i;}

    }

    if ((nmin-nmax)>0.8fwhm && (nmin-nmax)❤️fwhm)

    //FWHM参数根据仪器能量分辨率可人工确定,fwhm~20

    peakposition[p++]=j+0.5;//保持峰位对应的道址

    }

    试验:系列1为处理后的原始能谱,系列2为5点一阶导数,系列3为5点二阶导数,系列4为对称零面积法寻峰

    只要选择好合适的寻峰阈值,足以满足准确寻找到全能峰,并剔除假峰(如康普顿边沿,反散射峰)

    5点光滑三阶导数公式判定各感兴区是单峰还是重峰

    峰位确定:三阶导数由负变正=0处;峰边界确定:三阶导数由正变负=0处

    判定峰是否有意义0.8FWHM ≤ N ≤ 3FWHM

    峰高判定条件

    这个公式就是在一阶导数法寻峰程序中实际应用的峰高判定条件。

    CalculateDifferential(Beginch, Endch, m, differ);

    int CMmcaView::SearPeakDifferential(int Beginch, int Endch, int fwhm, int differ[], int m)

    {

    int n1=0, differ[Endch-Beginch+1], nmax=0, nmin=0, maxtemp, mintemp,temp;

    maxtemp=differ[0]; mintemp=differ[0];

    for (int j = 1; j <= Endch-Beginch; j++)

    {

    temp=differ[j-1];
    
    if(_copysign(temp,differ[j])!=differ[j-1] && differ[j]<0) n1=j+Beginch;
    
    if(differ[j]<mintemp) {mintemp=differ[j]; nmin=j+Beginch;}
    
    if(differ[j]>maxtemp) {maxtemp=differ[j]; nmax=j+Beginch;}
    

    }

    if ((nmin-nmax)>0.8fwhm && (nmin-nmax)❤️fwhm) return n1;

    else return (0);

    }

    对称零面积法(推荐自动寻峰中采用,可探测弱峰和重峰)

    面积为零的"窗"函数与实验谱数据进行褶积变换,且要求"窗"函数为对称函数。对线性基底的褶积变换将为零,只有存在峰的地方不为零。

    匹配滤波器法(类峰形函数)

    峰判定准则

    2m+1为变换宽度,为峰宽参数,若变换后的y’和其均方根误差的比值超过预先给定的寻峰阈值(f),则认为找到了一个峰。

    峰位的确定:Ri的正极值对应的道址;峰边界的确定:Ri的正峰两边相邻的两个极小值之间的距离可以作为峰的宽度信息;半宽度:两过零截距。

    CalculateArea(0, size, m, fwhm, area, R);

    for (int j = m; j <= size-m; j++)

    {if(area[j]>0&&R[j]>fh)

    for(int i=1;i<=m;i++)

    {

    if(area[j-i])>0&&area[j-i]<mintemp1) {mintemp1=area[j-i]; nmim1=j-i;}

    if(area[j+i])>0&&area[j+i]<mintemp2) {mintemp2=area[j+i]; nmin2=j+i;}

    }

    if ((nmin2-nmin1)>0.6fwhm && (nmin2-nmin1)<=2fwhm)

    peakposition[p++]=j+0.5;//保持峰位对应的道址

    }

    协方差法(曲线拟合寻峰,计算机寻峰中采用,可分辨重峰,比较好的寻峰方法,但计算较为复杂,运算速度较慢)

    1975年H.P.BLOK等提出了一种新的寻峰方法,称为协方差法。用一个峰形函数与实验谱数据逐段拟合(一个高斯形函数与实验谱yi的协方差)

    ,Cj为峰形/高斯函数H为峰FWHM,y’i为拟合峰高,bi为本底常数(在峰区内假定不变)

    用(f判峰阈值)判定是否存在峰

    Cj通常为纯峰形函数,H为峰的FWHM

    gj为各道计数的权重因子

    参数选择:H的取值最好与实验谱峰的半宽度接近,2m+1一般取2H左右最好,f一般取2~5

    峰位确定:当Ri为极大值对应的道址;峰边界确定: Ri为负极大值处对应的道址

    为了更好地分辨出落在一个强峰’肩部’上的弱峰,可以在一个峰的左半部分和右半部分别计算Ri值,寻找相互靠得很近的组分峰。

    线性拟合寻峰方法(适合于在峰区内分辨重峰)

    吸取匹配滤波器方法的优点,同时用一阶导数法和线性拟合双重峰的技术来提高分辨重峰的能力,形成了一种新的寻峰方法,称为线性拟合寻峰方法。

    Deconvolution method

    First the background is removed (if desired), then Markov spectrum is calculated (if desired), then the response function is generated according to given sigma and deconvolution is carried out.

    可以提供多种算法,方便自行选择

    总结

    1.对于弱峰,数据光滑前,高斯乘积函数法和协方差法不能使用,若先光滑再找峰,又容易影响重叠峰的分辨;而导数法和对称零面积变换法,无论峰的统计质量如何,均可使用。

    2.从统计假峰及高基底的抑制能力及重峰的分辨能力来看,一、三阶导数法和对称零面积变换法是较好的。对于一、三阶导数法,可先用适当多数据点的一阶导数法找峰,选取适当的灵敏度常数,以抑制假峰;然后用少点的三阶导数法(或用一阶导数法重复三次)检查是否有漏峰和重峰。对称零面积变换法同理。

    3.从高基底的抑制能力和弱峰识别的准确度来看,对称零面积变换法最好。(在计算机自动找峰程序中,最好采用对称零面积变换法。)

    参考资料

    对找到的峰进行净面积判定是降低假峰出现几率的有效方法。当峰的净面积比峰的总面积(峰的净面积和本底面积之和)的标准偏差大若干倍时,才确认该峰是一个真峰,否则认为它是假峰,予以剔除。
    峰的判弃主要是利用峰面积来进行判定真假峰。对于给定的灵敏因子S,若峰的净面积为NetAREA,峰的宽度为Width。这些参数满足下式认为峰有意义,应保留,否则将找到的此峰丢弃。此式为:

    S越大灵敏度越高,一般情况下S=3。

    参考文献

    SPECTRAN-F Version 2 Listings Volume.4 Common Subroutines and Data structures, CANBERRA Industries, Inc. 1980

    能谱的数据处理(原文).doc

    M.A.Mariscotti, Nucl. Instr. Meth. 50 (1967) 309

    Mariscotti Algorithm modified by Routti and Prussin:

    J.T.Routti and S.G.Prussin, Nucl. Instr. Meth. 72 (1969) 125

    展开全文
  • matlab自动寻峰算法,超级强大,直接可用
  • matlab实现洛伦兹线型自动寻峰算法,非常实用,大师级算法
  • 寻峰算法的代码可以在我的上篇博客中查看C#中读取.mat文件,然后实现寻峰算法 核心代码是这部分 LineItem line = zedGraphControl1.GraphPane.AddCurve("", list1, Color.Red, SymbolType.None);//绘制图表 line....
  • (文献复现01)基于形态学变换的核素能谱寻峰算法 写这个博客的目的是记录自己读文献时学到的一些方法,特别是一些比较新颖的算法,比如咱们的第一个分享的文献(基于形态学变换的核素能谱寻峰算法)。 分享的文献有...
  • C# 实现寻峰算法的简单优化(包含边峰,最小峰值,峰距) 原文:C# 实现寻峰算法的简单优化(包含边峰,最小峰值,峰距) 核心寻峰算法的原理参考Ronny,链接:投影曲线的波峰查找, C#翻译原理代码...
  • 这是我验证波峰波谷算法提供的数据,数据量比较大,有2048个数据点,最后我会把这些数据显示在zedgraph中(实际上这些数据是利用高斯峰,高斯白噪声,正弦和余弦做出来来的数据,主要是为了测试去噪算法,用在这里)
  • 这是我验证波峰波谷算法提供的数据,数据量比较大,有2048个数据点,最后我会把这些数据显示在zedgraph中(实际上这些数据是利用高斯峰,高斯白噪声,正弦和余弦做出来来的数据,用在这里)
  • 自动寻峰 由于谱结构的复杂和统计涨落的影响从谱中正确地找到全部存在的峰是比较困难的 尤其是找到位于很高本底上的弱峰分辨出相互靠得很近的重峰更为困难 谱分析对寻峰方法的基本要求如下 比较高的重峰分辨能力能...
  • 我正在尝试用python开发一个快速算法来查找图像中的峰值,然后找到这些峰值的质心。我已经用scipy.ndimage.label和ndimage.find_对象编写了以下代码来定位对象。这似乎是代码中的瓶颈,在500x500图像中定位20个对象...
  • python/scipy的寻峰算法

    2020-07-28 17:37:56
    import numpy as np import matplotlib.pyplot as plt from scipy.signal import find_peaks x = np.sin(2*np.pi*(2**np.linspace(2,10,1000))... plt.legend(['threshold']) plt.show() 参考: python/scipy的寻峰算法
  • 精品文档 自动寻峰 由于谱结构的复杂和统计涨落的影响从谱中正确地找到全部存在的峰是比较困难的 尤其是找到位于很高本底上的弱峰分辨出相互靠得很近的重峰更为困难 谱分析对寻峰方法的基本要求如下 (1) 比较高的重...
  • 自动寻峰 由于谱结构的复杂和统计涨落的影响从谱中正确地找到全部存在的峰是比较困难的尤其是找到位于很高本底上的弱峰分辨出相互靠得很近的重峰更为困难 谱分析对寻峰方法的基本要求如下 (1) 比较高的重峰分辨能力...
  • 目前关于光栅布拉格传感器的一些运用,可以看看,目前最热的方向之一
  • 今天在搜python的redis sorted set实现的时候,发现了一个名叫bisect的模块。 感觉有些意思就介绍下。
  • 我正在尝试在python中开发一种快速算法,以查找图像中的峰值,然后找到这些峰值的质心。我使用scipy.ndimage.label和ndimage.find_objects编写了以下代码来查找对象。这似乎是代码中的瓶颈,在500x500图像中定位20个...
  • 理论可以看我下面推荐的博客,我直接上代码 private double[]...感谢博主分享,同时参考了其它博主的分享 参考博客C# 使用Math.NET读取mat格式文件内容 参考博客C# 实现寻峰算法的简单优化(包含边峰,最小峰值,峰距)

空空如也

空空如也

1 2 3 4
收藏数 62
精华内容 24
关键字:

寻峰算法