automatizacija spektralne analize

32
Državno natjecanje iz astronomije 2021. AUTOMATIZACIJA SPEKTRALNE ANALIZE Autor: Petar Dušević 3. razred srednje škole Gimnazija Andrije Mohorovičića Rijeka Mentor: Petar Jelača [email protected]

Upload: others

Post on 12-May-2022

22 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AUTOMATIZACIJA SPEKTRALNE ANALIZE

Državno natjecanje iz astronomije 2021.

AUTOMATIZACIJA

SPEKTRALNE ANALIZE

Autor: Petar Dušević

3. razred srednje škole

Gimnazija Andrije Mohorovičića Rijeka

Mentor: Petar Jelača

[email protected]

Page 2: AUTOMATIZACIJA SPEKTRALNE ANALIZE

2

Sadržaj Uvod ................................................................................................................................................ 4

Što je spektralna analiza? ............................................................................................................ 4

O programima za spektralnu analizu .......................................................................................... 4

Cilj rada ....................................................................................................................................... 5

Slikanje fotografija za testiranje programa ................................................................................. 5

Program ....................................................................................................................................... 5

Teorija automatske spektralne analize ............................................................................................ 6

Slike kao matrice......................................................................................................................... 6

Spektar u matrici ......................................................................................................................... 7

Kalibracija programa .................................................................................................................. 8

Očitavanje grafa spektra ............................................................................................................. 9

Baze podataka ............................................................................................................................. 9

Izrada programa ............................................................................................................................ 10

Unošenje slika ........................................................................................................................... 10

Obrada slike .............................................................................................................................. 10

Rezanje i rotiranje slike ............................................................................................................ 12

Kalibracija ................................................................................................................................. 13

Automatska detekcija apsorpcijskih linija ................................................................................ 14

Pojednostavljivanje grafa ...................................................................................................... 14

Detekcija apsorpcijskih linija ................................................................................................ 14

Prikaz .................................................................................................................................... 14

Klasifikacija apsorpcijskih linija........................................................................................... 14

Izrada baze podataka ................................................................................................................. 14

Rezultati ........................................................................................................................................ 15

Spektralna analiza Urana .......................................................................................................... 15

RSpec: ................................................................................................................................... 16

SAT: ...................................................................................................................................... 18

Kako preuzeti program ................................................................................................................. 21

Potrebne specifikacije ................................................................................................................... 21

Zaključak....................................................................................................................................... 22

Page 3: AUTOMATIZACIJA SPEKTRALNE ANALIZE

3

Literatura ....................................................................................................................................... 26

Privitci ........................................................................................................................................... 27

LibUpdater ................................................................................................................................ 27

Mjerenje spektra Urana #2 ........................................................................................................ 27

RSpec .................................................................................................................................... 28

SAT ....................................................................................................................................... 29

Mjerenje spektra Urana #3 ........................................................................................................ 30

RSpec .................................................................................................................................... 31

SAT ....................................................................................................................................... 32

Page 4: AUTOMATIZACIJA SPEKTRALNE ANALIZE

4

Uvod

Što je spektralna analiza? Kako bi razumjeli spektralnu analizu prvo moramo razumjeti boje. Dakle, što su to boje i zašto

postoje? Uzmimo za primjer bananu: boja banane je žuta (ako naravno nije trula ili nezrela), ali

zašto baš žuta? Kada obasjamo bananu izvorom svjetlosti ona upije sve boje poput plave zelene i

crvene, a svjetlost koja ima valne duljine blizu žute boje banana odbija. Sličnu stvar (ne istu!)

također rade atomi i molekule, samo što svaki atom i molekula ima par specifičnih valnih duljina

koje može apsorbirati. Atomi apsorbiraju fotone specifičnih valnih duljina zato što svaki atom

sadrži elektrone, elektroni mogu sami po sebi prelaziti iz nižih orbitala u više ako apsorbiraju

količinu energije specifičnu za taj prijelaz po orbitalama, tako da kada se tvar obasja svjetlom

čija valna duljina odgovara njegovim apsorpcijskim valnim duljinama, ona je u određenim

uvjetima može upiti. Kada svjetlo prođe kroz tu tvar, u spektru toga svjetla će nedostajati dio

spektra koji je tvar upila, a taj dio spektra zove se apsorpcijska linija. Uz pomoć tih linija

moguće je odrediti od kojih je tvari sastavljeno neko nebesko tijelo koje promatramo samo uz

pomoć njegovog spektra.

O programima za spektralnu analizu Spektralna analiza je težak proces. Spektar zvijezde treba izolirati, pronaći apsorpcijske linije

koje se na njemu nalaze, odrediti njihovu valnu duljinu i usporediti je s apsorpcijskim linijama

