REDUKCJA ECHELLE BOROWIEC
14-XI-2007
Dla osób które dopiero zaczynają z
IRAFem pożyteczna jest szczegółowa instrukcja
do echella z borowca 2007 - MF (ODT)
Inne źródła:
User's guide - Echelle - IRAF (PS)
Schemat - redukcja echelle (PDF)
Introduction to echelle
IRAF (PS)
Instrukcja do echelle RR (HTML)
Instrukcja do coude WD (HTML)
Jeżeli pierwszy raz uruchamiamy IRAFa na tym komputerze
Musimy dodać współrzędne naszego obserwatorium do pliku:
/iraf/iraf/noao/lib/obsdb.dat
Przykładowe
wiersze które musimy dodać:
#
Observatory Parameters.
observatory = "ddo"
name = "David Dunlap
Observatory"
longitude = 79:25.3
latitude = 43:51.8
altitude = 244
timezone = 5
observatory = "bor"
name = "Borowiec Observatory"
longitude = 342:55.524
latitude = 52:16.62
altitude = 124
timezone = -1
1. Jakie pliki i katalogi
potrzebujemy
Potrzebujemy następujące ramki FITS: ZERO (bias), FLAT,OBJECT, COMP (ThAr),
oraz pliki login.cl (konfiguracyjny dla IRAFa) i bor_cmd1.obj (do hedit)
drzewko katalogów potrzebne do redukcji:
2007_04_20/
- katalog pix zawiera ramki typu pix (część
binarna w formacie IRAF)
- katalog uparm zawiera pliki
konfiguracyjne tasków IRAFa
Możemy pobrać spakowane drzewko katalogów z odpowiednimi plikami z uparm, *.obj i *.cl
: (drzewko.tgz)
Po rozpakowaniu drzewka w odpowiednim miejscu mozemy skopiowac pliki
FITS.
TROCHE CYFR:
rozmiar detektora: 2048 x 2048 pikseli
zakres długości fal:
4550-10075 A
długość zakresu: 5525 A
liczba rzędów: 64
niebieski zakres: 1pix = 0.04 A = 2.6
km/s długość rzędu = 80
A każdy rząd dodaje 40 A
środek: 1pix = 0.05 A = 2.4
km/s długość rzędu = 100 A każdy rząd dodaje 80 A
czerwony zakres: 1pix = 0.08 A = 2.4
km/s długość rzędu = 160 A każdy rząd dodaje 175 A
photon gain:
saturation level: 65535
read out noise:
2. Co musimy mieć w headerze plików FITS
Header utworzony przez kamerę Andor.
Przy pomocy programu Andor możemy dodać (aditional keywords) aktualnie
tego nie stosujemy bo zajmuje dużo czasu.
Do ramek typu object
ręcznie musimy dodać pola:
OBJECT =
'arcturus' /
Name of the object observed <-to nie musi być
IMAGETYP= 'object
' / image
type
DEC
= '+19 10 57' /
deklinacja
RA
= '14 15
40' /
rektascencja
EXPSTART=
'10:36:41' <--- UWAGA WARTOŚĆ Z POLA DATE czyli
początek ekspozycji UT
Do
pozostałych typów ramek (zero, comp, flat) dodajemy tylko IMAGETYP -
odpowiednie keywordy to zero, comp i flat.
Przykładowa
ręczna edycja przy pomocy hedit:
cl> hedit V2080Cyg_1
fields to be edited (REFSPEC1): IMAGETYP
value expression (thar09.ec): object
add V2080Cyg_1,IMAGETYP = object
update V2080Cyg_1 ? (yes):
Co dodajemy do hederu przy
pomocy asthedit i pliku cmd:
EXPTIME
=
10.
DATE1 =
'2007-05-23T10:36:41'
UT =
10.6113888888889
UTMIDDLE=
'10:36:46'
EPOCH =
2007.38930102416
MST =
'3:47:44.21'
JD =
2454243.94219907
AIRMASS = 1.052075847834
OBSERVAT= 'bor '
LATITUDE=
'52:16.63'
LONGITUD=
'342:55.4'
ALTITUDE= '123
'
OBSERVER= 'RB, WD
'
cl> asthe
Images to be operated upon (*.fits):
File of commands (bor_cmd1.obj):
Współrzędne
Borowca:
φ = 52° 16′
37.2″ N
λ = 17° 04′ 28.56″ E
h = 123.4 m. n.p.m.
3. Zamiana FITS na IMH
Jeden ze sposobów na zamiane FITS/IMH to stworzenie list nazw fits i
imh i zastosowanie komendy rfits
cl> ls *.fits >
fitslist
cl> ls *.fits > imhlist
- musimy ręcznie wyedytowac otrzymany plik zamieniając końcówki
na imh.
cl> rfits @fitslist ' '
@imhlist
W tym katalogu powstają pliki IMH
a w katalogu pix, pliki o rozszerzeniu PIX.
Po zmianie formatu mozemy przenieść pliki FITS z uzupełnionymi hederami
do katalogu data - nie kasujemy ich w razie ponownego
użycia nie musimy ponownie uzupełniać hedery.
Jeżeli tej zmiany (FITS->IMH) nie dokonamy, w trakcie kolejnych
kroków redukcji program sam przerobi pliki na format imh/pix.
4. Korekcja BIAS (zero)
Aby
uśrednić pliki typu zero, korzystamy z tasku
zerocombine (plik parametryczny).
Możemy stosować average lub median.
Tworzymy tzw. masterbias:
cl>
zerocombine out=BIAS
sprawdzamy czy powstał:
cl> ccdl BIAS
BIAS.imh[2048,2048][real][zero][]:
odejmujemy od reszty plików (object, comp i flat):
cl> ccdp zerocor+
zero=BIAS
List of CCD images to correct
(*.imh):
Komendą ccdlist sprawdzamy czy
została wykonana korekcja - w nawiasach [Z].
cl> ccdlist
CCD images to listed (*.imh):
BIAS.imh[2048,2048][real][zero][]:
V2080Cyg_1.imh[2048,2048][real][object][][Z]:
V2080Cyg_2.imh[2048,2048][real][object][][Z]:
bias1.imh[2048,2048][ushort][zero][]:
bias2.imh[2048,2048][ushort][zero][]:
bias3.imh[2048,2048][ushort][zero][]:
flat1.imh[2048,2048][real][flat][][Z]:
omiAql_1.imh[2048,2048][real][object][][Z]:
omiAql_2.imh[2048,2048][real][object][][Z]:
thar01.imh[2048,2048][real][comp][][Z]:
thar02.imh[2048,2048][real][comp][][Z]:
5. Flat field 2D
Flatowanie widm można robić na poziomie
2D. Nasze flaty jednak mają szerokość identyczną z szerokością
widma obiektu i proceura IRAFa (apnormalize) nie jest w stanie dobrze
wymodelować kształt flatu w rzędach a co za tym idzie nie potrafią
dobrze unormować flatu do 1.
cl> apnormalize flat1
Ratunkiem jest flatowanie 1D (patrz punkt 7) lub apflatten (alternatywa
apnormalize).
cl> apflatten flat1
cl> imstat flat1.norm
cl>
ccdp omiAql_1 flatcor+ flat=flat1.norm out=omiAql_1.flated
Otrzymujemy flatfield w rzędach a
pomiędzy nimi pasy o wartości 1 flat.fits.
5a. Usuwanie światła rozproszonego (Scatered light)
Na podstawie tła między rzędami możemy modelować ten efekt, używa
się komendy apscater.
cl> apscatter omiAql_1.imh ref=flat1
List of output corrected images (omiAql_1_scatter.imh):
Recenter apertures for omiAql_1? (yes): no
Resize apertures for omiAql_1? (yes): no
Edit apertures for omiAql_1? (yes):
Substract scatered light ? yes
6. Uzyskanie widma 1
wymiarowego (sumowanie, ekstrakcja)
Aby na 2D
ramce znaleść rzędy widma i posumować je do widma 1D korzystamy z tasku apall.
Proces znajdywania śladu widma i dopasowania wielomianu będziemy
nazywać tracing. Aby nie mieć problemów z prześledzeniem widma możemy
wykonać tracing na dobrze naświetlonym widmie gwiazdy lub na
flatfieldzie a potem przenieść go na ramki o kiepskim S/N i ThAr.
Program wykonuje kilka kroków:
- określenie szerokości apertur, tła
- dopasowanie fukcji (trace) do każdego rzędu
(śledzenie apertur)
- sumowanie sygnału po kolumnach prostopadle do
kierunku dyspersji
Plik parametryczny APALL zawiera dużo informacji,
modyfikujemy go przy pomocy komendy ec>epar
apall.
HELP programu wywołujemy przez ec> help apall.
Sumowanie widma FLAT
Pierwszym
sumowanym widmem to dobrze naświetlony FLAT który da nam informacje o
śladach rzędów.
cl> apall
flat1
Find apertures for flat1? (yes):
Number of apertures to be found automatically (64):
Resize apertures for flat1? (yes):
Edit apertures for flat1? (yes):
RZĘDY
TRACE
FLAT
FRINGE
Sumowanie widma OBJECT
cl> apall V2080Cyg_1 ref=flat1 out=V2080Cyg_1.ec
Recenter apertures for V2080Cyg_1? (no):
Resize apertures for V2080Cyg_1? (no):
Edit apertures for V2080Cyg_1? (yes):
Sumowanie widma lampy ThAr
Do ekstrakcji widma lampy ThAr
korzystamy z gotowego trace'u z flatu (reference). Wyłączamy back,
weight i clean.
ec> apall thar3.fits ref=flat2 back- weights- clean-
Recenter apertures for thar3? (no):
Resize apertures for thar3? (no):
Edit apertures for thar3? (yes):
Na
pytanie trace? odpowiadamy NO więc jest pobierany z pliku reference.
***
Oglądanie widma - SPLOT
Programem SPLOT (help) możemy oglądać widma 1D lub przekroje
2D. Można równierz robić deblending pików
określić szerokość połówkkową linii, określić środek lub flux.
cl> splot flat1.ec
Image line/aperture to plot (0:)
(1):
Image band to plot (1:) (1):
Aperturę możemy zmienić przy
pomocy "(" i ")" lub wybrać konkretną przez "#" i numer rzędu (apertury).
Jeżeli chcemy powiększyć fragment możemy używać standartowego SHIFT X,Y.
Do druku jednak potrzebujemy coś porządniejszego czyli "w" i potem "e" górny lewy, "e" dolny prawy róg fragmentu
którego chcemy powiększyć.
Jeżeli chcemy usunąć ślad cząstki kosmicznej (którą nie usuneł weight i
clean z apalla) używamy "aa"
by zaznaczyć
obszar piku, przez "j" usuwamy, "c" zatwierdza, "i" zapisz zmiany.
Deblending: d, d (zaznaczamy obszar), g, g (wskazujemy piki), q, na kolejne 2 pytania
odpowiadamy all,
fit background? yes.
7. Flatowanie 1D
Flatowanie 1D polega na znormalizowaniu flatu do 1- flat ten niesie
informacje w każdym pikselu 1D o kilku pikselach 2D poprzecznie do
dyspersji (sumowanie/ekstrakcja).
Po pierwsze musimy unormować flat:
cl>
continuum flat1.ec out=flat1.ec.c
Możemy znormalizowany flat
obejżeć poprzez:
cl> splot flat1.ec.c
Flat z rzędu bez
fringe i z fringem.
Dzielenie widma 1D objektu przez
znormalizowany flat wykonujemy komendą imarith:
cl> imarith omiAql_1.ec / flat1.ec.c
omiAql_1.ec.flat1D
W zakresie rzędów bez frige
(~rzędy 1-40) nie powinno być wyraźnej zmiany, jednak dla rzędów z wyraźnym fringem (40-60) mamy znaczną poprawę.
8. Identyfikacja widma
lampy kalibracyjnej ThAr ( ECIDENTIFY )
Katalog linii wimowych lampy ThAr możemy znaleść pod: KATALOG. Widmo zostało wykonane
25.IV.2007 na teleskopie 2, ekspozycja 30s oraz I=100ma, U=500V. Katalog
został stworzony na podstawie katalogu lampy ThAr z
NOAO.
Do identyfikacji linii widmowych w widmie ThAr korzystamy z programu
ecidentify.
Parametry programu możemy określić w: ec> epar ecident.
Uruchamiamy go poprzez:
ec> ecident thar5.ec
Program
wyświetla rząd 1. Aby wybrać określony rząd klikamy na "o" (order) i wpisujemy numer
rzędu. Do przechodzenie do następnego lub poprzedniego rzędu używamy "j" i "k". Aby wprowadzić długość fali
danej linii musimy na nią najechać myszą + przycisk "m" (mark). Program prosi nas o
wpisanie długości fali w angsztremach, zatwierdzamy enterem. Tak
oznaczamy kolejne linie w tym rzędzie, aby dobrze opisać
krzywą dyspersji musimy oznaczyc 5-10 linii rozłorzone w calym rzędzie w
miare możliwości. Aby wyświetlić długości fali już
wprowadzonych linii wpisujemy :label
user lub w skrócie :l u.
Jeżeli mamy zidentyfikowane i wprowadzone długości fali lini dla
conajmniej 2 rzędów możemy wykonać dopasowanie krzywej dyspersji "f" (fit). Otwiera sie okno pokazujące jakość dopasowania. Do
dopasowania możemy stosować różne funkcje np. chebyshev, legendre.
Dopasowywany jest wielomian wzdłuż dyspersji o rzędzie :xorder oraz wielomian który
określa jak sie zmienia dyspersja między rzędami echelle o rzędzie :yorder. Parametry xorder oraz yorder
domyślnie posiadają wartość 2 jednak jest to niewystarczające RMS wynosi
wtedy 0.2A. Jeżeli użyjemy dla obu parametrów wartość
3 dostajemy RMS rzędu 0.01A. Wprowadzamy wartość poprzez :xorder 3. Stosowanie
wyższych rzędów wielomianu może doprowadzić do pogorszenia wyniku
poniewarz wielomian zacznie się dopasowywać do
lokalnych przesunięć np. asymetria danej linii. Linie które odskakują od
dopasowanie możemy usuwać przez "d".
W oknie dopasowania możemy zmienić wartości wyświetlane na osiach przez "x" i "y". Aby powrócić do wpisywania
długości fal linii klikamy na "q".
Po dopasowaniu krzywej dyspersji mamy już na osi X długość fali a nie piksele jak dotychczas.
Ułatwia nam to wprowadzanie długości fal linii poniewarz po zaznaczeniu "m" program proponuje nam
długość, jeżeli jest odpowiednia zatwierdzamy enterem jeżeli nie
wpisujemy poprawną. Automatyczną identyfikacje linii możemy wykonać
przez "l", dopiero po
dopasowaniu krzywej dyspersji. W pliku parametrycznym definiujemy
maksymalną liczbe linii do zidentyfikowania 1000-2000.
Help wewnętrzny programu
uruchamiamy przez "?". Po
ukończeniu identyfikacji wychodzimy z programu przez "q".
Instrukcje programu można
obejżeć komendą ec> help ecident.
Aby zidentyfikować kolejne widma ThAr, bez konieczności
wpisywania długości fal linii oporowych korzystamy
z ecreidentify
(plik
parametryczny). Program znajduje te same linie co w widmie
reference (radzi sobie z małymi przesunięciami) i dopasowuje wielomian
tego samego rzędu co w reference (HELP).
ec> ecreid
Spectra to be reidentified: thar2.ec
Reference spectrum: thar5.ec
ECREIDENTIFY: NOAO/IRAF V2.12.2a-EXPORT iraf@wd.astro.amu.edu.pl Fri
11:43:01 11-May-2007
Reference image = thar5.ec, Refit = yes
Image Found Fit Pix
Shift User Shift Z Shift RMS
thar2.ec 231/231 231/231
-0.00669 0.0309 5.52E-8 0.00934
8a. Korzystanie z gotowej
identyfikacji
Możemy skorzystać z gotowej identyfikacji THAR_02
jeżeli od tego momentu nie było zmian ustawień spektrografu.
Musimy pliki skopiować do odpowiednich katalogów:
ecTHAR_2.ec
---> database
THAR_2.ec.imh
---> główny
THAR_2.ec.pix
---> pix
Możemy teraz zastosować ecreid:
ec> ecreid
Spectra to be reidentified: thar2.ec
Reference spectrum: THAR_2.ec
9. Przeniesienie długości fali na widmo obiektu
Do przeniesienia dopasowanego wielomianu zawierającego informacje o
dyspersji z widma porównania (ThAr) na widmo obiektu używamy
task (program) DISPCOR. Zawartość
pliku parametrycznego tasku oglądamy przez:
ec> epar disp
Parametr linearize
określa czy zachowamy oryginalną dyspersje czy zostanie ona przeliczona
na równe odstępy w długości fali (początkowo pomiędzy pikselami mamy
zmienną dyspersje). Możemy wpisać nazwy plików, parametry : input/output.
Aby task wiedział które zidentyfikowane widmo ma posłużyć jako źródło
krzywej dyspersji musimy do pliku z objektem *.imh wpisać
odpowiedni keyword:
REFSPEC1=
'nazwa1.ec'
REFSPEC2=
'nazwa2.ec' - jeżeli mamy dwa widma thar
Jezeli chcemy wagować oba widma porównania (np. z powodu rużnego
odstępu czasu pomiędzy ramkami thar i object) podajemy wagę po nazwie:
REFSPEC2=
'nazwa2.ec 1.'
Możemy teraz uruchomić task:
ec> disp
List of input spectra
(arctur2A.ec):
List of output spectra
(arctur2A.ec.lambda):
arctur2A.ec: REFSPEC1 = 'thar5.ec
1.'
arctur2A.ec.lambda: ap = 1, w1 =
4628.773, w2 = 4550.861, dw = -0.03806, nw = 2048
arctur2A.ec.lambda: ap = 2, w1 =
4667.025, w2 = 4588.452, dw = -0.03838, nw = 2048
.......... 67 wierszy dla każdego rzędu
Widmo obiektu możemy obejżeć taskiem splot, jest
ono skalibrowane w długości fali. Pomoc do programu dispcor: HELP.
Jeżeli chcemy by nasze widmo miało kontinuum unormowane do 1 możemy
skorzystać z tasku continuum - plik parametryczny.
Program dopasowuje wielomian do kontinuum poszczególnych rzędów i
normalizuje widmo, stosujemy rząd 4 funkcji.
Aby połączyć wszystkie rzędy widma w jeden ciąg używamy task scombine.
10. Usuwanie linii
atmosfery ziemskiej
11. Normowanie widma do 1 -
CONTINUUM
12. Pomiar prędkości radialnej - kroskorelacja FXCOR
Opis programu FXCOR możemy znaleść na: FXCOR . Jeżeli widmo mamy w postaci
oddzielnych rzędów możemy tym programem wykonać korelacje rząd po
rzędzie i uśrednić (lub mediana). Musimy jednak przed tym odrzucic
rzędy zawierające zbyt wiele linii atmosfery ziemskiej lub fringe jeżeli
widmo nie zostało zflatowane.
Aby uruchomić FXCORE musimy mieć
widmo obiektu i widmo gwiazdy odniesienia (np. standart RV lub widmo
syntetyczne).
cl> fx V2080Cyg_1.ec.lambda1.c.imh
omiAql_1.ec.lambda1.c.imh
Otwiera się okno główne FXCOR (? - help). U góry mamy przebieg funkcji CCF,
a na dole okno z z powiększonym fragmentem. Jeżeli chcemy przesunąć ten
powiększony fragment najeżdżamy na wybrany obszar u góry i wybieramy "z" (zoom). Jeżeli mamy 2
lub więcej pików CCF mogą one się nie zmieścić w głównym oknie, wtedy
możemy zmienić szerokość okna np. :wind
200 - oznacza to szerokość okna 200km/s.
Przerywana pozima linia to dobrany poziom tła, zmieniamy myszą i "b" (background).
Domyślnie program dopasowuje jeden profil. Aby dowiedzieć
się jaki to profil możemy wpisać :fun. Dostajemy
przykładową odpowiedź
Fitting
Function = 'gaussian'
Aby to
zmienić wystarczy :fun
l, dostaniemy wtedy funkcje Lorentza.
Można to ustawić w pliku parametrycznym cl>epar fx.
Aby obejżeć oba korelowane widma możemy wybrać "s" czyli Spectrum mode. Możemy tu wybrać zakres do
korelacji (powiedzmy ze mamy atmosferyczne linie do pominięcia)
klikamy 2 razy "b".
Takich zakresow może być kilka. Usuwamy te zakresy
myszą i "u". Przed
korelacją widma są przygotowywane - wygładzenie brzegów, aby
zobaczyć efekt tej procedury klikamy "p" (prepared).
Każdy mod ma swój wewnętrzny help dla
spectrum, wywołujemy przez "?".
Aby powrucić do korelacji klikamy "x".
Możemy wyświetlić szczegóły dopasowania przez "e", wychodzimy "e" lub "q" .
Dla układów podwójnych mamy 2 piki CCF. Jeżeli śą one b. blisko i
nakładają się musimy wykonać deblending.
1. Dwa razy "d" - zaznaczamy obszar
deblendingu
2.
Zaznaczamy piki "m" (mark)
- maksymalnie 4, potem "q"
3.
Wybieramy rodzaj dopasowania, zazwyczaj "f"
4.
Wychodzimy 2 razy "q"
5.
Wyświetlamy wynik "e" - prędkość heliocentryczna
km/s
W naszym przypadku mamy więcej rzędów, aby przechodzić między nimi
używamy "n"(next) i "p"(previous). Przy pierwszym
użyciu przycisku "n" progran
prosi nas o podanie nazwy pliku do którego zostana zapisane wyniki.
13. Pomiar
prędkości radialnej - pomiar linii RVIDLINES
14. Kalibracja
strumienia