Як виявити емісійні лінії в оптичних спектрах?


11

Чи є якийсь зручний модуль для виявлення емісійних ліній у такому спектрі, як той, який ми отримуємо з опитування цифрового неба Sloan (SDSS)?

Ви можете бачити, що в спектрі нижче багато ліній викидів, як Ha, OI. Насправді спектр - це набір даних із двох стовпців, довжина хвилі та потік. Це поєднання безлічі точок розкидання. Типовий інтервал між двома точками, рівний 1,5 ангстрем. Мені потрібно знайти всі гаусові шишки та їхній центр лінії.

Отже, спочатку мені потрібно знайти шишки, а потім мені потрібно встановити їх, щоб отримати їхні центри.

введіть тут опис зображення


Можливо, я міг би дати вам детальну відповідь, якщо ви скажете мені, що ви хочете зробити зі спектром. Ретельний аналіз спектру зазвичай не є тривіальною справою.
Моріарті

Я оновив свій пост. Можливо, зараз це легко зрозуміти.
questionhang

Відповіді:


6

Програми, які я знаю, що ви могли б використовувати, вимагають певного досвіду програмування для роботи. Я б рекомендував дивитися на будь-якому IRAF (або PyRAF , який використовує Python для взаємодії з IRAF) або примарою . На жаль, мені невідомо рішення про "чорну скриньку", де можна просто натиснути кнопку і піти.

SPECTER написаний на FORTRAN77 і є досить простим у використанні, як тільки ви отримаєте повісити його, хоча він має дещо обмежений набір функцій і документація коротка. Це допоможе вам вручну прилаштувати гауссів до спектральних ліній, надаючи їх центральну довжину хвилі та еквівалентну ширину. Застереження для SPECTER полягає в тому, що для нього потрібен графічний пакет SuperMongo , який не є безкоштовним програмним забезпеченням. Якщо ви пов’язані з університетом, більшість кафедр фізики та астрономії повинні мати ліцензію.

IRAF - це повністю повнофункціональний, безкоштовний кросплатформенний додаток, призначений спеціально для астрономічного аналізу зображень. Це може допомогти вам виміряти спектральні лінії, а також може проаналізувати спектр для визначення радіальної швидкості об'єкта.


як щодо написання власного пітонного коду, щоб це зробити? Все, що нам потрібно зробити, це проаналізувати безліч наборів даних потоку хвиль з багатьох спектрів.
questionhang

Действуй. Часто найпростіше написати власний код, особливо якщо у вас є великі набори даних для прориву.
Моріарті

Спочатку знайдіть локальний максимум, а потім встановіть його за гауссовим профілем. Цей метод занадто легко повірити. Що я сумую?
questionhang

1
Так, саме про це. Якщо ви хочете обчислити локальні максимуми, застосувати деяке середнє згладжування (залежно від рівня шуму), а потім використовувати його похідні може добре працювати. Цей фрагмент коду робить саме це (я не думаю, що він би працював добре для того, що ви хочете як є, хоча він буде слугувати робочим прикладом того, що ви можете зробити). adsabs.harvard.edu/abs/2007A%26A...469..783S
Моріарті


4

Є багато програмного забезпечення та інструментів, щоб зробити те, що ви хочете:

  • IRAF , від NOAO;
  • MIDAS, який в основному дуже схожий на IRAF, але розроблений ESO;
  • в Python, або астропію, або pyRAF (для використання IRAF з інтерфейсом Python).

Я хотів би скористатися деякими інструментами Python (Python є більш універсальним, ніж IRAF або MIDAS, які набагато більш орієнтовані на "єдину ціль"), щоб скористатися іншими функціями, пропонованими Python.

Але побудувати та обробити спектр - це лише перша частина роботи, що, напевно, ви хотіли б зробити врешті-решт, це використовувати спектральний синтез, проаналізувати свій спектр. Спектральний синтез дозволить вам:

  • ефективно визначити хімічний склад досліджуваного вами предмета селеріани;
  • визначити деякі властивості небесного об’єкта, який ви вивчаєте.

Серед існуючих інструментів для спектрального синтезу (наприклад, для зоряних спектрів) є:


Дякую. Я просто хочу знати позиції лінійного центру.
questionhang
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.