AXe Spectral Extraction
   HOME

TheInfoList



OR:

IRAF (Image Reduction and Analysis Facility) is a collection of
software Software consists of computer programs that instruct the Execution (computing), execution of a computer. Software also includes design documents and specifications. The history of software is closely tied to the development of digital comput ...
written at the
National Optical Astronomy Observatory The National Optical Astronomy Observatory (NOAO) was the United States national observatory for ground-based nighttime ultraviolet-optical-infrared (OUVIR) astronomy. The National Science Foundation (NSF) funded NOAO to provide forefront astronom ...
(NOAO) geared towards the reduction of astronomical images and spectra in pixel array form. This is primarily data taken from imaging array detectors such as CCDs. It is available for all major
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
s for
mainframes A mainframe computer, informally called a mainframe or big iron, is a computer used primarily by large organizations for critical applications like bulk data processing for tasks such as censuses, industry and consumer statistics, enterprise ...
and desktop computers. IRAF was designed cross-platform, supporting VMS and
UNIX-like A Unix-like (sometimes referred to as UN*X, *nix or *NIX) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Uni ...
operating systems. Use on
Microsoft Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
was made possible by
Cygwin Cygwin ( ) is a free and open-source Unix-like environment and command-line interface (CLI) for Microsoft Windows. The project also provides a software repository containing open-source packages. Cygwin allows source code for Unix-like operati ...
in earlier versions, and can be today done with the
Windows Subsystem for Linux Windows Subsystem for Linux (WSL) is a component of Microsoft Windows that allows the use of a GNU/Linux environment from within Windows, foregoing the overhead of a virtual machine and being an alternative to dual booting. The WSL command-lin ...
. Today, it is primarily used on
macOS macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
and
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
. IRAF commands (known as tasks) are organized into package structures. Additional packages may be added to IRAF. Packages may contain other packages. There are many packages available by NOAO and external developers often focusing on a particular branch of research or facility. Functionality available in IRAF includes the calibration of the fluxes and positions of astronomical objects within an image, compensation for sensitivity variations between detector pixels, combination of multiple images or measurement of the
redshifts In physics, a redshift is an increase in the wavelength, and corresponding decrease in the frequency and photon energy, of electromagnetic radiation (such as light). The opposite change, a decrease in wavelength and increase in frequency and e ...
of absorption or emission lines in a
spectrum A spectrum (: spectra or spectrums) is a set of related ideas, objects, or properties whose features overlap such that they blend to form a continuum. The word ''spectrum'' was first used scientifically in optics to describe the rainbow of co ...
. While IRAF is still very popular among astronomers, institutional development and maintenance was stopped. IRAF is now maintained as community software.


History

The IRAF project started in fall 1981 at Kitt Peak National Observatory. In 1982, a preliminary design and the first version of the Command Language (CL) were completed. The IRAF Group was founded. Designer of the IRAF system and chief programmer was Doug Tody. In 1983, Space Telescope Science Institute selected IRAF as the environment for their SDAS data analysis system and ported the system to VMS. The first internal IRAF release was in 1984. After a limited distribution of a few outside sites the first public release was 1987. In the middle of the 1990s, the "Open IRAF" project was started to address the problems that were seen at that time. This included language bindings, a way to use IRAF components without the full IRAF environment, new data types and dynamically loadable user code. This project was never completed. At the end of the 1990s, the IRAF development slowed down considerably, as the system was considered mature. The user support was transferred to a Web forum in 2005 and new development of the core system was officially decreased to a very low level. However, voluntary work of the IRAF developers continued and they distributed some unofficial intermediary versions. From 2006 to 2009, a first effort was made to port IRAF to 64 bit at the
Institute of Space and Astronautical Science , or ISAS, is a Japanese national research organization of astrophysics using rockets, astronomical satellites and interplanetary probes which played a major role in Japan's space development. Established as part of the University of Tokyo ...
Japan. While this effort did not evolve into a new official IRAF version, it contributed significant portions to the 64-bit port by NOAO. NOAO resumed development efforts in 2007, porting the system to 64 bit and adding Virtual Observatory capabilities to it. This phase ended in 2013 with the release of version 2.16.1. In 2017, the source code was transferred to
GitHub GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...
. In an effort to package the IRAF software for
Debian Debian () is a free and open-source software, free and open source Linux distribution, developed by the Debian Project, which was established by Ian Murdock in August 1993. Debian is one of the oldest operating systems based on the Linux kerne ...
, it was cleaned up from the remaining non-free source code and is maintained solely by the community since then. After a few pre-releases, version 2.17 was released in early 2022. 2023,
NOIRLab The National Optical-Infrared Astronomy Research Laboratory (NOIRLab) is the United States' national facility for ground-based, night-time optical and infrared astronomy. It is funded by the National Science Foundation (NSF) and operated by the ...
(successor of NOAO) resumed some development and created their own release 2.18 with the scope limited to support the legacy
Gemini Gemini most often refers to: * Gemini (constellation), one of the constellations of the zodiac * Gemini (astrology), an astrological sign Gemini may also refer to: Science and technology Space * Gemini in Chinese astronomy, the Gemini constellat ...
data reduction pipeline. The relevant changes were later merged into the community release 2.18.


