Мои вопросы приходят после того, что обсуждалось здесь и совета, который мне дали там.
Я получаю данные с семи устройств (каждое, XY матрица чувствительных пиксельных датчиков; подумайте о ПЗС-камере). Размеры каждого устройства составляют X: 1024 пикселя, Y: 512 пикселей. Данные структурированы в отдельные события (т. Е. С метками времени), где количество таких пикселей активно для каждого события. Положение XY каждого пикселя представлено двумя числами после ключевого слова Pix
в каждом устройстве.
Пример такого события, когда только 6 из 7 устройств имеют активные пиксели:
=== 169139 ===
Start: 4.80374e+19
End: 4.80374e+19
--- 1 ---
Pix 9, 66
--- 2 ---
Pix 11, 31
Pix 12, 31
--- 3 ---
Pix 17, 53
Pix 16, 53
Pix 16, 54
--- 4 ---
Pix 44, 64
--- 5 ---
Pix 49, 133
Pix 48, 133
--- 6 ---
Pix 109, 143
Pix 108, 143
Pix 108, 144
Pix 109, 144
Теперь я могу разделить и построить для каждого из 6 устройств двухмерную гистограмму, показывающую, где и какие пиксели были активными, благодаря предыдущему вопросу на форуме.
Я не знаю заранее сколько самолетов будет активным в каждом событии, какие пиксели будут активны и сколько в устройстве.
Что я хотел бы сделать дальше, это сделать " частота появления"различных форм этих пикселей на плоскость. Если группа соседних пикселей активна, они называются кластером. Пример такой классификации:
Таким образом, для приведенного выше примера события можно найти:
- 2 вхождения идентификатора формы 0 (устройства 1 и 4)
- 2 вхождения идентификатора формы 1 (устройства 2 и 5)
- 1 вхождение идентификатора формы 6 (устройство 3)
- 1 вхождение идентификатора формы 12 (устройство 6)
Первая классификация будет основываться на количестве линий, которые имеет каждое устройство. Это было бы хорошим показателем количества активных пикселей на устройство (случай не учитывается: если две области одного устройства имеют активные пиксели, запускающие одно и то же событие).
Для одной строки в событие (имеется в виду один пиксель активен), я мог бы напрямую классифицировать его в категорию номер 0. Для двух строк я мог бы посмотреть на соседний пиксель влево / вправо (или сверху / снизу) и проверить, активен ли он, и классифицировать его как событие 1 (или 2).
Для случая 3 пикселей: Я немного не уверен, как проверить. По сути, я бы взял первое значение вхождения Pix
этого устройства, но как узнать, какой из 3 активных пикселей это?
Кроме того, как я могу "классифицировать" события в Python ? Я думаю о словаре форм. И некоторые функции проверяют, чтобы назначить определенное вхождение такой форме. Как это реализовано в словаре?