Gwiazdki w PFN


portret użytkownika marand

By marand - Posted on 04 March 2008

Pozazdrościłem UFOCapture pięknego wykrywania gwiazd. Nie mam pojęcia na jakiej zasadzie robi to UFOCapture ale spróbowałem własnej drogi.

Mamy sobie taki nijaki obrazek z Perseidów 2007 z Ostrowika. Obraz co tu dużo mówić kiepski. Widać straszny szum. Redukcja została zrobiona z kasety co jeszcze bardziej osłabiło jakość i dodało szalonych jasnych pikseli. Jeśli miałbym teraz zabrać sie za AstroRecorda by wyklikać tu gwiazdy czuł bym odrazę do tego obrazka i robił wszystko by moment klikania odsunąć a najlepiej zwalić zadanie na kogoś innego.

Pierwsze co krążyło mi po głowie niemal od początku gdy zobaczyłem że MetRec zapisuje wszystkie klatki było - "a co jak by tak średnią z tego policzyć". Czas więc zobaczyć co się stanie. Obrazek powyżej ma 25 zapisanych klatek. Oto średnia:

Jest całkiem dobrze, zwłaszcza że ten obrazek już jest potraktowany zwiększonym kontrastem. każdy piksel został pomnożony x2 by lepiej było widać słabe obiekty. Średnia jest wrażliwa na duże odstępstwa od niej. dlatego mimo 25 klatek meteor wylazł w wyniku.

Meteora, sporadyczne jasne szumki i promienie kosmicznyche łatwo można usunąć z liczenia średniego obrazka odrzucając najjaśniejsze pomiary w pikselu. Usuniemy niestety w ten sposób i najlepsze pomiary najsłabszych gwiazd co może się odbić negatywnie na całą detekcję. Po odfiltrowaniu obrazek wygląda tak:

Średnia to nie jedyne narzędzie by wydobyć informacje z szumu. można dla każdego piksela policzyć medianę ze wszystkich obrazków.

Teraz też nie ma meteora. Wynik podobny do poprzedniego. Meteor na pewno nie pomoże w późniejszym automatycznym szukaniu gwiazd. ;)

Są też i plusy średniej. Traktując obrazek medianą w wyniku dostajemy 256 poziomów szarości. średnia daje stany pośrednie. W pewnym sensie, stosując średnią możemy poprawić fotometrię a i dalsza detekcja nie musi sie ograniczać jedynie do 256 poziomów. Dobierając wartości progu dla poniższych rysunków odczułem nie raz że skok o jeden poziom to za dużo.

Kolejnym etapem może być zastosowanie metod szukania gwiazd na takim obrazku które już z Przemkiem i Karolem przerabialiśmy. Narazie zastosuję najprostrzą metodę - odcięcie na poziomie szarości 29. Przy 28 było już sporo szumu.

To było dla mediany. Teraz takie samo odcięcie ale dla odfiltrowanej średniej z poziomem detekcji 27.

I nieco łagodniej z poziomem 28

Mam wrażenie, że jest nawet lepiej niż dla mediany.

Spróbuje teraz zupełnie innej metody która myślę że kryje sie za UFOCapture. Powiedzmy ze przyjmiemy sobie jakiś poziom detekcji obiektu na obrazku. Poziom będzie po prostu jasnością ponad którą coś uznajemy za warte zainteresowania lub nie. taki poziom można przyłożyć do jasności pikseli w każdej klatce i zliczyć wystąpienia. Mapkę zliczeń przy poziomie szarości ustawionym na 30 widać poniżej.

Wygląda to obiecująco. Szumu masa ale i gwiazdy słabiutkie widoczne. Oczywiście w zależności od poziomu detekcji dostajemy więcej lub mniej na tej mapce.

Z pojedynczymi klatkami jest taki problem ze słabe gwiazdy często są widoczne tylko na części z nich. Z kolei szum jeśli już przekroczy poziom detekcji to tylko raz lub kilka razy mimo ze gwiazdy w danym miejscu nie ma. Kolejny pomysł to zastosowanie jeszcze jednego ograniczenia, które uznaje, że w danym pikselu coś jest dopiero jak ileś razy pojawi się detekcja. Na poniższym obrazku poziom detekcji jest ten sam a minimalna ilość detekcji ustawiona została na 10. Aż 10 na 25 klatek!

Co z tego wynika dla PFN nie trzeba komentować.

Przedstawiona metoda pokazuje jedynie schemat. Można ją dużo bardziej skomplikować. Np aktualnie poziom szumu jest stały na całym obrazku, można to zmodyfikować by zależał od lokalnej jasności, szumu itd. Jednak najlepszą drogą by dostać więcej gwiazd jest po prostu zapisywać więcej klatek.

Na koniec nałożenie znalezionych gwiazdek na obrazek z meteorem:

Czy ktoś zauważył Herkulesa na pierwszym obrazku? :D

Było by super jak by Sirko dodał to do MetRec. Wystarczy ze MetRec bedzie trzymal w pamięci tablice i zliczał punkty wystające ponad Treshold w cyklu np 256 klatek. Gdy pojawi sie zjawisko to zapisze je z gwiazdami wykrytymi w cyklu zanim pojawił sie meteor. W ten sposób zabezpieczony będzie przypadek pojaśnienia całego nieba przez dłuższy czas co popsuło by detekcję Gwiazd.

Metoda na średnią z odrzucaniem najjaśniejszych tez jest łatwa do wdrożenia. Wystarczy oprócz tablicy ze średnimi w pikselach trzymać tablicę z max wartościami w pikselach. po pełnym cyklu 256 klatek wystarczy odjąć skrajne pomiary uzyskując odszumioną średnią. MetRec powinien takie obliczenia robić na floatach lub doublach a obrazek zapisywać w 16 bitowej skali szarości.

Poszedłem dalej tą drogą. Policzyłem średnie tło o promieniu 5 pikseli od każdego badanego punktu. następnie sprawdziłem które piksele odstają ponad tło na zadaną wartość. Przy progu 4.5 dostałem taki oto obrazek.

Kopara opada! tu widać gwiazdy do 5.5 mag!

Dodałem jeszcze maskowanie gwiazd przy liczeniu średniej...

Animacja przedstawia kolejne progi od 5.5 do 4.0 ponad tło.

Progi które do tej pory podawałem były z kapelusza i na sztywno. Kolejne dodane elementy to wyznaczenie średniego poziomu tła na obrazku, i odchylenia standardowego. Progi zostały zamienione w krotności odchylenia standardowego. Najlepszy wynik z wcześniejszych obrazków odpowiadał poziomowi zaledwie 1.7. Niestety nie można było zadać tak niskiego poziomu dla wszystkich obrazków.

Przerobilem program by chodził "w automacie". Animacja poniżej to efekt szukania gwiazd na wszystkich obrazkach z nocy przy poziomie detekcji 2.3 odchylenia standardowego. liczyło sie to kilkanaście sekund.

A jak się złoży wszystkie gwiazdki razem...

I teraz można liczyć siatkę współrzędnych dla zjawiska. :D

Bardzo ladnie!

Zawsze jest jakis sygnal... a 256 klatek wzmacnia obraz o 3 magnitudo, nie liczac szumu.
Teraz siatki bada sie liczyc jak zloto i bedzie z czego wybierac pewne gwiazdy.

Moze przedstawisz to w ramach prezentacji na Seminarium?

Kamil