Licensing

The licensing of IRAF generally follows the
MIT license The MIT License is a permissive software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts very few restrictions on reuse and therefore has high license compatibility. Unl ...
scheme. Older versions contained some non-free software. In particular, the
NCAR The US National Center for Atmospheric Research (NCAR ) is a US federally funded research and development center (FFRDC) managed by the nonprofit University Corporation for Atmospheric Research (UCAR) and funded by the National Science Foundat ...
graphics code restricted re-distribution of IRAF before it was removed in version 2.16. Also, old versions used code taken from the
Numerical Recipes ''Numerical Recipes'' is the generic title of a series of books on algorithm In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a cla ...
book under a different license. This code was removed or replaced with Open Source in versions after 2.16.1. This allowed the distribution of IRAF packages in mainstream Linux distributions like Debian or Ubuntu.


System design

Four basic components make up the run-time IRAF system: * The Applications Packages are a structured collection of portable tasks for scientific data reduction and analysis, but also for system utilities. * The Command Language (CL) is the default interactive user interface and is also used as scripting language for tasks in the application packages. * The Virtual Operation System (VOS) provides a portable interface for the application tasks. It is modeled after the Unix system functions, but with an API for the IRAF specific Subset Preprocessor language (SPP). * The Host System Interface (HSI) is the kernel providing an interface between the host system and the functions of the VOS. It also provides tools necessary for bootstrapping the system from source. The SPP compiler is also part of the HSI. Only the HSI is system dependent. All other components are portable by the use of the functions provided by the HSI. This way, porting to a new system requires only changes in this component. However, the initial design was implicitly based on the universal use of 32-bit data types and therefore the port to 64 bit required major efforts not only in the HSI but in all components of the system.


Application packages

Application Packages are recursively structured in subpackages and tasks. They can be divided into two classes: general system and basic dataprocessing utilities, and packages specific to astronomical data reduction and analysis. The tasks are dominantly written in SPP and CL.


System packages

The system packages are located in the base package of IRAF and provide tools for the CL, useful operating system utilities, and basic scientific utilities, f.e. for image processing: ; dataio: Data format conversion (
FITS Flexible Image Transport System (FITS) is an open standard defining a digital file format used for storage, transmission and processing of data: formatted as multi-dimensional arrays (for example a 2D image), or tables. FITS is the most commonl ...
, IRAF image format etc.) ; images: General
bitmap image In computing, a bitmap (also called raster) graphic is an image formed from rows of different colored pixels. A GIF is an example of a graphics image file that uses a bitmap. As a noun, the term "bitmap" is very often used to refer to a partic ...
processing and display ; lists:
List A list is a Set (mathematics), set of discrete items of information collected and set forth in some format for utility, entertainment, or other purposes. A list may be memorialized in any number of ways, including existing only in the mind of t ...
processing ; plot:
Vector graphics Vector graphics are a form of computer graphics in which visual images are created directly from geometric shapes defined on a Cartesian plane, such as points, lines, curves and polygons. The associated mechanisms may include vector displ ...
plotting utilities ; softools: Software development and system maintenance tools ; system: System utilities ; utilities: Miscellaneous utilities, including nttools to handle tables.


