Эффективное обнаружение двухмерных границ в Python

Я знаю, что эта проблема уже решалась, но мне было очень трудно найти какую-либо литературу, описывающую алгоритмы, используемые для обработки такого рода данных. По сути, я занимаюсь поиском граней на наборе 2D-данных. Я хочу найти пару точек на глазковой диаграмме (обычно используемой для определения высокоскоростных систем связи), и, поскольку у меня не было опыта обработки изображений, я изо всех сил пытаюсь написать эффективные методы.

Как вы, вероятно, можете Видите ли, эти диаграммы названы так потому, что напоминают человеческий глаз. Они могут сильно различаться по толщине, наклону и шуму в зависимости от сигнала и тестируемой системы. Обычно выполняются следующие измерения: джиттер (горизонтальная толщина области пересечения) и высота глаз (измеряется либо в некотором заданном проценте ширины, либо в максимально возможной точке). Я знаю, что это лучше всего можно сделать с помощью обработки изображений вместо более линейного подхода, так как мои попытки до сих пор занимали несколько секунд, чтобы найти левую сторону первого пересечения. Есть идеи, как мне это сделать в Python? Я уже использую NumPy для выполнения некоторых операций.

Вот некоторые примерные данные , они отформатированы как 1D-массив со связанными данными по оси x. В этом конкретном примере он должен быть разделен каждые 666 точек (2 * int ((1.0 / 2.5e9) / 1.2e-12)), поскольку скорость сигнала составляла 2,5 ГБ / с, а время между точками было 1,2 пс.

Спасибо!

Example 1Example 2

6
задан bheklilr 16 August 2011 в 21:09
поделиться