Cómo trabajar con Python en astronomía (...y no morir en el intento!)

Python es un lenguaje de programación interpretado que se incluye dentro de diversas distribuciones de Linux. En la actualidad hay dos versiones disponibles de Python: la 2.x y la 3.x. Aquí trataremos sólo Python 3.x.

Es muy conveniente bajar de los repositorios el intérprete de Python3 denominado IPython3 porque presenta mayor flexibilidad y versatilidad que el intérprete usual. También se puede utilizar Spyder que es un IDE que permite escribir, compilar y ejecutar scripts de Python.

Para desplegar y analizar imágenes astronómicas en formato FITS hay varias opciones disponibles pero yo prefiero utilizar SAOImage ds9 por su versatilidad y porque existen paquetes de Python que permiten utilizarlo como visualizador externo.

Algunos tutoriales:

Si no conoce Python en profundidad y desea una ayuda básica aqui tiene algunos tutoriales:

  • En esta página puede encontrar numerosos tutoriales y cursos sobre Python en castellano.
  • Aquí se puede bajar un archivo comprimido con una serie de tutoriales básicos de Python 3.x, IPython3 y los paquetes Numpy y Matplotlib que son necesarios para operar con matrices y graficar. Los tutoriales estan escritos como notebooks de IPython3, por lo cual despues de bajarlos y descomprimirlos en el disco se debe ejecutar en una terminal el comando ipython3 notebook o jupyter notebook (existen los respectivos paquetes en los repositorios Linux de todas las versiones) que desplegará en cualquier navegador de internet (Firefox, Chrome, etc.) una estructura de directorios de donde se podrá correr el tutorial.
  • Aquí están disponibles los tutoriales para Python 2.x.
  • Cómo graficar con Matplotlib es un tutorial que muestra los diferentes tipos de gráficos que se pueden hacer con este paquete.
  • Este es un tutorial sobre cómo operar en Python con imágenes FITS y SAOImage ds9.
  • Aquí se puede encontrar un tutorial sobre cómo efectuar una reducción básica de imágenes astronómicas en Python.

Algunos paquetes propios para astronomía:

Desde que el Image Reduction and Analysis Facility (IRAF),un paquete tradicional para reducir y analizar imágenes astronómicas, dejó de tener soporte yo hice una rápida migración a Python para poder realizar mi trabajo. Por supuesto que ya existen en Python paquetes para trabajar con imágenes astronĂ³micas, particularmente Astropy, pero nunca me gustaron las cajas negras y siempre he preferido conocer exáctamente qué es lo que hace cada código. Por esta razón he creado una serie de paquetes que pueden ser útiles para realizar procesamiento y análisis de imágenes.

Los paquetes que se incluyen más abajo están escritos de una manera simple, ya que soy astrónomo y no programador, con el objeto de que se puedan entender sin mucho esfuerzo. Si alguien desea utilizarlo les pido que siempre incluyan como referencia: Gil-Hutton(2018), Astronomy Reduction Package (ARP), http://freeshell.de/~rgh/python.php.