Obit - Astronomy Software for the Recently Deceased
Overview
Obit is a group of software packages for handling radio astronomy
data, especially interferometric and single dish OTF imaging.
This software is made available inder the GNU General Public License
in the hope that it might be useful but "as is" with NO GUARANTEE OR
ASSURANCE of suitability, usability or correctness for any purpose.
Obit is developed and maintained by Bill Cotton at The National
Radio Astronomy Observatory in Charlottesville, Virginia, USA.
Obit is a Unix software environment with a limited set of developed
applications.
It is an object--oriented set of class and utility libraries
allowing access to multiple disk--resident data formats.
In particular, access to either AIPS disk data or FITS files.
A number of low level applications are inplemented such as imaging and
deconvolving interferometer or OTF data,
High-level applications may be either compiled c programs or python
scripts; most of the high-level operations have bindings to python.
Obit Components
There are several components of Obit and related software.
Obit software can be obtained either as gzipped tarballs (links below)
or a more up-to-date version from the anonymous cvs server
cvs.cv.nrao.edu:home/cvs from repository bcotton/Obit, bcotton/ObitSD or
bcotton/ObitView.
Use user :pserver:anonymous.
Obit
This is the basic Obit package containing astronomical images and
radio interferometry data and applications.
A gzipped tarball is available
here
ObitSD
Ths is a single dish "On-the-fly" (OTF) imaging addon to Obit.
Only FITS format files are supported.
A gzipped tarball is available
here
ObitView
This is a Unix/X-Windows program that serves as an Image display
server.
Communications is through the xmlrpc protocol but only a local
implementation is currently supported.
It is currently usable by Obit and ObitSD to display images and
interactively select CLEAN windows.
ObitView can browse and display FITS images or local AIPS images can
be displayed if requested via the xmlrpc interface.
A gzipped tarball is available
here
ParselTongue
ParselTongue is a python-based scripting and interactive command line
interface to astronomical data processing packages.
ParselTongue can execute Obit tasks (compiled programs) and use the
Obit python interface in a script.
ParselTongue is an EU funded component of RadioNet and is being
developed by the Joint Institute for VLBI in Europe (JIVE).
ParselTongue documentation is available
here
Installing the Software
Obit software uses a variety of third party software packages.
Some are standard parts of Unix installations and some are not.
Many of the third party software packages use the configure/make
installation.
If you're not allowed to install software in the proper location
(aren't allowed root privilege) then you can install them in an
alternale location, e.g. $HOME/opt.
The configure script allows this using the option
"--prefix=$HOME/opt".
This location will then need to be given to the Obit configure scripts
as described below.
The following list these external libraries and describe access.
python
Python is used as the scripting and interactive interface to Obit.
Python 2.3 or later is needed.
Get python
here.
cfitsio
Basic FITS I/O package, used for all access to FITS files.
If not found, a stubbed version will be used but all access to FITS
files will fail.
Available
here.
You'll need to create include and lib directories and put the header
files and library there.
glib
The gnu library for large scale software in ansci c.
Available here.
FFTW
Fast Fourier Transform.
Available here.
Note: FFTW MUST be installed with the configure option --enable-float
to be used by Obit.
gsl
GNU Scientific Library.
Available here.
pgplot
Fortran based graphics package.
This is not widely used in Obit and if not found in the installation
procedures, calls to pgplot routines are stubbed.
Available
here.
xmlrpl
Interprocess communications software used to communicate between c
software and ObitView.
If this is not found by the installation software, a stubbed version
will be used but the interprocess communication ability is lost.
Available here.
Build and installation procedures may fail prior to completion but
this doesn't seem to matter.
www
Used by xmlrpl.
Available here.
An earlier but defective version is widespread. You may need in get a
recent version and install it separately.
Build and installation procedures may fail prior to completion but
this doesn't seem to matter.
There are a LARGE number of libraries involved.
There may be a problem with libwwwzip.a, I had to copy this from an
older installation.
zlib
Gzip compressed file IO used by ObitView.
Available here.
motif
ObitView uses the Motif library. A freebee plug-compatible
replacement is LessTif, available
here.
Obit software comes with a configuration procedure; in the simplest
case, installation from a tarball consists of:
% gtar xzvf Obit.tgz
% ./configure
% make
This will install Obit in directory Obit of the current directory.
If you've installed third party software in a nonstandard location (or
to tell configure where you've installed the basic Obit) you'll need
to tell configure, e.g.:
% configure --with-obit=$OBIT --with-pgplot=$HOME/opt/pgplot \
--with-cfitsio=$HOME/opt/cfitsio --with-fftw=$HOME/opt/fftw \
--with-xmlrpc=$HOME/opt/xmlrpc --with-www=$HOME/opt/WWW \
CC=/usr/bin/gcc
To use Python, you'll need to set the environment variable PYTHONPATH
to include the Obit/python (and ObitSD/python if it is to be
accessable). Ecample for tcsh:
setenv PYTHONPATH "$OBITSD/python":"$OBIT/python"
where $OBIT is set to the base address of the Obit software and
$OBITSD to the base address of the ObitSD software (if needed).
Running Obit Software
Obit software is available either from python of as standalone
compiled programs.
In the latter case, the input parameters can be provided through a
combination of command line arguments and/or parameters in an input
file.
Obit tasks are kept in the bin/OS_Type/ directory and simple
instructions are given is the program is executed with no arguments.
Program documentation is in task/program_name.doc and a more extensive
AIPS Helpfile like form in TDF/program_name.TDF (defines the
ParselTongue interface).
Documentation for Obit is in Obit/doc/OBITdoc.ps and for ObitSD in
ObitSD/doc/OBITSDdoc.ps.
Some setup is needed for Obit python scripts, there are examples in
the python/script*.py files.
Online help is available for the Obit python classes through the
python Help facility.
ObitView must be started independently and can be used as an
independent FITS image browser.
FITS files can be downloaded from the internet by giving a full URL.
If ObitView has been built using xmlrpc only one version is allowed to
run at a time.
ObitView can be told to display AIPS images as seen in the following
python code fragment which lists the AIPS files in directory
/DATA/LUSUS_1/ and then selects one and has ObitView display it.
import Obit, OSystem, OErr, AIPSDir, Image, ODisplay
# Init Obit - defining AIPS directory
err=OErr.OErr()
ObitSys=OSystem.OSystem ("Display", 1, 100, 1, ["/DATA/LUSUS_1/"], 1, ["."], 1, 0, err)
OErr.printErrMsg(err, "Error with Obit startup")
# list AIPS directory
disk=1
AIPSDir.PListDir(disk, err)
# Display image in catalog slot 4
a=Image.newPACNO(1,4,True,err) # create image object
d=ODisplay.ODisplay("ObitView","ObitView",err) # create display client
ODisplay.PImage(d,a,err) # display
# Shutdown Obit
OErr.printErr(err)
del ObitSys
The (USA) National Radio Astronomy Observatory
(NRAO)
is operated by Associated Universities, Inc. and is a Facility of
the (USA) National Science Foundation.
Comments? Questions? Problems?