svih elemenata da bi se procijenilo koji element ima najveće šanse da je uzrok te apsorpcijske

linije. Naime, takav proces je jako dugotrajan i ima mnogo prostora za pogreške, pa se za to

danas koriste programi kojima se da slika i nekoliko parametara, i oni pomognu u određivanju

podrijetla apsorpcijskih linija.

Postojeći komercijalni programi su uglavnom stari i neefikasni, te u pravilu odrađuju jako

malenu količinu posla. Trenutno najbolji program za spektralnu analizu zove se RSpec. Taj

program funkcionira tako da iz slike ̧snimke ili prijenosa uživo spektra nekog nebeskog tijela

izvuče graf intenziteta svjetlosti spektra, te nakon što se ručno kalibrira, govori gdje bi se

apsorpcijske linije pojedinog elementa nalazile na grafu. Takav program teoretski povećava

preciznost mjerenja1. No, RSpec ima i dosta visoku cijenu koja trenutno iznosi 100 američkih

dolara.

Prostora za novi i efikasniji program ima jako puno, dijelom radi nedostataka trenutno najboljeg

programa na tržištu, a dijelom radi razvoja softverske tehnologije koja omogućuje lakše i brže

odrađivanje takvih zadataka.

1 Iako bi teoretski takav proces uistinu trebao poboljšati preciznost, to za slike ne mora biti nužno točno radi

nekoliko propusta u tom programu koje spominjem u poglavlju “Kako program analizira spektar“.

Page 5: AUTOMATIZACIJA SPEKTRALNE ANALIZE

5

Cilj rada Cilj mojega rada je napraviti nekomercijalni program za spektralnu analizu slike dostupan svima,

a pritom jednako efikasan i funkcionalan kao trenutno vodeći komercijalni program RSpec.

Za ovakav projekt potrebno je solidno razumijevanje programiranja te jako dobro poznavanje

svojstava apsorpcijskih linija. Sva literatura korištena za postizanje toga nalazi na pri kraju

dokumenta.

Slikanje fotografija za testiranje programa Kako bi se program mogao testirati, bilo je potrebno napraviti slike zvijezda koje bi se mogle

analizirati. Za dobivanje slika bio je korišten sljedeća metodologija:

• Na kameru Canon EOS 800D stavljeni su T2 prsten na

mjesto objektiva i adapter za teleskop na kojemu je i

optička rešetka. Kamera s adapterom je zatim

montirana na produžni adapter čija je uloga da odmakne

optičku rešetku od objektiva kamere. Korištena optička

rešetka bila je SA-100.

• Kako bi turbulencija bila minimalna, slike su okidane

beskontaktno s tajmerom od tri sekunde.

• Korišteni teleskop bio je Meade LX 200, promjera

objektiva 40 cm.

• Testne slike uključuju 3 slike Urana.

Program Svrha programa vrlo je jednostavna. U program se unese slika spektra zvijezde, te program

nakon određenih vrsta kalibracije procijeni od čega se spektar sastoji.

Program je rađen u programskom jeziku Python 3.9, s potprogramima OpenCV 4.5.1, Matplotlib

3.3.4, Pandas 1.2.3 i Numpy 1.20.1

Program se zove “Spectral Analysis Tool“ te će u ostatku dokumenta biti zvan “SAT“ (kratica).

Program je na engleskom jeziku kako bi ga mogli koristiti i ljudi koji nisu iz Hrvatske.

Slika 1 – T2 prsten i adapter za teleskop

Slika 2 - Optička rešetka

Page 6: AUTOMATIZACIJA SPEKTRALNE ANALIZE

6

Teorija automatske spektralne analize

Slike kao matrice Svaka slika je matrica. Kako bi program dobio graf intenziteta spektra, on mora izolirati spektar

te izračunati intenzitet u svakoj njegovoj točki.

Na slici 3 je prikazan primjer toga kako je slika opisana matricom. Dvije bitne razlike između

ovakve i klasične slike su u tome što klasična slika može imati vrijednosti 0-255,2 te ako je slika

u boji, onda se zapravo sastoji od tri slike: slika s crvenom, slika sa zelenom i slika s plavom

nijansom od kojih svaka ima svoju matricu (RGB sustav).

2 Vrijednosti su od 0 do 255 zato što se jedan piksel sastoji od osam bitova (nula i jedinica) što daje 28 kombinacija

bitova za vrijednost piksela.

Slika 3 - Primjer slike i njene matrice

Page 7: AUTOMATIZACIJA SPEKTRALNE ANALIZE

7

Spektar u matrici Kako bi se pronašle apsorpcijske linije u spektru, treba se izračunati prosječna vrijednost piksela

u svakom redu matrice koju tvori njegova slika, te se s tim može napraviti graf intenziteta

spektra.

