Cómo trabajar con IRAF (...y no morir en el intento!)

El programa IRAF (Imagen Reduction and Analysis Facility) es un programa de procesamiento general de imágenes especialmente diseñado para la reducción y análisis de imágenes astronómicas. IRAF fue creado por el NOAO (National Optical Astronomical Observatories, EEUU) y la última versión disponible es la 2.16 de Marzo de 2012.

IRAF se organiza en paquetes y tareas agrupadas por sus funciones y objetivos, pero es posible realizar trabajos de procesamiento complicados o muy específicos debido a la posibilidad de ejecutar tareas bastante complejas mediante scripts creados por el usuario.

En 2016 se cumplen 30 años desde que se distribuyó la primera versión pública de IRAF, y hasta hoy se han desarrollado más de 100 paquetes externos y su última versión es utilizada por más de 5000 usuarios en más de 60 países.

Si bien IRAF cuenta con su propio programa para visualizar imágenes, denominado ximtool, es usual utilizar un programa externo denominado ds9 creado en el Smithsonian Astrophysical Observatory. Si bien alguna de las versiones 7.x del ds9 presentan inconvenientes para operar con IRAF, la versión 6.2 o anterior funcionan perfectamente y cubren todas las necesidades de visualización necesarias. Esta versión de ds9 para 32 bits se puede obtener en este enlace y la correspondiente a 64 bits en este otro. Aparentemente, la versión 7.5 del ds9 funciona correctamente y se puede obtener aqui.

Para trabajar correctamente IRAF necesita correr desde una X-terminal con capacidad gráfica denominada XGTERM. Usualmente hay problemas para correr versiones dinámicas de esta terminal debido a que las librerias que necesita ya son obsoletas. Una opción para resolver este inconveniente es correr una versión estática de xgterm, la cual se puede obtener aqui.

Algunos tutoriales:

  • La página de IRAF tiene tutoriales donde se explica cómo utilizar diferentes paquetes para realizar diversos procesos de reducción. Esta documentación se puede obtener aqui.
  • En el Taller de Técnicas Observacionales de CASLEO de 2015 y 2016 di clases sobre generalidades de IRAF, paquetes y tareas importantes, y reducción básica de imágenes astronómicas. En estos enlaces se pueden bajar el tutorial y los ejercicios.
  • En un curso sobre IRAF dado en Montevideo en 2006 di un tutorial sobre cómo hacer scripts y convertirlos en tareas. Ambas partes del tutorial se pueden bajar de aqui: Parte I y Parte II.
  • En el mismo curso de Montevideo di también tutoriales básicos sobre reducción de fotometría y espectroscopía.
  • Un tutorial breve sobre fotometría PSF con DAOPHOT en IRAF. Incluye el ajuste PSF y la resta de estrellas de la imagen.
  • Para hacer astrometría con IRAF hay varias tareas que se pueden utilizar. Aqui hay un tutorial breve que utiliza tareas generales de IRAF y uno de mis scripts denominado ASTRSOL.CL disponible más abajo.
  • Desde hace unos años está disponible en CASLEO el polarímetro de imagen CASPOL. Para hacer polarimetría con IRAF utilizando este instrumento se puede utilizar el paquete disponible más abajo y guiarse con este tutorial.

Algunos scripts:

Estos son algunos scripts que uso para mi trabajo. La mayoría son lo suficientemente simples como para que se entiendan sin problemas y como ejemplo de programaciĆ³n en IRAF.

  • CENTRO.CL: script para calcular el centroide de una imagen estelar.
  • REGISTRA2.CL: para un listado de imágenes de la misma zona encuentra los desplazamientos entre esas imágenes y la primera de la lista, crea los archivos de desplazamientos y realiza los shifts necesarios para registrarlas. Requiere tener cargado el script CENTRO.CL.
  • ASTRSOL.CL: script para realizar astrometría con IRAF. Ver el tutorial más arriba.
  • Paquete para polarimetría: este es el paquete para reducir imágenes polarimétricas obtenidas con el polarímetro CASPOL de CASLEO, pero es útil para reducir imágenes obtenidas con otros equipos. Ver el tutorial más arriba.
  • BLOCK.CL: permite convolucionar una imagen con un kernel cuadrado para obtener el mínimo, el máximo, la mediana o el promedio.
  • DESV.CL: permite convolucionar una imagen con un kernel cuadrado y reemplazar el pixel central si difiere del valor medio en un cierto número de desv. standard.
  • ANULAR.CL: permite filtrar una imagen con un filtro anular de mediana. Este filtro calcula la mediana en un anillo de cierto radio alrededor del objeto y reemplaza el pixel central con este valor. Para trabajar necesita un archivo con la máscara que indique los pixels respecto del centro que serán considerados. Aqui se da un ejemplo de maskara con 9 pixels de diámetro.
  • LAPGAUSS.CL: script que permite aplicar un filtro laplaciano de una gaussiana bidimensional (LoG).
  • DIFGAUSS.CL: script que permite aplicar un filtro de diferencias entre gausianas bidimensionales (DoG).
  • PIRAMID.CL: script que permite calcular el siguiente plano de una descomposición piramidal o viceversa, usando como pasabajos un filtro de promedio o uno gaussiano.
  • RENACIM.CL: filtro de renormalización acimutal.
  • ROTGRAD.CL: filtro de gradiente rotacional.
  • RVSF.CL: filtro espacial de radio variable (RVSF).
  • HMORPHIC.CL: filtro homomórfico para aplicar a una imagen. El script obtiene las FFT necesarias, opera con ellas y devuelve una imagen real.
  • COLAPSE.CL: script que permite colapsar una imagen bidimensional en una unidimensional tanto en columnas como en filas.