Optical astronomy packages

The noao packages are used for the analysis of optical astronomy data. Most of these tasks are general, but the imred package also contains data reduction tasks for specific instruments. Some of the important packages are: ; imred: Image
reductions Reductions (, also called ; ) were settlements established by Spanish rulers and Roman Catholic missionaries in Spanish America and the Spanish East Indies (the Philippines). In Portuguese-speaking Latin America, such reductions were also ...
package, containing both general tasks for astronomical data reduction and for specific KPNO instruments ; artdata: Artificial data generation package. May generate artificial catalogs, 2D and 2D spectra, create images from artificial stars, galaxies, noise and cosmic rays etc. for testing purposes. ; astrometry:
Astrometry Astrometry is a branch of astronomy that involves precise measurements of the positions and movements of stars and other Astronomical object, celestial bodies. It provides the kinematics and physical origin of the Solar System and this galaxy, th ...
package to obtain astrometric coordinates for objects in stellar fields ; digiphot: Digital stellar
photometry Photometry can refer to: * Photometry (optics), the science of measurement of visible light in terms of its perceived brightness to human vision * Photometry (astronomy), the measurement of the flux or intensity of an astronomical object's electr ...
package ; onedspec: One dimensional spectral data reduction and analysis package. One important task in this package is splot, a graphical tool for the analysis of spectra. ; twodspec: Two dimensional spectral reduction and analysis package, the same operations for two-dimensional spectra ( longslit, multispec) ; surfphot: Galaxy isophotal analysis package ; astcat:
Astronomical catalog An astronomical catalogue is a list or tabulation of astronomical objects, typically grouped together because they share a common type, Galaxy morphological classification, morphology, origin, means of detection, or method of discovery. The olde ...
and surveys access package


External packages

