Найти значимость 2D пика с помощью Python - PullRequest
0 голосов
/ 10 ноября 2018

Я нашел эту функцию scipy scipy.signal.peak_prominences , которая находит топографическую заметность указанных локальных максимумов в последовательности 1d.

Но мое приложение требует определения важных пиков в двумерном массиве. Я знаю о некоторых методах поиска пиков, таких как выполнение максимальной фильтрации, которые имеют свои реализации как у scipy, так и скимаджа. Также h_maxima() Skimage позволяет фильтровать локальные пики, которые имеют минимальную относительную высоту. Но они дают только координаты пиков, а не их выступление.

Так как мне вычислить пиковую яркость в 2d массиве? Любая помощь будет оценена.

1 Ответ

0 голосов
/ 11 ноября 2018

Я подготовил модуль python, используя метод окружающего контура, следуя определению вики:

Выступ вершины - это высота вершины вершины над нижняя контурная линия, окружающая его, но не содержащая высшей вершины внутри него.

при желании можно отфильтровать локальные пики, которые имеют небольшую площадь поперечного сечения или низкие значения выступа.

Я поместил код здесь: https://github.com/Xunius/python_peak_promience2d,, если кто-либо обнаружит какую-либо проблему или возможное улучшение, пожалуйста, сообщите об ошибке или пиаре.

Демо-график: enter image description here

...