Slika 4 je primjer grafa intenziteta spektra (desno) s neobrađene slike (lijevo). Na osi x nalazi se

broj piksela, a na osi y zbroj intenziteta piksela.

Ovakav pristup je optimalan te je korišten u svim programima za spektralnu analizu. Doduše,

kod ove vrste pristupa postoji jedan problem, a to je da ako je spektar pod nekim kutom, ova

metoda neće davati točne zbrojeve jer su apsorpcijske linije okomite sa spektrom, pa će kao

rezultat njihov otisak na grafu biti većeg profila, ali manje amplitude, te će također cijeli spektar

izgledati sjajnije (primjer na slici 5).

Radi ovoga, svaki program za spektralnu analizu treba imati opciju za rotiranje slike. Pošto je

slika matrica, rotiranje slike slijedi ista pravila kao rotiranje matrice.

[𝑥′𝑦′] = [

cos 𝜃 sin 𝜃−sin 𝜃 cos 𝜃

] [𝑥𝑦]

Gdje su x i y koordinate neke točke na slici, θ kut rotacije, a x' i y' koordinate poslije rotacije

Slika 4 - Graf slike dobiven programom RSpec

Page 8: AUTOMATIZACIJA SPEKTRALNE ANALIZE

8

RSpec ima takvu funkciju, ali ima jedan veliki nedostatak, a to je da kada rotira sliku, ne ignorira

novonastala prazna područja koja onda na grafu stvaraju poteškoće. Na slikama 4 i 5 s lijeve

strane, mogu se vidjeti takva područja u kutovima slika koje se analiziraju. Takav problem se

lako može riješiti dodavanjem opcije rezanja krajeva slike, iako takva opcija ne postoji u

programu RSpec.

Kalibracija programa

Za spektralnu analizu boja spektra nije nužno bitna, pošto je svjetlost takve prirode da se u

slučaju razlaganja kroz neki medij rastavlja linearno. To praktički znači da ako su poznate valne

duljine dvije točke na spektru, može se lako odrediti vrijednost bilo koje druge točke koristeći

linearnu funkciju koju opisuju dvije početne točke.

Određivanje ovih dviju točaka često se naziva kalibracijom programa.

Program RSpec to rješava tako da je točka na kojoj se nalazi zvijezda prva točka s vrijednošću

nula, jer kada se spektar razloži u toj točki se neće nalaziti nikakva svjetlost pošto ne postoji

svjetlost valne duljine nula. Drugu točku određuje korisnik. Kako bi analizirao spektar, korisnik

mora znati označiti barem jednu valnu duljinu na grafu. U zvjezdanoj spektroskopiji ta valna

duljina obično bude apsorpcijska linija vodika Hβ valne duljine 486.135 nm, no nekada zvijezde

nemaju izraženu liniju vodika, te to korisnicima može predstavljati poteškoću. Još jedan problem

koji se može pojaviti je kada je apsorpcijska linija vodika intenzivna, te stvara linijski profil od

više nanometara. U takvim okolnostima procjenjivanje središta linije može biti teško te samim

time kalibracija programa može imati pogrešku od nekoliko nanometara.

Naime, postoji još jedan efikasan pristup. Kamere uvijek imaju granice valne duljine svjetlosti

koje mogu detektirati, stoga korištenje tih granica koje su navedene na stranicama proizvođača

kao referentne točke na početku i kraju spektra može biti dosta precizna metoda kalibracije

programa (uz pretpostavku da su informacije od proizvođača točne).

Slika 5 - Graf spektra pod kutom

Page 9: AUTOMATIZACIJA SPEKTRALNE ANALIZE

9

Očitavanje grafa spektra

Program graf intenziteta spektra vidi kao dvije liste: jedna s vrijednostima svakog reda piksela na

slici (y os), a druga kao oznaka reda piksela (x os), što može biti valna duljina ili jednostavno

redni broj reda piksela.

Iz ovih podataka teško je napraviti program koji će tražiti “udubine“ u grafu i procijeniti koje

udubine predstavljaju apsorpcijske linije a koje ne. Iz tog razloga, RSpec nema takvu funkciju i

korisnik sam procjenjuje koje su apsorpcijske linije relevantne, a koje su samo rezultat šuma

kamere. U programu RSpec postoji opcija s kojom se nakon kalibracije program korisniku

pokazuje gdje bi se trebala nalaziti neka apsorpcijska linija, te ako se mjesto i središte linije

približno poklapaju, onda se smatra da je ta linija prouzrokovana tim elementom.

Automatsko određivanje spektralnih linija trebalo bi biti brže i jednostavnije u većini slučajeva,

te iz tog razloga ovaj program sadrži takav modul.

Baze podataka Kako bi program mogao procijeniti kojoj spektralnoj liniji pripada određena skupina, treba

