2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Определение границ пика
Сообщение16.06.2018, 00:59 


10/05/09
78
Есть массив точек (красная линия), на нем могут быть пики, известно приблительное положение таких пиков, оно отмечено пунктиром(если пик не отмечен -- он нас не интересует), нужно подобрать алгоритм по нахождению приблизительных границ таких пиков. Пики можно приблизительно аппроксимировать гауссианой, но проблема в том гауссиана в нем может быть не одна(см. спойлер).

Также есть вспомогательные массивы(если помогут): желтая и синия линии.

Кроме того: таких массивов семейство, это спектральные наблюдения, центр пика будет одним и тем же, а границы на разных длинах волн будут разными, вплоть до полного их исчезновения.

Сплошными черными линиями я вручную отметил желаемые границы.
Изображение
Изображение

(еще пример)

Более сложный вариант
Изображение
Изображение


Позже постараюсь описать свои мысли.

 Профиль  
                  
 
 Re: Определение границ пика
Сообщение16.06.2018, 01:30 
Заслуженный участник


09/05/12
25179
Насколько я помню, Н.А.Топчило (возможно, Вам известный) что-то подобное делал, причем ровно для этой же задачи (и, наверное, даже того же инструмента). Вообще, пожалуй, в литературе это должно часто встречаться, поскольку для солнечной радиоастрономии ситуация совершенно типична.

 Профиль  
                  
 
 Re: Определение границ пика
Сообщение16.06.2018, 04:52 


10/05/09
78
Pphantom в сообщении #1320292 писал(а):
Насколько я помню, Н.А.Топчило (возможно, Вам известный) что-то подобное делал, причем ровно для этой же задачи (и, наверное, даже того же инструмента). Вообще, пожалуй, в литературе это должно часто встречаться, поскольку для солнечной радиоастрономии ситуация совершенно типична.

(Оффтоп)

Да, известный. Спасибо, я поинтересуюсь, но насколько мне известно Н.А. занимался ручной обработкой. Задача поиска пиков и определения их параметров, как мне кажется, типична скорее для гораздо более широкой области как обработка сигналов. Попробую поискать на эту тему работ. Вот, например, нагуглилась такая штука http://terpconnect.umd.edu/~toh/spectru ... rement.htm

 Профиль  
                  
 
 Re: Определение границ пика
Сообщение16.06.2018, 10:27 


10/05/09
78
В принципе, удалось придумать вариант. Это разделить задачу на две. Первая это нахождение огибающей baseline, а вторая (после вычета огибающей) уже собственно работа по нахождению пиков и их параметров в чистом виде. Если решить первую, то вторая уже становится классической с множеством публикаций и решений.

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

 Профиль  
                  
 
 Re: Определение границ пика
Сообщение16.06.2018, 12:34 
Аватара пользователя


31/10/08
1244
Adventor
Судя по картинкам на них нет ничего общего. Это плохой знак: потребуется не одно решение, а дерево решений. Короче это ближе к машинному обучению нежели чем к ЦОС.

На вашем месте я бы для начала отфильтровал шумы. Берём +-200 отсчётов от предполагаемого пика далее удаляем постоянную составляющую. Для чего ищем среднее арифметическое и вычитаем его из каждого отсчёта. Затем стоит применить автомасштабирование. После применяем БПФ далее из анализа будет видно какой алгоритм придумать. Бокс фильтром $[1\;2\;3\;2\;1]$ сгладить шумы. Затем в цикле начиная с некоторой позиции идём по кривой ищем где она меняет знак у второй производной. Тем самым мы определим где у вас шумы. Далее используя найденную частоту, строим фильтр с минимизаций пульсаций. Отфильтровываем шумы и далее аппроксимируем гауссианой откуда берём ширину.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group