SRP > CosmicPl

Powrót do listy procedur.

Cosmic

Opis dwóch procedur: cosmic_obj i cosmic_flat. Obydwie robią to samo tylko jedna dla plików z obiektem a druga dla plików z flatami.

uruchomienie z konsoli:
przykład:
start cosmic_obj lub start cosmic_flat
start cosmic_obj obj_name "vega*.fits" lub start cosmic_flat flat_name "flat*.fits"
uruchomienie w pliku start.ini: cosmic_obj = 1 lub cosmic_obj = 1
parametry podstawowe tej procedury: cosmic_flat_method, cosmic_obj_method, cosmic_flat_maps, cosmic_obj_maps, cosmic_ignore_header
parametry zaawansowane tej procedury dla widm flatów: cosmic_flat_exponent, cosmic_flat_min1, cosmic_flat_grow1, cosmic_flat_min2, cosmic_flat_grow2, cosmic_flat_single_exponent1, cosmic_flat_single_min1, cosmic_flat_single_grow1, cosmic_flat_single_exponent1, cosmic_flat_single_min2, cosmic_flat_single_grow2
parametry zaawansowane tej procedury dla widm obiektów: cosmic_obj_exponent, cosmic_obj_min1, cosmic_obj_grow1, cosmic_obj_min2, cosmic_obj_grow2, cosmic_obj_single_exponent1, cosmic_obj_single_min1, cosmic_obj_single_grow1, cosmic_obj_single_exponent1, cosmic_obj_single_min2, cosmic_obj_single_grow2
parametry od których zależy procedura: obj_name, flat_name, overexp, fits_extension

Opis

Procedura 'usuwa' promienie kosmiczne z ramek z widmami (lub dowolnym innym obrazem). Przewidziane są trzy tryby 'usuwania' promieni kosmicznych, wybierane za pomocą parametru cosmic_flat_method (np. cosmic_flat_method=3) dla ramek z flatami i cosmic_obj_method (np. cosmic_obj_method=3) dla ramek z badanym obiektem:

1 - Jeśli tylko dostępne są co najmniej dwie ramki flatów (określone parametrem flat_name, np. flat_name=flat*.fits) lub dwie ramki z widmami tego samego obiektu (określone parametrem obj_name, np. obj_name=vega*.fits) wówczas automatycznie stosowany jest algorytm porównujący dwa widma i wypełniający piksele po usuniętych promieniach kosmicznych za pomocą pikseli drugiego widma. W przypadku gdy nie ma do czego porównywać widma automatycznie stosowany jest algorytm wyszukiwania i 'usuwania' promieni kosmicznych dla pojedynczej ramki.

2 - Wymuszone jest stosowanie zawsze algorytmu wyszukiwania i 'usuwania' promieni kosmicznych dla pojedynczej ramki.

3 - Na początku stosowane są metody tak jak to opisano w punkcie nr 1. Później, jeśli tylko udało się zastosować algorytm porównujący dwie ramki, dodatkowo stosuje się dla każdego widma algorytm dla pojedynczej ramki. Ma to na celu usunięcie gorących pikseli i plamek, które z racji tego, że się powtarzają na każdej ramce, nie są wykrywane przez metodę porównawczą.

Procedura dla każdej przebadanej ramki, jeśli tylko znajdzie choć jeden piksel, który uzna za trafiony przez promień kosmiczny, tworzy nowy plik typu fits z mapą zidentyfikowanych pikseli trafionych przez promienie kosmiczne. Jeśli badany plik nazywał się: nazwa.fits to plik z mapą będzie się nazywał: nazwa.fits_map.aaaa, gdzie za aaaa wstawiona będzie wartość parametru fits_extension. Tworzenie map można włączyć lub wyłączyć przypisując parametrom cosmic_obj_maps i cosmic_flat_maps wartości yes lub no.

Po 'usunięciu' promieni kosmicznych procedura zapisuje w nagłówku fits COSMIC = YES (lub nadpisuje gdy już taki nagłówek był). Jeśli w nagłówku badanego pliku jest od początku napisane COSMIC = YES, co świadczy o tym, że 'usuwanie' śladów po promieniach kosmicznych już było wykonane, procedura nie będzie próbować 'usuwać' promieni kosmicznych ponownie. Można to jednak wymusić ustawiając wartość parametru cosmic_ignore_header na yes.

Metoda porównywania dwóch ramek

Stosowana jest metoda porównania dwóch widm (obrazów) tego samego obiektu, które zostały wykonane w krótkim odstępie czasu. Procedura porównuje wartości pikseli o tych samych współrzędnych i reaguje w przypadku wykrycia różnicy przekraczającej pewien próg. Reakcja polega na przepisaniu wartości pikseli z widma w którym są one niższe do widma w którym są one wyższe (a więc prawdopodobnie zaburzone promieniem kosmicznym).

Wartość progowa jest wyznaczana w oparciu o następujący wzór dla flatów:

cosmic_flat_min1 + cosmic_flat_grow1 * exp( (wartość badanego piksela w ADU), cosmic_flat_exponent).

lub analogicznie dla obiektu:

cosmic_obj_min1 + cosmic_obj_grow1 * exp( (wartość badanego piksela w ADU), cosmic_obj_exponent).

Po wykryciu piksela, który na jednej ramce ma wartość wyższą od wartości na drugiej ramce jest on zaznaczony w pamięci jako trafiony promieniem kosmicznym. Na tym etapie powinny być wykryte centralne części śladów po promieniach kosmicznych. Następnie następuje druga tura w której kryterium poszukiwań powinno być słabsze niż poprzednio. Tym razem jednak analizowane są tylko piksele bezpośrednio sąsiadujące ze znalezionymi poprzednio. W ten sposób możliwe jest znalezienie nawet delikatnie zaburzonych przez promienie kosmiczne pikseli z minimalnym ryzykiem zaznaczenia piksela, który tylko przypadkowo ma wartość przekraczającą próg detekcji.

