首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一种峰间测量算法的改进

一种峰间测量算法的改进
EN

Stack Overflow用户
提问于 2020-03-30 04:32:14
回答 1查看 41关注 0票数 0

我已经实现了一个算法来检测给定峰值的负部分。它容易受到异常值影响的主要问题是,有什么建议可以改进它吗?

代码语言:javascript
复制
    def stepdown(self):
        peak_location_y = self.spec[self.peak_idx]
        peak_indcies = self.peak_idx
        spec_y = self.spec

        neg_peak = []
        for peak_index, peak_y in zip(peak_indcies, peak_location_y):
            i = 1
            tmp = [0]
            try:
                while (
                    peak_y >= spec_y[peak_index + i]
                    and
                    spec_y[peak_index + i - 1] >= spec_y[peak_index + i]
                ):
                    tmp.append(peak_index + i)
                    i += 1
                neg_peak.append(tmp[-1])
            except IndexError:
                print("Index Error")

        return neg_peak

我知道代码的质量很糟糕。我只是在做原型。这里是当它工作在correctly和当它fail的例子。图的上半部分是算法检测到的负峰,下半部分是正峰。

EN

回答 1

Stack Overflow用户

发布于 2020-04-02 20:01:37

如果你提供了类的其余部分,那就太好了,例如什么是self.spec?

此外,您还可以提供一些有关算法如何工作的详细信息。

由于您已经标记了scipy,如果还没有的话,我将建议您查看scipy.signal.find_peaks

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60920366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档