IRAF

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Recopilación de software para la reducción de datos astronómicos y análisis de datos

IRAF (Image Reduction and Analysis Facility) es una colección de software escrito en el Observatorio Nacional de Astronomía Óptica (NOAO) orientado a la reducción de imágenes y espectros astronómicos en forma de matriz de píxeles. Se trata principalmente de datos tomados de detectores de matriz de imágenes, como los CCD. Está disponible para todos los principales sistemas operativos para mainframes y computadoras de escritorio. IRAF fue diseñado multiplataforma y admite sistemas operativos VMS y tipo UNIX. Cygwin hizo posible el uso en Microsoft Windows en versiones anteriores y hoy se puede realizar con el subsistema de Windows para Linux. Hoy en día, se utiliza principalmente en macOS y Linux.

Los comandos IRAF (conocidos como tareas) están organizados en estructuras de paquetes. Se pueden agregar paquetes adicionales a IRAF. Los paquetes pueden contener otros paquetes. Hay muchos paquetes disponibles por parte de NOAO y desarrolladores externos que a menudo se centran en una rama particular de investigación o instalación.

La funcionalidad disponible en IRAF incluye la calibración de los flujos y las posiciones de los objetos astronómicos dentro de una imagen, la compensación de las variaciones de sensibilidad entre los píxeles del detector, la combinación de múltiples imágenes o la medición de los desplazamientos al rojo de las líneas de absorción o emisión en un espectro.

Si bien IRAF sigue siendo muy popular entre los astrónomos, se detuvo el desarrollo y mantenimiento institucional. IRAF ahora se mantiene como software comunitario.

Historia

El proyecto IRAF comenzó en el otoño de 1981 en el Observatorio Nacional Kitt Peak. En 1982, se completó un diseño preliminar y la primera versión del Lenguaje de Comando (CL). Se funda el Grupo IRAF. El diseñador del sistema IRAF y programador jefe fue Doug Tody. En 1983, el Space Telescope Science Institute seleccionó IRAF como entorno para su sistema de análisis de datos SDAS y transfirió el sistema a VMS. La primera publicación interna de IRAF fue en 1984. Después de una distribución limitada en algunos sitios externos, la primera publicación pública fue en 1987.

A mediados de la década de 1990, el "Open IRAF" Se inició un proyecto para abordar los problemas que se veían en ese momento. Esto incluía enlaces de idiomas, una forma de utilizar componentes IRAF sin el entorno IRAF completo, nuevos tipos de datos y código de usuario cargable dinámicamente. Este proyecto nunca se completó.

A finales de la década de 1990, el desarrollo del IRAF se ralentizó considerablemente, ya que el sistema se consideraba maduro. La asistencia al usuario se transfirió a un foro web en 2005 y el nuevo desarrollo del sistema central se redujo oficialmente a un nivel muy bajo. Sin embargo, el trabajo voluntario de los desarrolladores de IRAF continuó y distribuyeron algunas versiones intermedias no oficiales.

De 2006 a 2009, se hizo un primer esfuerzo para trasladar IRAF a 64 bits en el Instituto de Ciencias Espaciales y Astronáuticas de Japón. Si bien este esfuerzo no evolucionó hacia una nueva versión oficial de IRAF, contribuyó en gran medida a la adaptación de 64 bits de NOAO.

NOAO reanudó sus esfuerzos de desarrollo en 2007, trasladando el sistema a 64 bits y agregándole capacidades de Observatorio Virtual. Esta fase finalizó en 2013 con el lanzamiento de la versión 2.16.1.

En 2017, el código fuente se transfirió a GitHub. En un esfuerzo por empaquetar el software IRAF para Debian, se limpió el resto del código fuente no libre y desde entonces lo mantiene únicamente la comunidad. Después de algunos lanzamientos previos, la versión 2.17 se lanzó a principios de 2022.

Principales versiones de IRAF
Versión Fecha de lanzamiento Observaciones
2.1 1984 primera liberación interna
2.2 1985
2.3 Febrero de 1986 Libertad pública limitada
2.4 16 de agosto de 1986
2.5 8 de julio de 1987 primera publicación pública
2.6 24 de febrero de 1988
2.7 4 de diciembre de 1988
2.8 30 de junio de 1989
2.9 10 de abril de 1990
2.10 7 de julio de 1992
2.11 27 de agosto de 1997
2.12 25 de enero de 2002
2.13 2006 liberaciones no oficiales de voluntarios de NOAO
2.14 1 de diciembre de 2007
2.15 22 de noviembre de 2010
2.16 22 de marzo de 2012 última publicación importante por NOAO
2.17 4 de enero de 2022 primera liberación comunitaria