Wartość progowa w drugiej turze jest wyznaczana w oparciu o następujący wzór dla flatów:

cosmic_flat_min2 + cosmic_flat_grow2 * exp( (wartość badanego piksela w ADU), cosmic_flat_exponent).

lub analogicznie dla obiektu:

cosmic_obj_min2 + cosmic_obj_grow2 * exp( (wartość badanego piksela w ADU), cosmic_obj_exponent).

W przypadku gdy dostępne są tylko dwie ramki, są one porównywane wzajemnie na zmianę. W przypadku większej ilości ramek są one sortowane od najsilniej naświetlonej do najsłabiej naświetlonej. Na początku najsilniej naświetlona ramka jest porównywana do drugiej pod względem stopnia naświetlenia. Następnie, po 'usunięciu' promieni kosmicznych z najsilniej naświetlonej ramki tym razem ona jest używana jako wzorzec do porównywania z drugą co do stopnia naświetlenia ramką. W dalszych porównywaniach wzorcem jest zawsze ramka mocniej naświetlona w której w poprzednim kroku 'usunięto' ślady po promieniach kosmicznych.

Do celów porównywania wartość każdego piksela jest w pamięci korygowana o wyznaczony wcześniej współczynnik naświetlenia ramki. Pozwala on porównywać widma, które z przyczyny różnych czasów ekspozycji lub chmur nie naświetliły się w tym samym stopniu. Współczynnik ma stałą wartość dla całej ramki, więc nie pozwala uwzględniać zmian stopnia naświetlenia widma rozłożonych nierównomiernie na powierzchni całej ramki.

Założenia stosowanej metody:

  • Potrzebne są co najmniej 2 ramki, które mają identyczne rozmiary i przedstawiają identyczne widma (obrazy), choć mogą różnić się czasem i poziomem ekspozycji.
  • Główną przyczyną różnic w widmach (obrazach) na dwóch ramkach jest szum kamery CCD i fotonowy (najlepiej porównywać ramki już zredukowane).
  • Nie można porównywać ramek w których nastąpiły istotne zmiany w widmie. Przez istotne rozumiemy tu przesunięcia lub zmiany w wyniku których natężenie w poszczególnych pikselach zmieniło się w większym stopniu niż to się dzieje z przyczyny szumów kamery i fotonowego. Może to być efekt Dopplera w układach podwójnych, zmiany profili linii, niestabilność spektrografu itp. Teoretycznie można porównywać różne obiekty o identycznych typach widmowych, ale tylko gdy zagwarantujemy, że niestabilność spektrografu nie zmieniła istotnie pozycji widm względem siebie.
  • Stosowany algorytm potrafi uwzględnić różnice w poziomie naświetlenia widma lub obrazu, niezależnie od ich przyczyny (chmury, inny czas ekspozycji itd) tylko jeśli są one jednorodne na całej powierzchni ramki CCD.

Metoda dla pojedynczych ramek

W pierwszym kroku algorytm sprawdza czy wartość danego piksela jest znacząco większa od sąsiednich pikseli w pojedynczej, horyzontalnej linii. Poziom odniesienia jest wyznaczany jako mediana z minimum trzech jak najbliższych pikseli, które nie zostały dotychczas uznane za trafione przez promienie kosmiczne. Wartość progowa wyznaczana jest wzorem:

cosmic_flat_single_min1 + cosmic_flat_single_grow1 * exp( (wartość badanego piksela w ADU), cosmic_flat_single_exponent1).

lub analogicznie dla obiektu:

cosmic_obj_single_min1 + cosmic_obj_single_grow1 * exp( (wartość badanego piksela w ADU), cosmic_obj_single_exponent1).

Wstępne poszukiwania mają na celu wyszukanie jedynie najjaśniejszych pikseli promieni kosmicznych i wartości progowe powinny być dobrane tak by omyłkowo nie uznać za 'kosmika' linii emisyjnych lub stromych brzegów linii absorpcyjnych. Wstępne poszukiwania wykonuje się dla każdej ramki dwukrotnie.

Algorytm wypisuje ostrzeżenie gdy znajdzie promień kosmiczny którego pozioma długość wynosi ponad 100 pikseli. Możliwe, że jest to błąd i trzeba wówczas sprawę zbadać oraz ewentualnie skorygować parametry używane do wyliczenia wartości progowych.

W drugim etapie poszukiwań badane są tylko piksele sąsiadujące z wcześniej znalezionymi i kryteria poszukiwań mogą (a nawet powinny) być obniżone. Wartość progowa wyznaczana jest wzorem:

cosmic_flat_single_min2 + ff * cosmic_flat_single_grow2 * exp( (wartość badanego piksela w ADU), cosmic_flat_single_exponent2),

lub analogicznie dla obiektu:

cosmic_obj_single_min2 + ff * cosmic_obj_single_grow2 * exp( (wartość badanego piksela w ADU), cosmic_obj_single_exponent2),

gdzie ff = 0.5 + 0.5 * tanh( ((wartość badanego piksela w ADU) - 600)/200 )

Jest to wzór empiryczny, dopasowany do spektrografu i kamery CCD w Poznaniu, mający na celu obniżenie wartości progowej w stosunku do czystej funkcji eksponencjalnej dla wartości piksela poniżej 600 ADU.

Po wykryciu pikseli trafionych przez promienie kosmiczne algorytm zastępuje ich wartości wartością funkcji liniowej będącej interpolacją sąsiednich pikseli.

Page last modified on January 12, 2011, at 09:03 PM