posjedovati bazu podataka u kojoj se nalaze informacije (u ovom slučaju valne duljine) o svim

relevantnim apsorpcijskim linijama.

Page 10: AUTOMATIZACIJA SPEKTRALNE ANALIZE

10

Izrada programa

Unošenje slika Pošto je SAT program za analiziranje slika, mora imati način da se slika unese u program.

Slike se unose u program navigacijom do lokacije slike.

Obrada slike Kako bi program optimalno funkcionirao, korisnik će prvo biti pitan da kroz konzolu unese

redukcijske faktore za RGB vrijednosti radi različitih omjera kvantnih efikasnosti3 između

zasebnih boja na senzoru kamere. Redukcijski faktori bi trebali biti poredani tako da se dobiju

iste relativne vrijednosti R, G i B senzora kada se podijele tim faktorima.

Kod unošenja redukcijskih faktora također treba uzeti u obzir činjenicu da većina fotografskih

kamera posjeduje dvostruko više senzora za zelenu svjetlost, nego senzora za plavu i crvenu

svjetlost, te stoga njezin redukcijski faktor treba biti dvostruko veći nego što bi inače bio.

Slika 6 - Grafički prikaz senzora na kameri u boji

Doduše, slike koje su inače napravljene koristeći fotoaparat nisu zelene zato što je on kalibriran

kako bi kompenzirao to što dobiva dvostruko više zelenog svjetla od drugih svjetala, te prema

snazi zelenog svjetla pokuša izračunati snagu drugih boja. Ta funkcija radi kako treba dok ima

više boja, no ako se nalazi samo jedna boja, kao što se nalazu u ovom spektru (3 dominantne

boje) piksel ne može izračunati vrijednosti druge dvije boje ili kompenzirati prvu jer ima samo

jednu u značajnoj veličini te tu dolazi do poteškoća i spektar tako na zelenoj boji bude dvostruko

sjajniji.

Crno-bijele kamere (poput CCD kamere) nemaju ovaj problem jer su im svi senzori “istobojni“.

3 Kvantna efikasnost kamere je ukratko omjer svjetlosne energije koja dođe do senzora i amperaže koju ta ista

svjetlost generira. Različite kvantne efikasnosti RGB senzora rezultiraju različitim intenzitetima svjetlosti za iste

količine svjetlosti.

Page 11: AUTOMATIZACIJA SPEKTRALNE ANALIZE

11

Slika 7 - Grafički prikaz senzora kamere bez boje

Nakon što je slika unesena, program je pretvori u crno bijelu sliku jer boja za spektralnu analizu

u ovom programu nije bitna.

Program pretvara slike u crno-bijele tako da zbroji sve vrijednosti boja piksela te ih uprosječi

(slika 9b). Nakon toga, kako bi se eliminirao pozadinski šum, program uklanja pozadinu.

Pozadina se uklanja tako da program pregleda svaki piksel na slici, procijeni je li crn ili nije po

kriterijima koje određuje korisnik, te zatim jednostavno ignorira svaki dio slike koji je crn, a da

nije dio spektra (slika 9c, slika 8).

Slika 8 - Prikaz procesa za filtriranje pozadine

Page 12: AUTOMATIZACIJA SPEKTRALNE ANALIZE

12

Kako bi program očuvao spektar, on ne smije mijenjati vrijednosti spektra, a pošto spektar ima

tamnih dijelova, program ne smije maknuti određene piksele koji su svjetliji od najtamnijih

dijelova spektra te slike. Na slici 8 i 9c, bijeli dio slike je ignorirani dio slike, a crne točkice su

smetnje. Nakon toga program uklanja smetnje tako da pronalazi svaku grupu piksela koja sadrži

maleni broj piksela. Dakle, program neće maknuti grupe piksela u kojima se nalaze spektar i

zvijezda, ali kada nađe jednu od onih grupa koje su dio smetnje, ukloni je i dobije čistu sliku

samo sa spektrom i zvijezdom (slika 9d).

Slika 9- a) originalna slika, b) crno bijela slika, c) slika sa filtriranom pozadinom, d) slika bez smetnji

Rezanje i rotiranje slike Nakon čišćenja, slika se mora rotirati i rezati iz razloga navedenih u poglavlju “Spektar u

matrici“.

Program rotira sliku koristeći standardni postupak rotiranja matrice. Korisnik određuje kliznim

označivačima vrijednosti rotacije slike, te kada korisnik potvrdi rotaciju i rezanje pritiskom na

dugme 'Q', program izvrši naredbu rotacije i izreže sliku.

Na slici 10 može se vidjeti sučelje za rezanje i rotiranje slike. Prvi klizni označivač služi za

