Astronomical Interferometry in PYthon (AIPY)

This package collects together tools for radio astronomical interferometry. In addition to pure-python phasing, calibration, imaging, and deconvolution code, this package includes interfaces to MIRIAD (a Fortran interferometry package) and HEALPix (a package for representing spherical data sets), and some math/fitting routines from SciPy.

The primary driver for this software is the Precision Array for Probing the Epoch of Reionization (PAPER), an experiment for detecting the first stars and galaxies that formed in the universe via the effect of their radiation on intergalactic hydrogen. This experiment presents many new challenges, including widefield imaging, non-tracking antennas, high data-rates, a large fractional bandwidth, and power-spectrum detection.

For an overview of the latest changes to this package, see the CHANGELOG.

You are invited to edit this wiki (see EditingThisWiki).


Download

If you have setuptools and numpy is already installed, then with root permissions, you can just type:

easy_install aipy

Otherwise, you may download from http://pypi.python.org/pypi/aipy.

If you want the bleeding-edge source tree, or are interested in source development, you can checkout a copy from http://github.com/AaronParsons/aipy using GIT. See GitAipy for more information about using GIT with AIPY.


Installation

Resolving Dependencies

This is primarily a *nix package. With some trouble it can install on intel-based Macs. It probably doesn't install on Windows. You need to have python >= 2.4. AIPY depends of the following Python packages:

numpy >= 1.2
pyephem >= 3.7.2.3
pyfits >= 1.1
*matplotlib >= 0.98
*matplotlib-basemap >= 0.99

(* installation can proceed without these, but some scripts will choke)

To resolve these dependencies, your options are:

install_required.sh

and then (if you want matplotlib/basemap):

install_recommended.sh

Installing with Root Permission

If you used easy_install, and everything worked, then you're set. Otherwise, download the AIPY package, open it up, and then run (with root permission):

python setup.py install

If any of the dependencies fails to install, you should download the package source and build it manually.

Installing without Root Permission

To resolve dependencies using setuptools, but without root access, you'll need to follow the instructions at http://peak.telecommunity.com/DevCenter/setuptools, and apply them to each line in install_dependencies.sh. Once dependencies have been solved, run the following command:

python setup.py install --install-lib "module_dir" --install-scripts "scripts_dir"

where "module_dir" and "scripts_dir" are 2 directories you define. "module_dir" will hold the python module for the package you install, and "scripts_dir" will hold any scripts associated with the package. If you take this second route, you should also run (for bash)

export PYTHONPATH="module_dir"

so that python can find the modules. You should also add "scripts_dir" to your path:

export PATH=$PATH:"scripts_dir"

To avoid having to type these lines every time you open a console, add them to your .bashrc file.

Additional Packages

Here's a short list of additional packages that I find generally useful when working in Python:


Documentation

There are several options for obtaining information about the structure and usage of AIPY:


Contributing Code

AIPY is open-source software released under the GNU Public License. It may be freely used and modified. That said, the interferometry community as a whole stands to benefit from cooperative, organized development. A general model for contributing to the AIPY code-base goes as follows:


How to use this site

A Wiki is a collaborative site; anyone can create an account and contribute (see EditingThisWiki):

Interesting starting points:

This wiki is powered by MoinMoin.

FrontPage (last edited 2009-11-05 20:51:58 by AaronParsons)