【发布时间】:2011-10-28 09:35:37
【问题描述】:
我知道这个问题以前已经解决了,但是我很难找到任何描述用于处理此类数据的算法的文献。我基本上是在对一组 2D 数据进行一些边缘查找。我希望能够在眼图上找到几个点(通常用于验证高速通信系统),并且由于我没有图像处理方面的经验,我正在努力编写有效的方法。
正如您可能看到的,这些图表之所以如此命名,是因为它们类似于人眼。根据信号和被测系统的不同,它们的厚度、斜率和噪声会有很大差异。通常进行的测量是抖动(交叉区域的水平厚度)和眼高(在宽度的某个指定百分比或最大可能点处测量)。我知道这最好通过图像处理而不是更线性的方法来完成,因为到目前为止我的尝试需要几秒钟才能找到第一个交叉点的左侧。关于我应该如何在 Python 中解决这个问题的任何想法?我已经在使用 NumPy 进行一些处理了。
这里有一些example data,它被格式化为一个带有相关 x 轴数据的一维数组。对于这个特定的例子,它应该每 666 个点 (2 * int((1.0 / 2.5e9) / 1.2e-12)) 拆分一次,因为信号的速率是 2.5 GB/s,点之间的时间是1.2 ps。
谢谢!
【问题讨论】:
-
您的数据粘贴不太好...
-
假设您拥有用于生成图表的原始数据,那么直接使用该数据可能比分析渲染图表更成功。
-
我拥有的数据量相当庞大,规模 > 300,000 点。用任何方法分析都需要很长时间,但我认为将其视为 2D 图像比将其视为一堆数字更容易
-
既然 2D 图像只不过是一堆数字,我不会这么自信。
-
将其转储到图像中只不过是一种巧妙的舍入方式(由图形分辨率定义一个单位)。
标签: python image-processing numpy scipy