Licencias

El estado de la licencia de IRAF generalmente sigue el esquema de licencia del MIT. Las versiones anteriores contenían software no gratuito. En particular, el código de gráficos NCAR restringió la redistribución de IRAF antes de que fuera eliminado en la versión 2.16. Además, las versiones antiguas usaban código tomado del libro Numerical Recipes bajo una licencia diferente. Este código fue eliminado o reemplazado con Open Source en versiones posteriores a la 2.16.1. Esto permitió la distribución de paquetes IRAF en distribuciones convencionales de Linux como Debian o Ubuntu.

Diseño del sistema

Cuatro componentes básicos conforman el sistema IRAF en tiempo de ejecución:

  • Los paquetes de aplicaciones son una colección estructurada de tareas portátiles para la reducción y análisis de datos científicos, pero también para los servicios de sistemas.
  • El idioma de mando (CL) es la interfaz de usuario interactiva predeterminada y también se utiliza como lenguaje scripting para tareas en los paquetes de aplicaciones.
  • El sistema de operación virtualVOS) proporciona una interfaz portátil para las tareas de aplicación. Se modela después de las funciones del sistema Unix, pero con una API para el idioma preprocesador específico IRAF (IRAF)SPP).
  • La interfaz del sistema anfitrión (HSI) es el kernel que proporciona una interfaz entre el sistema host y las funciones del VOS. También proporciona herramientas necesarias para arrancar el sistema de la fuente. El compilador SPP también forma parte del HSI.

Sólo el HSI depende del sistema. Todos los demás componentes son portátiles mediante el uso de las funciones proporcionadas por el HSI. De esta manera, la migración a un nuevo sistema solo requiere cambios en este componente. Sin embargo, el diseño inicial se basó implícitamente en el uso universal de tipos de datos de 32 bits y por tanto el puerto a 64 bits requirió grandes esfuerzos no sólo en el HSI sino en todos los componentes del sistema.

Paquetes de aplicaciones

Los paquetes de aplicaciones están estructurados de forma recursiva en subpaquetes y tareas. Se pueden dividir en dos clases: sistema general y utilidades básicas de procesamiento de datos, y paquetes específicos para la reducción y análisis de datos astronómicos. Las tareas están escritas predominantemente en SPP y CL.

Paquetes del sistema

Los paquetes del sistema están ubicados en el paquete base de IRAF y proporcionan herramientas para CL, utilidades útiles del sistema operativo y utilidades científicas básicas, p.e. para procesamiento de imágenes:

dataio
Conversión de formato de datos (FITS, formato de imagen IRAF, etc.)
imágenes
Procesamiento y visualización de imagen de mapa de bitmap general
listas
Procesamiento de listas
parcela
Vector graphics plotting utilities
softools
Herramientas de desarrollo y mantenimiento de sistemas
sistema
Servicios públicos de sistemas
servicios públicos
Servicios diversos, incluidos nttools para manejar mesas.

Paquetes de astronomía óptica

Los paquetes noao se utilizan para el análisis de datos de astronomía óptica. La mayoría de estas tareas son generales, pero el paquete imred también contiene tareas de reducción de datos para instrumentos específicos. Algunos de los paquetes importantes son:

imred
Paquete de reducción de imágenes, que contiene ambas tareas generales para la reducción de datos astronómicos y para instrumentos KPNO específicos
artdata
Paquete de generación de datos artificiales. Puede generar catálogos artificiales, espectros 2D y 2D, crear imágenes de estrellas artificiales, galaxias, ruido y rayos cósmicos, etc. con fines de prueba.
astrometría
Paquete de astrometría para obtener coordenadas astrométricas para objetos en campos estelares
excavación
Paquete de fotometría estelar digital
Parcela IRAF del paquete onedspec en el trabajo.
onedspec
Un paquete de reducción y análisis de datos espectral dimensional. Una tarea importante en este paquete es splot, una herramienta gráfica para el análisis de espectros.
2dspec
Paquete de dos dimensiones de reducción y análisis espectral, las mismas operaciones para espectros bidimensionales (longslit, multispec)
surffot
paquete de análisis isoftal Galaxy
Astcat
Paquete de acceso a catálogos astronómicos y encuestas

Paquetes externos

Uno de los puntos fuertes de IRAF fue la existencia de varios paquetes externos, que resolvieron problemas específicos o implementaron canales de reducción de datos especializados. Entre los paquetes están