odabiranje kuta rotacije matrice i ima doseg od 0 do 360 stupnjeva. Drugi klizni označivač služi

za fino rotiranje kuta rotacije matrice i doseg mu je od 0 do 1 stupnja te ima preciznost u stotinku

a)

b)

d)

c)

Page 13: AUTOMATIZACIJA SPEKTRALNE ANALIZE

13

stupnja. Oznake x1 i x2 su koordinate vertikalnih linija, a oznake y1 i y2 su koordinate

horizontalnih linija koje određuju granice rezanja slike.

Također, slika koja se prikazuje pri rezanju je invertirana jer se tako bolje vide detalji.

Slika 10 - Sučelje za rezanje slike

Slika 11 - Slika dobivena rezanjem

Kalibracija

Program se kalibrira unošenjem graničnih valnih duljina kamere u konzoli.

Slika 12 - Prikaz unosa kalibracijskih podataka

Page 14: AUTOMATIZACIJA SPEKTRALNE ANALIZE

14

Automatska detekcija apsorpcijskih linija Slijedeći korak je automatska detekcija apsorpcijskih linija. Program to čini tako da

pojednostavni graf, te nakon toga traži lokalne minimume grafa.

Pojednostavljivanje grafa

Pri pojednostavljivanju, graf se treba uprosječiti, ali uz gubljenje što manje podataka.

Princip funkcioniranja je sljedeći: program odabere X uzastopnih točaka na grafu te ukoliko niti

jedna točka između prve i zadnje točke nije za Y veća od prosjeka odabranog niza, sve točke

između prve i zadnje točke promijene vrijednosti tako da je dio grafa između početne i krajnje

točke linearan.

Varijabla X zove se “step size“, a varijabla Y “threshold“.

Kad se želi promijeniti stupanj pojednostavljivanja, mijenja se varijabla X (što je X veći, to je

graf jednostavniji), a varijabla Y se mijenja kada se želi promijeniti osjetljivost

pojednostavljivanja (što je Y veći, to će više udubina i izbočina u grafu biti ignorirano).

Ovaj proces se ponavlja na svakoj početnoj točki od početka do kraja grafa, te se zatim

rekurzivno ponavlja s manjom varijablom X sve dok ona ne postane premala da bude iskoristiva.

Detekcija apsorpcijskih linija

Na pojednostavljenom grafu program prolazi kroz svaku točku i gleda je li nagib na njoj

pozitivan ili negativan. Ako program detektira promjenu nagiba iz negativnog u pozitivni, na

točki gdje je detektirao prijelaz označuje apsorpcijsku liniju.

Prikaz

Nakon pojednostavljivanja i detekcije, program prikaže graf spektra bez pojednostavljivanja na

gornjoj strani prozora, te pojednostavljeni graf na donjoj. Korisnik također dobiva mogućnost

mijenjanja vrijednosti varijabli X i Y.

Korisnik također može odabrati opciju “Apply“ koja mijenja izgled pojednostavljenog grafa

prema novim parametrima i “Confirm“ koja potvrđuje promjene. (ovo je promijenjeno u novijim

verzijama programa)

Klasifikacija apsorpcijskih linija

Nakon što detektira sve udubine i njihove odgovarajuće valne duljine, program krene tražiti sve

potencijalne apsorpcijske linije kroz svoju bazu podataka, te ukoliko nađe neku koja se poklapa,

prikaže je na novom grafu i označi rednim brojem, a u konzoli ispiše element koji je uzrokuje i

valnu duljinu linije. Preko konzole se također može i provjeriti koliko spektralnih linija nekog

elementa je vidljivo na grafu.

Izrada baze podataka SAT dijeli sličnu bazu podataka kao i RSpec, ali ne dijeli sve elemente jer je SAT program za

automatsku detekciju, pa bi jako velika baza podataka koja sadrži elemente koji nisu relevantni

Page 15: AUTOMATIZACIJA SPEKTRALNE ANALIZE

15

samo zbunila korisnika. SAT također sadrži maleni program koji se zove “LibUpdater“ i služi

uređivanju sadržaja baze podataka za spektralnu analizu4.

Rezultati

Spektralna analiza Urana Za prvu usporedbu analize odabrana je slika Urana.

Postavke kamere: ISO 1600, 6'

Udaljenost optičke rešetke od objektiva: 25 cm

Slika 13 - Testna slika Urana br. 1

Analiza će prvo biti pokazana u programu RSpec, a zatim u novom programu SAT.

4 Više o programu u privitku

Page 16: AUTOMATIZACIJA SPEKTRALNE ANALIZE

16

RSpec:

Slika 14 -Graf spektra slike br. 13

Kada se u RSpec unese i kalibrira gornja slika, program prikaže graf na slici 14. Na ovom grafu

