天天看點

matlab圖像頻譜分析代碼_利用MATLAB讀取LAMOST光譜資料

目錄

1 概述

2 資料集網站

3 讀取與處理流程

 3.1 fitsread函數讀取檔案

 3.2 畫出圖像

 3.3 平滑濾波

 3.4 傅裡葉濾波

4 結果對比

附錄A MATLAB讀取與處理的代碼

附錄B Python讀取光譜資料的代碼

寫在最後

1

概述

2019年3月27日,LAMOST DR6資料集正式對國内天文學家和國際合作者釋出。

DR6資料集共包括4902個觀測天區,釋出巡天光譜總數達到1125萬條,其中低分辨率光譜總數991萬,中分辨率非時域光譜資料50萬,中分辨率時域光譜資料84萬。

資料集中高品質光譜數達到937萬條,約是國際上其他巡天項目釋出光譜數之和的2倍。同時,DR6釋出資料中還包括一個636萬組恒星光譜參數星表,成為目前全世界最大的恒星參數星表。

LAMOST巡天七年,成為世界上第一個擷取光譜數突破千萬量級的光譜巡天項目。

matlab圖像頻譜分析代碼_利用MATLAB讀取LAMOST光譜資料

圖1-1 巡天資料

2

資料集網站

LAMOST的每一期資料都有各自的網站,其網址為:dr6.lamost.org/,其實隻需要把數字6改成其他數字就可以進去其他資料集的網站了,即:drX.lamost.org,X=1,2,3,4,5。

網站裡一般都會有醒目的“FITS Download”,就是光譜資料下載下傳的地方。網站進去以後可能需要注冊,這裡以不需要注冊就能下載下傳光譜的DR4資料集為例。

matlab圖像頻譜分析代碼_利用MATLAB讀取LAMOST光譜資料

圖2-1 LAMOST光譜資料網站

進入之後出現三個選項:

1.catalog(目錄)

2.fits(原光譜資料,fits格式)

3.png(處理好的光譜圖像,png格式)

matlab圖像頻譜分析代碼_利用MATLAB讀取LAMOST光譜資料

圖2-2 LAMOST光譜資料目錄

點選進入fits,這才是我們需要的資料。

3

讀取與處理流程

3.1 fitsread函數讀取檔案

itsread函數是MATLAB裡專門用于讀取FITS格式資料的。

熟悉天文攝影的朋友應該對這個格式十分熟悉,fits不隻是天文學研究中常用的檔案格式,更是天文攝影照片最常見的資料格式。

matlab圖像頻譜分析代碼_利用MATLAB讀取LAMOST光譜資料

直接調用該函數,可以直接讀取主要資料數組中的資料。最終獲得一個很長很長的矩陣(5x3909矩陣)。

其中,第一行是強度(或者叫Flux,通量),第三行是波長。

matlab圖像頻譜分析代碼_利用MATLAB讀取LAMOST光譜資料

圖3-1 資料矩陣

3.2 畫出圖像

matlab圖像頻譜分析代碼_利用MATLAB讀取LAMOST光譜資料

圖3-2 光譜圖

3.3 平滑濾波

首先,什麼是濾波?

濾波的是指濾掉不想要的成分,即為濾掉通常所說的噪聲,留下想要的部分,還原資料原本的模樣。以恒星光譜為例,我們想要恒星原本的光譜,但這其中會因為空間中存在很多光子的幹擾,使得光譜多了很多原本不屬于該恒星的特征,我們需要處理掉這些信号,還原最真實的狀态,提高信噪比。

而平滑濾波,顧名思義,就是讓資料變得“平滑”。空間域的平滑濾波我們一般采用平均法,就是求鄰近點的平均值來達到濾波的目的。

在MATLAB中,直接調用smooth函數即可。

matlab圖像頻譜分析代碼_利用MATLAB讀取LAMOST光譜資料

結果如圖3-3,濾波之後特征更加明顯了。

matlab圖像頻譜分析代碼_利用MATLAB讀取LAMOST光譜資料

圖3-3 平滑濾波後的光譜

3.4 傅裡葉濾波

了解傅裡葉濾波需要有一定的數學基礎,由于這裡不是專門說傅裡葉分析的文章,于是我不贅述,隻是大緻介紹一下。

傅裡葉濾波的原理是将資料經過傅裡葉變換後得到的頻譜,再按照要求去除低頻或高頻部分,該部分通常占比小,不是資料主體,而是由噪聲引起的,去掉這部分進而可達到濾波的效果。

matlab圖像頻譜分析代碼_利用MATLAB讀取LAMOST光譜資料
matlab圖像頻譜分析代碼_利用MATLAB讀取LAMOST光譜資料

平滑濾波後再進行傅裡葉濾波的對比如圖3-4所示。

matlab圖像頻譜分析代碼_利用MATLAB讀取LAMOST光譜資料

圖3-4 傅裡葉濾波(橘)與平滑濾波(藍)

3.5 結果對比

最後,在調整了一些參數後的最終結果如圖3-5所示。

matlab圖像頻譜分析代碼_利用MATLAB讀取LAMOST光譜資料

圖3-5 最終處理光譜

網站中與之對應的的png格式圖檔是這樣的:

matlab圖像頻譜分析代碼_利用MATLAB讀取LAMOST光譜資料

圖3-6 K3恒星的光譜

這是一顆K型恒星光譜,粗略來看和我處理的還是差不多的,但畢竟我不是專業做天文光譜資料處理的,難免有很多不足之處,我做這些隻是為了學習這方面的知識。

擷取更詳細的恒星光譜知識見這篇文章:

matlab圖像頻譜分析代碼_利用MATLAB讀取LAMOST光譜資料

附錄A

MATLAB讀取與處理的代碼

matlab圖像頻譜分析代碼_利用MATLAB讀取LAMOST光譜資料

附錄B

Python讀取光譜資料的代碼

以後可能會分享利用Python處理光譜資料,這裡先做個鋪墊。

matlab圖像頻譜分析代碼_利用MATLAB讀取LAMOST光譜資料

寫在最後

處理光譜資料的方法還有很多,這裡隻是一次學習與嘗試。

本人最近在學習數字信号處理方面的知識(主要就是為了處理光譜),于是利用LAMOST資料學習了一下,希望有大佬可以批評指正,同時可以讓對天文感興趣的朋友試一試處理郭守敬望遠鏡的光譜。

謝謝!

撰稿:王寶

編輯:楊浩哲

推薦閱讀

matlab圖像頻譜分析代碼_利用MATLAB讀取LAMOST光譜資料

天文前沿|「傅裡葉級數與擺線」 “地心說”中的奇妙數學

宇宙畫廊| 宇宙也會撸貓?

天文基礎| 天文漫談之認識星空(四)

宇宙畫廊| 自古紅藍出CP?(v2.0)

matlab圖像頻譜分析代碼_利用MATLAB讀取LAMOST光譜資料
matlab圖像頻譜分析代碼_利用MATLAB讀取LAMOST光譜資料

掃碼關注星迹月影

【版權聲明】标注“原創”的文章系《星迹月影》獨家稿件,《星迹月影》編輯部保留所有版權;未經授權,不得以任何形式轉載或使用。

matlab圖像頻譜分析代碼_利用MATLAB讀取LAMOST光譜資料

👉  點選這裡寫留言!👈

喜歡本篇内容請給我們點贊并點亮在看~

matlab圖像頻譜分析代碼_利用MATLAB讀取LAMOST光譜資料