# AIPS++

Astronomical Image Processing System ++ is a software package whose development was started in the early nineties, written almost entirely in C++, and which initial goal was to replace the by then already aging AIPS software. It has now been reborn as CASA and is the basis of the image processing systems for several next-generation radio telescopes including ALMA, eVLA, and ASKAP.

## Early history

In 1988-89, the Director of National Radio Astronomy Observatory (NRAO), Paul Vanden Bout, convened an independent review panel, the Software Advisory Group (SWAG) to produce recommendations for the future of processing software for NRAO. SWAG was chaired by Tim Cornwell, and its members included Geoff Croes, Gareth Hunt, Jan Noordam, and Ray Norris. SWAG recommendations were that:
* All data processing in NRAO should be coordinated by a new Assistant Director for Computing
* AIPS should be re-designed and re-implemented following certain general guidelines
* An equal amount of attention should be devoted to single-dish software.
In late 1990 the NRAO Director accepted the recommendations, and the task of defining the new package began.
The project was originally an effort by several astronomical institutes together in a consortium, the Australia Telescope National Facility (ATNF), the Jodrell Bank Observatory (JBO) and the MERLIN/VLBI National Facility (MERLIN/VLBI), the Berkeley-Illinois-Maryland Association (BIMA), the National Radio Astronomy Observatory (NRAO) and the Netherlands Foundation for Research in Astronomy ASTRON.

## Features

AIPS++ provides facilities for calibration, editing, image formation, image enhancement, and analysis of images and other astronomical data. A major focus is on reduction of data from both single-dish and aperture synthesis radio telescopes. Although the tools provided in AIPS++ are mainly designed for processing data from varieties of radio telescopes, the package is expected to also be useful for processing other types of astronomical data and images. However, the reduction of most data from imaging array detectors is performed using IRAF instead.
AIPS++ is structured as a library of tools at the lower levels, designed to replace AIPS of more monolithic applications. In general, the counterpart of an AIPS task is an AIPS++ tool function, although the toolkit structure of AIPS++ will generally mean that these functions are more fine-grained, except for the more integrated tools at the higher levels (such as map). The counterparts of AIPS adverbs are the parameters of AIPS++tool functions. The command-line interpreter in AIPS is POPS, while the counterpart in AIPS++ is Glish. The code used as standard in most astronomical institutes is still AIPS, as AIPS++ is usually not yet considered sufficiently reliable and usable.
Like most research astronomy software, it is available for all major operating systems except Microsoft Windows.

## AIPS++/CASA

On August 25, 2004 the AIPS++ code base was re-organized to a more modular structure; since then it is referred to as CASA ("Common Astronomy Software Applications"). CASA consists of a suite of C++ libraries derived from the original AIPS++ tasks. The Glish scripting system is being replaced by Python bindings, a system known as "CASApy". The CASA software is no longer developed by the consortium, but mainly within NRAO for use on the Atacama Large Millimeter Array.
The core of the old AIPS++ libraries, now known as CasaCore are still being maintained and developed by the original consortium members. A separate Python interface is available known as python-casacore (formerly "Pyrap"). Python-casacore is mainly developed within ATNF and ASTRON for replacing Glish for the Australia Telescope Compact Array, WSRT and LOFAR. CASA also uses these core libraries but not python-casacore.