jasno je vidljiv prvi nedostatak RSpec programa. Dakle, dio spektra na kojem se nalazi zeleni dio

svjetlosti puno je svjetliji nego što bi trebao biti.

Naravno, jedan razlog za razliku oblika je taj što korištena kamera ima filtere za svo svjetlo koje

nije između 400 i 700 nm, ali kamera nema filtere za plavo svjetlo veće od 400nm, kao ni za

crveno, što znači da zeleno područje spektra na grafu ne bi smjelo biti ovoliko intenzivno.

Problem, naravno, potječe iz činjenice da kamera ima duplo više zelenih senzora nego plavih i

crvenih, te kamera vidi zeleni dio spektra puno intenzivnijim. Radi toga sliku treba obraditi na

način da se količina zelenog svjetla smanji za onoliko koliko je potrebno da bi slika bila

uravnotežena. To je napravljeno u programu GIMP (GNU Image Manipulation Program) u

kojem je intenzitet zelene matrice slike dvostruko smanjen (slika 15).

Page 17: AUTOMATIZACIJA SPEKTRALNE ANALIZE

17

Slika 15 - Originalna slika (lijevo) i reducirana slika (desno)

Na slici 15 jasno se može vidjeti kako spektar izgleda ujednačenije nakon redukcije zelene

matrice.

Također, može se primijetiti kako je Uran promijenio boju. To je zato što je uslijed zasićenja

svjetlosti na području Urana većina piksela matrice imala približno maksimalnu vrijednost, pa je

reduciranjem zelene matrice boja Urana izbačena iz balansa. To je normalna pojava i ne utječe

na proces spektralne analize.

Slika 16 - Graf reducirane slike

Sada se na grafu Urana može raditi spektralna analiza.

Page 18: AUTOMATIZACIJA SPEKTRALNE ANALIZE

18

Jedini detektirani element koji je bio vidljiv je Metan (3 od 6 poklapanja linija). Vodik, čija je

prisutnost također poznata na Uranu i na Suncu, nije bio vidljiv u spektru Urana. Doduše, neki

manji uzorci poput metidilina (karakteristična spektralna linija za zvijezde tipa G), te magnezija i

željeza mogli su biti detektirani na grafu. Veća preciznost mjerenja bila bi optimalna za njihovu

detekciju, a ovako se njihova prisutnost može samo pretpostavljati5.

SAT:

Kad se u SAT unese slika Urana, nakon kalibracije dobije se sljedeći graf:

Slika 19 - Graf slike br. 13 u programu SAT

5 Iako je već poznato da su te dvije apsorpcijske linije prisutne u spektru Urana.

Slika 17 - Prikaz lokacija apsorpcijskih valnih duljina metana Slika 18 - Prikaz lokacija apsorpcijskih valnih duljina vodika

Page 19: AUTOMATIZACIJA SPEKTRALNE ANALIZE

19

Ovaj graf izgleda drugačije od grafa koji je dobiven korištenjem RSpeca, ali se praktički radi o

istom grafu. Razlika je uzrokovana malo većim redukcijskim faktorima na zelenoj boji. Nakon

što se odabere odgovarajući “step size“ i “threshold“, program prikaže sljedeće:

Slika 20 - Graf slike br. 13 sa potencijalnim spektralnim linijama.

Slika 21 - Ispis u konzoli

Page 20: AUTOMATIZACIJA SPEKTRALNE ANALIZE

20

Crvena boja na grafu (slika 20) označuje liniju koje je program detektirao, a zelena boja

potencijalne absorpcijske linije koje su uzrokovale crvenu liniju (zelene linije su također

označene brojem koji je oznaka redosljeda ispisa u konzoli). U konzoli su crvene linije označene

sa “Absorption line number ##“, a zelene linije su redosljedom ispisane ispod oznake crvene

linije.

Iz ovih podataka može se procijeniti sljedeće:

• Kod prve detektirane linije, program nije siguran što bi je moglo uzrokovati. Ponuđene

opcije su helij i željezo, ali na slici se jasno vidi da je malena vjerojatnost da je jedno od

to dvoje uzrokuje. Uzrok te linije inače je metidilin, ali on još nije dodan u bazu

podataka.

• Kod druge linije program je detektirao da je uzrok magnezij, željezo ili oboje, što je

prema literaturi i točno.

• Kod treće linije program je detektirao isključivo metan, što je također točno prema

literaturi.

• Kod četvrte linije program je detektirao helij i metan. Iako niti jedan od njih nije u

sredini, korisnik bi u ovoj situaciji trebao sam procijeniti radi li se o jednom od ta dva

elementa, o nekom drugom faktoru ili možda čak o elementu koji se ne nalazi u bazi

podataka. Prema literaturi uzrok četvrtoj spektralnoj liniji je metan, iako je zanimljivo to