fitsutil
Utilidades para archivos FITS de extensión única y múltiple
sptable
Paquete IRAF para espectros tabulares
ctio
Herramientas para el Observatorio Interamericano Cerro Tololo
stsdas
Software system from Space Telescope Science Institute for calibrating and analyzing data from the Hubble Space Telescope (the original tables package from STSci is included as utilities.nttables en los paquetes del sistema).
stecf
IRAF tasks developed at the Space Telescope European Coordinating Facility
rvsao
Radial Velocity Package by Smithsonian Astrophysical Observatory
wcstools
Image World Coordinate System Utilities by Jessica Mink
aXe
Software de Extracción y Visualización Espectral
gemini
Gasoducto de reducción de datos para el Observatorio Gemini

Sin embargo, muchos de estos paquetes ya no se mantienen. La migración a 64 bits también requirió un esfuerzo significativo y no todos los paquetes externos fueron portados y, por lo tanto, solo se pueden utilizar en un entorno de 32 bits.

Tareas definidas por el usuario

IRAF permite a los usuarios escribir sus propias tareas de dos formas principales. Una es escribiendo scripts de procedimientos no compilados (Lenguaje de Comandos, CL). El segundo es a través de programas de preprocesador de subconjuntos compilados (SPP). Existen documentos tutoriales para ambos métodos.

Lenguajes específicos de IRAF

Lenguaje de comando

El lenguaje de comandos (CL) sirve como interfaz de soporte de comando y tiempo de ejecución entre el usuario en su terminal de computadora y los programas de aplicación que está ejecutando. El usuario escribe sus comandos en el CL y éste realiza cualquier tarea y manipulación de archivos que sean necesarias para ejecutar los comandos. En versiones posteriores, el CL original se extendió a ECL, que tiene una línea de comando editable como principal ventaja. También se desarrolló una versión que permitía el acceso directo al Observatorio Virtual (VOCL).

El CL sirve principalmente como un shell y organiza el trabajo con el sistema y las aplicaciones. Hay tres tipos de tareas que CL puede ejecutar: tareas nativas, que forman parte de ejecutables IRAF compilados, scripts (tareas CL que son tareas escritas en CL) y tareas externas, programas externos o scripts que ejecuta CL. Para cada tarea, puede existir un archivo de parámetros. Contiene una descripción de cada uno de los parámetros utilizados por la tarea que debe ser conocido y gestionado por la CL.

Did you mean:

Here is a simple Hello World script in CLp>

{}impresión()' Hola., mundo ! ')}

Los scripts CL normalmente tienen el sufijo .cl, lo que puede causar conflictos con los archivos de código Common Lisp.

Lenguaje del preprocesador del subconjunto

El lenguaje de preprocesador de subconjunto (SPP) implementa un subconjunto del lenguaje de preprocesador IRAF que se planeó en los primeros días de IRAF. El lenguaje SPP se basa en el lenguaje Ratfor. La forma léxica, los operadores y las construcciones del flujo de control son idénticos a los proporcionados por Ratfor. Las principales diferencias son los tipos de datos, la forma de un procedimiento, la adición de cadenas en línea y constantes de caracteres, el uso de corchetes para matrices y la declaración tarea. Las funciones de E/S proporcionadas son bastante diferentes.

El programa xc, proporcionado con IRAF, traduce los programas SPP a Fortran 66 y, desde allí, f2c al código C.

El preprocesador se complementa con mkpkg, una herramienta de automatización de compilación similar, generic, una herramienta para traducir tipos genéricos a código fuente dependiente del tipo, y xyacc. , un yacc modificado para producir resultados SPP.

Did you mean:

Here is a simple Hello World program in CPP:

tarea Hola. # CL callable taskprocedimiento Hola.() # Common procedurecomenzar llamada printf ()"Hola, mundon")final

Los programas SPP suelen tener el sufijo .x, aquellos que necesitan ser preprocesados con la herramienta generic tienen .gx.

Software complementario

Un entorno de trabajo IRAF completo generalmente requiere otras dos aplicaciones: una ventana xterm extendida con ventanas gráficas (llamada xgterm y distribuida en un paquete x11iraf separado) y un programa de visualización de imágenes denominado "servidor de imágenes". Los dos servidores de imágenes más populares son SAOImageDS9 (de SAO) y ximtool (NOAO, también distribuido en el paquete x11iraf).

Como alternativa a xgterm y el lenguaje de comandos, se puede utilizar el paquete Python PyRAF. PyRAF puede traducir scripts CL a scripts Python. También proporciona una ventana gráfica (basada en Tk o en Matplotlib). Como shell de comandos, se puede utilizar el shell de comandos Python o IPython, o un modo especial que se asemeje en gran medida a la apariencia del shell de comandos CL.

Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save