One strength of IRAF was the existence of various external packages, which resolved specific problems or implemented specialized data reduction pipelines. Among the packages are ; fitsutil: Utilities for single and multiple extension
FITS Flexible Image Transport System (FITS) is an open standard defining a digital file format used for storage, transmission and processing of data: formatted as multi-dimensional arrays (for example a 2D image), or tables. FITS is the most commonl ...
files ; sptable: IRAF package for tabular spectra ; ctio: Tools for the
Cerro Tololo Inter-American Observatory The Cerro Tololo Inter-American Observatory (CTIO) is an Astronomy, astronomical observatory located on the summit of Mt. Cerro Tololo in the Coquimbo Region of northern Chile, with additional facilities located on Mt. Cerro Pachón about to th ...
; stsdas: Software system from
Space Telescope Science Institute The Space Telescope Science Institute (STScI) is the science operations center for the Hubble Space Telescope (HST), science operations and mission operations center for the James Webb Space Telescope (JWST), and science operations center for the ...
for calibrating and analyzing data from the
Hubble Space Telescope The Hubble Space Telescope (HST or Hubble) is a space telescope that was launched into low Earth orbit in 1990 and remains in operation. It was not the Orbiting Solar Observatory, first space telescope, but it is one of the largest and most ...
. The support of selected tasks from the stsdas package is continued in the st4gem package. The original tables package from STSci is now included as utilities.nttables in the system packages. ; stecf: IRAF tasks developed at the
Space Telescope European Coordinating Facility image:Stecf colour wb.png, right The Space Telescope – European Coordinating Facility (ST-ECF) was an institution which provided a number of support and service functions primarily for European observers of the NASA/ESA Hubble Space Telescope (HS ...
; rvsao:
Radial Velocity The radial velocity or line-of-sight velocity of a target with respect to an observer is the rate of change of the vector displacement between the two points. It is formulated as the vector projection of the target-observer relative velocity ...
Package by
Smithsonian Astrophysical Observatory The Smithsonian Astrophysical Observatory (SAO) is a research institute of the Smithsonian Institution, concentrating on Astrophysics, astrophysical studies including Galactic astronomy, galactic and extragalactic astronomy, cosmology, Sun, solar ...
; wcstools: Image World Coordinate System Utilities by
Jessica Mink Jessica Mink (formerly Douglas John Mink) is an American software developer and a data archivist at the Center for Astrophysics Harvard & Smithsonian. She was part of the team that discovered the rings around the planet Uranus. Early life a ...
; AXe Spectral Extraction: Spectral extraction and visualization software to process large format astronomical slitless spectroscopic images such as those obtained with the
Advanced Camera for Surveys The Advanced Camera for Surveys (ACS) is a third-generation axial instrument aboard the Hubble Space Telescope (HST). The initial design and scientific capabilities of ACS were defined by a team based at Johns Hopkins University. ACS was assembl ...
on the
Hubble Space Telescope The Hubble Space Telescope (HST or Hubble) is a space telescope that was launched into low Earth orbit in 1990 and remains in operation. It was not the Orbiting Solar Observatory, first space telescope, but it is one of the largest and most ...
. The package consists of several tasks, each of which performs a specific reduction step on the data to produce the final, extracted spectra. The user can then analyse and control the spectra and, if necessary, re-run with slightly changed parameters until a satisfactory result is achieved. A deep ACS WFC
grism A grism (also called a grating prism) is a combination of a prism and grating arranged so that light at a chosen central wavelength passes straight through. The advantage of this arrangement is that one and the same camera can be used both for i ...
image can contain detectable spectra of several thousands objects. Checking each individual spectrum is very tedious. To help users analyzing the full wealth of their data, the additional task aXe2web was developed to produce browsable web pages from reduced spectral data to enable many hundreds of spectra to be examined quickly and discerningly. The tool can be used for a quick look or as preview facilities in data pipelines, databases or even for virtual observatories. ; gemini: Data reduction pipeline for the
Gemini Observatory The Gemini Observatory comprises two 8.1-metre (26.6 ft) telescopes, Gemini North and Gemini South, situated in Hawaii and Chile, respectively. These twin telescopes offer extensive coverage of the northern and southern skies and rank among ...
Many of these packages are however not maintained anymore. Porting to 64 bit also required significant effort and not all external packages were ported and therefore only usable in a 32-bit environment.


User-defined tasks

IRAF allows users to write their own tasks in two main ways. One is by writing non-compiled procedure (Command Language, CL) scripts. The second is through compiled subset pre-processor (SPP) programs. Tutorial documents exist for both methods.


IRAF specific languages


Command language

The Command Language (CL), serves as a command and runtime supportive interface between the user at his computer terminal and the application programs he is executing. The user types his commands to the CL and it does whatever task and file manipulations are necessary to carry out the commands. In later versions, the original CL was extended to ECL, which has an editable command line as its main advantage. A version that enabled direct access to the Virtual Observatory (VOCL) was developed too. The CL primarily serves as a shell and organizes the work with the system and the applications. There are three types of tasks the CL can execute: native tasks, which are part of compiled IRAF executables, scripts (CL tasks which are tasks written in CL), and foreign tasks, external programs or scripts that are executed by the CL. For each task, a parameter file may exist. It contains a description of each of the parameters used by the task that should be known and managed by the CL. Here is a simple
Hello World Hello World may refer to: * "Hello, World!" program, a computer program that outputs or displays the message "Hello, World!" Music * "Hello World!" (composition), song by the Iamus computer * "Hello World" (Tremeloes song), 1969 * "Hello World" ...
script in CL: CL scripts have usually the suffix .cl, which may cause conflicts with
Common Lisp Common Lisp (CL) is a dialect of the Lisp programming language, published in American National Standards Institute (ANSI) standard document ''ANSI INCITS 226-1994 (S2018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperli ...
code files.


Subset preprocessor language

The subset preprocessor language (SPP) implements a subset of the IRAF
preprocessor In computer science, a preprocessor (or precompiler) is a Computer program, program that processes its input data to produce output that is used as input in another program. The output is said to be a preprocessed form of the input data, which i ...
language that was planned in the early days of IRAF. The SPP language is based on the
Ratfor Ratfor (short for ''Rational Fortran'') is a programming language implemented as a preprocessor for Fortran#FORTRAN 66, Fortran 66. It provides Structured programming, modern control structures, unavailable in Fortran 66, to replace GOTOs and sta ...
language. The lexical form, operators, and control flow constructs are identical to those provided by Ratfor. The major differences are the data types, the form of a procedure, the addition of inline strings and character constants, the use of square brackets for arrays, and the task statement. The i/o facilities provided are quite different. The xc program, provided with IRAF, translates SPP programs into Fortran 66, and from there with f2c into C code. The preprocessor is complemented with mkpkg, a make like build automation tool, generic, a tool to translate generic types into type dependent source code, and xyacc, a modified
yacc Yacc (Yet Another Compiler-Compiler) is a computer program for the Unix operating system developed by Stephen C. Johnson. It is a lookahead left-to-right rightmost derivation (LALR) parser generator, generating a LALR parser (the part of a co ...
to produce SPP output. Here is a simple
Hello World Hello World may refer to: * "Hello, World!" program, a computer program that outputs or displays the message "Hello, World!" Music * "Hello World!" (composition), song by the Iamus computer * "Hello World" (Tremeloes song), 1969 * "Hello World" ...
program in SPP: task hello # CL callable task procedure hello() # common procedure begin call printf ("hello, world\n") end SPP programs have usually the suffix .x, those which need to be preprocessed with the generic tool have .gx.


Supplementary software

A full IRAF working environment usually requires two other applications: an extended xterm window with a graphics windows (called xgterm and distributed in a separate x11iraf package) and an image display program referred to as an "image server". The two most popular image servers are ''SAOImageDS9'' (by SAO) and ''ximtool'' (NOAO, also distributed in the x11iraf package). As an alternative of xgterm and the Command Language, the
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (prog ...
package PyRAF can be used. PyRAF is able to translate CL scripts into Python scripts. It also provides a graphics window (based on Tk or on
Matplotlib Matplotlib (portmanteau of MATLAB, plot, and library) is a Plotter, plotting Library (computer science), library for the Python (programming language), Python programming language and its Numerical analysis, numerical mathematics extension NumPy. ...
). As command shell, either the Python or
IPython IPython (Interactive Python) is a command shell for interactive computing in multiple programming languages, originally developed for the Python programming language, that offers introspection, rich media, shell syntax, tab completion, and his ...
command shell can be used, or a special mode resembling much of the look and feel of the CL command shell.


See also

*
List of observatory software The following is a list of astronomical observatory software. Commercial software * MaximDL Non-commercial software {{columns-list, colwidth=30em, * Aladin Sky Atlas * Astropy * Cartes du Ciel * Celestia * Google Sky * Hallo Northern Sky * I ...
*
Astropy Astropy is a collection of software packages written in the Python programming language and designed for use in astronomy. The software is a single, free, core package for astronomical utilities due to the increasingly widespread usage of Python ...
* IDL/ Gnudatalanguage *
Starlink Starlink is a satellite internet constellation operated by Starlink Services, LLC, an international telecommunications provider that is a wholly owned subsidiary of American aerospace company SpaceX, providing coverage to around 130 countries ...


References


External links


IRAF HomepageIRAF documentationSource code repository on GithubIRAF community discussion pageOld IRAF home page on webarchive
{{DEFAULTSORT:Iraf Astronomy software Cross-platform software