što niti RSpec niti SAT nakon kalibracije ne detektiraju metan u središtu linije, nego

negdje na rubu.

• Kod pete linije program daje magnezij kao najvjerojatniju liniju, ali također navodi

mogućnost metana i kalcija. Ta apsorpcijska linija izgleda kao da se nalazi na krivoj

koordinati, a do te greške vjerojatno dolazi uslijed pogrešne kalibracije.

Dakle, program je imao 2 od 6 poklapanja metana iako je uputio na mogućnost 3 od 6. No, sa

sigurnošću je uputio na prisutnost magnezija/željeza

Ovakav postupak primijenjen je i na druge dvije slike Urana sa sličnim rezultatima (Privitak)

Page 21: AUTOMATIZACIJA SPEKTRALNE ANALIZE

21

Kako preuzeti program Program se nalazi na stranici Github. Tako ga svatko kome treba takav program može besplatno

preuzeti i koristiti.

Također, za program je trenutno potrebno preuzeti Python, te pakete navedene na stranici na

kojoj se program može preuzeti. U budućnosti će proces instalacije biti pojednostavljen.

Programski kod nalazi se na poveznici, u datoteci sa imenom main.py.

Poveznica: https://github.com/G-rox-y/Spectral-Analysis-Tool

Potrebne specifikacije Program može raditi na bilo kojem računalu i pokreće ga procesor. Dakle, bitne su jedino

specifikacije procesora. U pravilu bi svaki procesor trebao moći pokrenuti ovaj program samo će

brzina programa varirati ovisno o frekvenciji procesora.

Page 22: AUTOMATIZACIJA SPEKTRALNE ANALIZE

22

Zaključak Program će se i dalje usavršavati s obzirom na sljedeće nedostatke:

• Određeni procesi poput funkcije za pojednostavljivanje grafa i funkcije za prepoznavanje

apsorpcijskih linija mogu biti optimizirani na način da rade brže i preciznije.

• Automatsko prepoznavanje neće prepoznati apsorpcijsku liniju koja nema minimum

(detaljnije na slici 10). Za prepoznavanje takvih linija treba se implementirati zasebna

funkcija. (Dodano)

• Pri odvajanju spektra od pozadine, program prepoznaje dio pozadine kao spektar. To se

može poboljšati implementacijom preciznijeg, ali kompleksnijeg koda za odvajanje

spektra.

U planu je također dodati još relevantnih spektralnih linija u bazu podataka, te mješavine

spektralnih linija, poput mješavina tipičnih spektralnih linija za određene tipove zvijezda, kometa

i drugih objekata.

SAT RSpec

Tip podataka sa kojim

može funkcioniratislike

slike, video,

video uživo

Optimalan tip

podatakaslika video uživo

Razine kalibracije 5 2

Količina elemenata u

bazi podataka

7 + mješavine

elemenata

12 + mješavine

elemenata

BrzinaSkoro pa

instantna

Skoro pa

instantna

Otključani kod Da Ne

Cijena Besplatno 100 $

Program također ima otključani kod što znači da ga svaki korisnik može mijenjati prema

vlastitim potrebama, te se nalazi na programerskoj stranici na kojoj korisnici mogu istaknuti sve

pogreške u kodu. Taj faktor je protuteža nedostatku funkcionalnosti jer korisnik jednostavno

može implementirati svoj kod za povećanu funkcionalnost ili ga predložiti na stranici.

Glavni cilj rada, kreiranje barem djelomično kompetentnog programa za spektralnu analizu je

ostvaren. Program je potrebno usavršavati, ali funkcionira približno jednako dobro kao i RSpec,

te ostavlja dosta prostora za samostalnu kalibraciju što omogućuje preciznija mjerenja.

Page 23: AUTOMATIZACIJA SPEKTRALNE ANALIZE

23

Promjene i dodatci nakon recenzija: Promjene u funkcionalnosti prikazane su u slijedećih par poglavlja. Dodatni primjeri analize

spektra nisu dodani, zato što radi lošeg vremena nisam bio u mogućnosti uzeti slike drugih

objekata.

Mjerenje širine i dubine apsorpcijskih linija Ukoliko korisnik želi, moguće je izmjeriti širinu i dubinu apsorpcijskih linija na slijedeći način.

Uz pomoć ovih koordinata može se izračunati širina i dubina apsorpcijske linije.

Slika 22 - Primjer koordinata na alatnoj traci

Kada je prikazan graf spektra u donjem desnom kutu korisnik može vidjeti koordinate mjesta

gdje se nalazi pokazivač miša. Na slici 22 također se može vidjeti novi izgled prozora za

pojednostavljivanje grafa.

Koristeći i alatnu traku također je moguće uvećati određeni dio grafa radi poboljšane

