Inleiding Reduceren met IRAF Sterrenkundig practicum 2 1 IRAF 1.1 Wat is IRAF? IRAF is een programma voor het reduceren en analyseren van afbeeldingen. Het is opgebouwd uit verschillende pakketten, die vervolgens weer een aantal aan elkaar gerelateerde taken bevatten. Met deze taken is het mogelijk afbeeldingen te bewerken, te combineren etc. 1.2 Beginnen... Met het commando cl start je IRAF. Als je het programma voor het eerst gebruikt, krijg je de volgende vraag Do you want to run mkiraf now?. Op het antwoord yes worden in de directory, waarin je je nu bevindt een aantal files aangemaakt (o.a. login.cl en loginuser.cl). Vanuit deze directory kan je IRAF voortaan opstarten met het commando cl (of ncl voor een iets gebruikersvriendelijkere omgeving). De nieuw aangemaakte files kunnen worden aangepast door de gebruiker. Het is vooral belangrijk om de padnamen in login.cl en loginuser.cl te veranderen. Veel gebruikte software pakketten worden automatisch ingeladen in IRAF (deze staan in je login.cl en loginuser.cl). Er zijn echter nog veel meer pakketten, die niet standaard worden ingeladen. Deze worden vermeld bij het opstarten. Wil je gebruik maken van een taak uit één van deze pakketten, dan kan je het desbetreffende pakket inladen door de naam te geven. Je kunt meerdere pakketten tegelijk inladen en gebruiken. Met? gevolgd door de pakketnaam kun je zien welke taken er horen bij het ingeladen pakket. Overige taken of pakketten die niet standaard onder IRAF vallen, kunnen worden ingelezen door ze te vermelden in de loginuser.cl. Door de hieronder gegeven regels toe te voegen aan de loginuser.cl, kan je een nieuwe taak aanmelden en inlezen. set sp2 scripts = /home/strw/mariska/sp2 scripts/ task sub bias = sp2 scripts$sub bias.cl # padnaam # aanmelden taak In dit voorbeeld is sp2 scripts de padnaam, sub bias de naam van de taak en sub bias.cl de naam van de file waarin het script is gedefinieerd. Een verzameling scripts kun je ook als een pakket aanmelden, zoals in het voorbeeld hieronder. In dit voorbeeld is sp2 scripts.cl een file waarin alle scripts op de bovenstaande manier staan vermeld. Je hoeft nu alleen het pakket en dus niet alle losse taken te vermelden in de loginuser.cl. set sp2 scripts = /home/strw/mariska/sp2 scripts/ task $sp2 scripts = sp2 scripts$sp2 scripts.cl sp2 scripts # padnaam # aanmelden pakket # inladen pakket 1
1.3 Het gebruiken van taken Er zijn twee manieren om in IRAF taken uit te voeren. Ten eerste kan je de taak, gevolgd door parameters op de command line aanroepen. Alle parameters (verplichte en optionele) van de taak staan in de bijbehorende parameter file. Deze file kun je weergeven met het commando lpar gevolgd door de desbetreffende taak. Indien je een taak aanroept op de command line, houd dan de volgorde van parameters aan, zoals gegeven in de parameter file. Optionele parameters (staan tussen haakjes) hoef je niet te geven, maar indien je dit wel doet, moet je de naam van de parameter ook vermelden. Zie het voorbeeld hieronder: cl> imhead image longheader=yes Hierin is imhead de task, image de verplichte parameter en longheader een optionele parameter. Je kunt een taak ook uitvoeren door direct de parameter file aan te passen. Dit kan met het commando epar gevolgd door de desbetreffende taak. Je kunt nu alle parameters in de file zelf aanpassen. De taak wordt uitgevoerd met het commando :go. Om de taak niet uit te voeren maar de veranderingen in de parameter file wel te behouden gebruik je het commando :q. Alle taken die standaard tot IRAF behoren hebben een hulppagina. Deze kan worden verkregen met het commando help gevolgd door de taak. Je krijgt nu een korte beschrijving van de taak, de verplichte parameters en de optionele parameters. Voor de meeste taken is het ook mogelijk ze op een aantal afbeeldingen tegelijk toe te passen. In plaats van de naam van de afbeelding als input te geven, geef je nu de naam van een bestand, voorafgegaan door @, waarin je de namen van alle afbeeldingen die je wilt bewerken op een losse regel vermeld. En tenslotte, indien IRAF vast loopt, geef dan flpr op de command line. Problemen worden vaak veroorzaakt door het geheugen, en op deze manier maak je het leeg. Een andere oplossing voor veel problemen is IRAF opnieuw opstarten. En vergeet niet dat als je parameters in taken eenmaal veranderd hebt, ze niet vanzelf teruggaan naar hun default waarden. En tenslotte, indien je bestanden gebruikt (in een editor, zoals Emacs), geef altijd een return na de laatste regel, anders wordt deze niet gelezen. 1.4 Belangrijke taken Van een aantal belangrijke taken vind je hieronder een korte beschrijving. display: Met deze taak kun je een afbeelding weergeven. Je moet wel eerst een afbeeldingsprogramma openen, zoals ds9 of ximtool. In het onderstaande voorbeeld is 1 het nummer van het afbeeldingsvenster. cl>!ds9 cl> display image 1 imcopy: Deze taak kopieert een geheel op een stuk van een afbeelding. cl> imcopy image1[100:400,100:500] image2 imarith: Voert simpele berekening tussen afbeeldingen uit. cl> imarith image1 + image2 image3 2
imhead: Toon belangrijke informatie van de gehele header. cl> imhead image l+ imstat: Deze taak berekent statistische gegevens van een afbeelding. cl> imstat image fields= image,mean,stddev,min,max imdel: Verwijdert een afbeelding. cl> imdel image imexam: Onderzoekt een object. Display eerst je afbeelding. Ga na het intikken van deze taak op de command line naar een object (bv ster) in je afbeelding (in ds9) en druk op a. IRAF geeft nu de pixelcoordinaten, flux, FWHM etc. van het object. De flux wordt gemeten in een bepaalde apertuur. Om aan te geven hoe groot de straal hiervan is, en welke straal moet worden gebruikt om de sky te bepalen (deze moet immers worden verwijderd), gebruik je rimexam. Met deze taak kun je meerdere parameters voor imexam veranderen. Lees hiervoor de help. cl> epar rimexam cl> display image 1 cl> imexam 2 Reductie CCD afbeeldingen die direct van een telescoop afkomstig zijn, bevatten veel instrumentele, atmosferische en kosmische vervuiling. Om de data te kunnen gebruiken, zal dit eerst verwijderd moet worden. In de onderstaande stappen is beschreven hoe we de verschillende invloeden netjes verwijderen, de individuele afbeelding combineren en uiteindelijk een afbeelding van enkel het waargenomen veld overhouden. 2.1 Bias en dark current Elke afbeelding genomen door een telescoop heeft een bias. Deze waarde is onafhankelijk van de integratietijd maar kan wel verschillen over de detector. Deze bias is dus additief en kan daarom simpel verwijderd worden met een behulp van een bias frame. Gebruik hiervoor de task imarith. Naast bias, ontvangt de detector ook een donkerstroom. Om deze te meten zijn er opnamen gemaakt met de sluiter gesloten. De donkerstroom is tijdsafhankelijk en de opname moet dus geschaald worden naar de juiste integratietijd. De donkerstroom schaalt echter niet linear met de integratietijd, en wordt dus vaak achterwege gelaten. Indien je de donkerstroom wel wilt verwijderen, neem dan een frame met dezelfde integratietijd als je waarnemingen. Echter, de dark current is over het algemeen onbelangrijk voor moderne CCDs zoals de WFC. 2.2 Flat field Niet elke pixel heeft dezelfde gevoeligheid, en ook door mogelijke spatiele variatie kunnen afwijkingen ontstaan. Door de detector uniform te belichten (bijvoorbeeld tijdens zonsondergang of opgang), kunnen deze afwijkingen direct worden afgebeeld in een zogenaamde flat field. De genomen afbeeldingen kunnen nu 3
gecorrigeerd worden door ze door de flatfield te delen. Dit kan wederom met de taak imarith. Indien je de flatfield eerst normaliseert (met behulp van imstat ), blijft de flux van de afbeelding behouden. Uit de flatfield is ook direct af te leiden welke pixels defect zijn. 2.3 Cosmic rays Ondanks de verschillende manieren waarop vervuiling van kosmische stralingsdeeltjes verwijderd kan worden, blijft dit een moeilijke opgave. Cosmic rays beslaan vaak één of enkele pixels en zijn kortstondig. Door middel van de verschillende afbeeldingen met elkaar te vergelijken, is het mogelijk cosmic rays te herkennen. Echter, het is moeilijk om ze op deze manier te verwijderen. Naast cosmic rays gooi je namelijk ook fotonen van heldere (punt)bronnen weg. Cosmic rays zijn ook te herkennen aan hun profiel. De straling van objecten is door de atmosfeer vervormd en versmeerd, en volgt een gelijkmatige verdeling. Cosmic rays daarentegen zijn niet versmeerd en hebben een abrupte vorm. De task cosmicrays in package noao.imred.crutil gebruikt deze laatste eigenschap om de cosmic rays te identificeren en vervangen (door middel van interpolatie). Het is belangrijk dat je een goede threshold waarde invult (ongeveer 5 keer de standaardeviatie van de achtergrond). Deze taak kan als uitvoer ook een masker geven waarin alle cosmic rays zijn geidentificeerd. Check na het uitvoeren van het programma of de cosmic rays goed zijn geïdentificeerd. Indien dat niet zo is, probeer dan een andere threshold waarde. Een andere manier om cosmic rays te verwijderen (zonder interpolatie) is median combineren van een aantal images. Echter cosmic rays zullen alleen een rol spelen bij lange belichtingstijden. 2.4 Sky De sky zal helder zijn door de straling van de maan. Doordat de sky constant is over de gehele afbeelding, is het eenvoudig te verwijderen. De waarde van de sky is bijvoorbeeld te bepalen door de gemiddelde flux in een leeg gebiedje te meten (met imstat ).Je kunt de achtergrond nu eenvoudig aftrekken. Maar let op, door bijvoorbeeld bewolking kan de achtergrond per frame verschillen. 2.5 Integratietijd Elke afbeelding wordt over een bepaalde tijd geïntegreerd. Door te delen door deze integratietijd, brengen we alle afbeeldingen terug naar dezelfde eenheid (counts per seconde). 2.6 Offsets De verschillende opnamen (in één filter) zijn ten opzichte van elkaar verschoven. Om de afbeeldingen te combineren, moeten de offsets bekend zijn. Met de taak imexam kun je in alle frames de coordinaten van meerdere sterren bepalen. Hieruit kun je de offsets berekenen. Deze offsets kun je meegeven bij het combineren van alle afbeeldingen. 4
2.7 Het combineren van de individuele afbeeldingen De uiteindelijke afbeelding wordt verkregen door de individuele bewerkte frames te combineren. De afbeeldingen moeten worden gewogen naar integratietijd en verschoven over de offsets. De taak imcombine maakt de uiteindelijke afbeelding uit het gemiddelde van de frames, de gewichten van de afbeeldingen en de offsets. Lees de help van deze taak voor verdere informatie. Indien je op een makkelijke manier van je cosmic rays en bad pixels wilt afkomen, kun je de frames median combineren. Van de offsets moet een aparte file worden aangemaakt, waarin voor elke frame de offsets (x en y) in gehele pixels (zonder komma ertussen) op een aparte regel staan. Zie het voorbeeld hieronder. #x_offset y_offset 0 0-3 8 2-6 2.8 Tips 1. Reduceer de afbeelding in de volgorde zoals hierboven beschreven. Let goed op dat je de juiste afbeelding gebruikt! 2. Check na alle stappen de nieuwe afbeeldingen. Is de nieuwe afbeelding realistisch, of is dit totaal niet wat je had verwacht? 3. Maak altijd een kopie van de afbeelding die je gaat bewerken. Sommige programma s overschrijven namelijk de afbeelding 5