preglednosti , pomicati uvećani dio u nekom smjeru , namjestiti dimenzije grafa

Page 24: AUTOMATIZACIJA SPEKTRALNE ANALIZE

24

, spremiti sliku grafa , te vratiti sve u početni položaj ili koristiti undo/redo

.

Logaritmički prikaz tablice Ukoliko korisnik želi, može namjestiti prikaz tablice na logaritmički način prikaza, ovako bi u

nekim situacijama moglo biti lakše mjeriti svojstva apsorpcijskih linija.

Slika 23 - Odabir načina rada

Slika 24 - Graf spektra u logaritamskom modu

Page 25: AUTOMATIZACIJA SPEKTRALNE ANALIZE

25

Druge promjene:

Baza podataka

Dodane mješavine elemenata karakteristične za određene spektralne tipove (O, B, A, F, G, K,

M), te za ugljične zvijezde.

Ručna analiza

Dodana mogućnost ručne detekcije spektralnih linija za elemente koje program ne može

automatski detektirati. Odvija se kroz konzolu unošenjem valne duljine, na što će program

izbaciti sve apsorpcijske linije na sličnim valnim duljinama.

Slika 25- Primjer ručne analize

Primjer ručne analize, prva unošena vrijednost je valna duljina koja se želi analizirati (dobivena

ovim postupkom), a druga devijacija, to jest najveća dozvoljena razlika između unesene linije i

detektirane linije.

Nakon unosa program ispiše sve potencijalne vrijednosti.

Page 26: AUTOMATIZACIJA SPEKTRALNE ANALIZE

26

Literatura http://blog.kleinproject.org/?p=588 (8. 3. 2021)

https://mathworld.wolfram.com/RotationMatrix.html (8. 3. 2021)

https://iopscience.iop.org/article/10.1086/313284/pdf (19. 3. 2021)

https://www.atascientific.com.au/spectrometry/(4. 4. 2021)

- Naslovna slika

https://www.cambridgeincolour.com/tutorials/camera-sensors.htm (8. 3. 2021)

https://en.wikipedia.org/wiki/Quantum_efficiency (30. 3. 2021)

https://electropapa.com/en/adapter-ring-t2-ring-adapter-lens-mount-adapter-1-25-m42-x-075-or-

telescope-camera-dslr-camera-5 (3. 4. 2021)

- Slika T2 ringa i njegovog adaptera

https://www.rspec-astro.com/ (6. 3. 2021)

- Podatci o optičkoj rešetci, te njena slika

- Podatci o programu RSpec

- Stranica za preuzimanje programa RSpec

https://www.planetary-astronomy-and-imaging.com/en/uranus-spectrum-commented/(31.3.2021)

Dokumentacije:

https://docs.python.org/3.9/ (6. 3. 2021)

https://www.jetbrains.com/pycharm/learn/ (6. 3. 2021)

https://docs.opencv.org/master/d6/d00/tutorial_py_root.html (6. 3. 2021)

https://matplotlib.org/stable/contents.html (17. 3. 2021)

https://pandas.pydata.org/docs/ (20. 3. 2021)

Page 27: AUTOMATIZACIJA SPEKTRALNE ANALIZE

27

Privitci

LibUpdater LibUpdater je program napravljen za mijenjanje baze podataka, također je na engleskom i

sučelje mu je u konzoli. Lista svih komandi može se dobiti upisivanjem komande “-h“.

Slika 26 - Komande u programu LibUpdater

Program navodi korisnika kroz postupak svake od gore navedenih komandi.

Mjerenje spektra Urana #2

Slika 27 - Slika Urana br. 2

Page 28: AUTOMATIZACIJA SPEKTRALNE ANALIZE

28

ISO 1600, 8', udaljenost optičke rešetke od objektiva: 25 cm

RSpec

Slika 28 - Graf slike br. 23 u programu RSpec

Page 29: AUTOMATIZACIJA SPEKTRALNE ANALIZE

29

SAT

Slika 29 - Graf slike br. 23 u programu SAT

Slika 30 - Ispis u konzoli za graf na slici br. 25

Page 30: AUTOMATIZACIJA SPEKTRALNE ANALIZE

30

Mjerenje spektra Urana #3

Slika 31 - Slika Urana br. 3

ISO 800, 6', udaljenost optičke rešetke od objektiva: 25 cm

Page 31: AUTOMATIZACIJA SPEKTRALNE ANALIZE

31

RSpec

Slika 32 - Graf slike br. 27 u programu RSpec

Page 32: AUTOMATIZACIJA SPEKTRALNE ANALIZE

32

SAT

Slika 33 - Graf slike br. 27 u programu SAT

Slika 34 - Ispis u konzoli za graf na slici br. 29