| Version 1.9 Build 1488
|
|
Planning for Releases of AIPS++
|
Tim Cornwell
NRAO, Socorro
New Mexico, U.S.A.
|
whole document as Postscript
|
HTML updated: 1996 December 2 |
N.B. This document uses HTML 3 Tables, and
in-line images to display mathematical expressions.
Turn Image
Loading ON, and set your font size in the range
12 to 14pt for optimal browsing.
This document describes the release philosophy and schedule for 1997
and 1998. It has been updated following comments by the AIPS++ STAG
given in the 1996 report.
We plan various releases of AIPS++ in 1997 and 1998. In this document,
I describe in varying degrees of detail what we intend to deliver in
each of these releases.
We plan to make two major releases, one in 1997 and one in 1998. The
first is designated as a ``Limited Public Release'' since it will
contain only a subset of the functionality expected to be present
eventually. The second release, in 1998, is expected to have a more
rounded set of capabilities. The limited public release is preceded by
an explicit ``beta'' release.
- Beta Release: AIPS++ V0.9 Due Early 1997
- Targeted to consortium sites and a few friendly astronomers
- Contains basic environment, tools, synthesis applications.
- Will get early exposure for AIPS++
- Limited Public Release: AIPS++ V1.0 Due Mid 1997
- Open release, targeted to both astronomers and programmers
- Contains basic environment, tools, synthesis applications.
- GUI frontends to major Distributed Objects and applications
- Interfaces should be fixed at this point,
- Will provide environment for code development.
- AIPS++ V2 Due Mid 1998
- Synthesis package (including some functionality for VLBI)
- Single dish package
- Image Analysis package
- General toolkit
- Visualization toolkit and applications
- Contributed code
It is essential that the first impressions made by these releases of
AIPS++ be good ones. Hence given a choice between adding functionality
and improving quality of what already exists, we will go with the
latter. Furthermore, it is vital that these releases be timely. The
priority is timeliness, quality, functionality. If the planning given
here is correct, these don't conflict too much.
The principal goals of the beta release and the LPR are:
- Provide astronomers with a first look at functionality in a number of different
areas: synthesis, image analysis, general tool-kit
- Get experience with distribution and support of AIPS++ outside consortium sites,
- The AIPS++ interface will be primarily via Glish (), so that existing
command-line apps will be wrapped. There will only be of order two or fewer
substantial GUI-based applications.
- In suitable cases, the Glish ``closure object'' format for Glish functionality
will be used.
: Responsible person: Brian and Tim, Status: Done: Note 198, Notes: Document describing coding standards
and documentation.
- All capabilities available to users will be documented ()
: Responsible person: Wes, Status: On-going, Notes:
- Tutorials for processing will be present (LPR).
- Test suites for applications to be present (LPR).
- We will provide meaningful error messages for at least the usual failure conditions ()
- We will provide a "dictionary" of arguments for Glish functions and methods ()
- We will organize applications code () according to package/module
and then one of:
- application
- object.method(): an example is imager
- server object
- object.method(): an example is table
- solitary object
- unique.method(): an example is logger
- function
- function(): an example is uvfits2ms()
- simple function
- function(): builtin or other function who's inputs aren't logged. An
example is sin()
- We will provide a number of GUI tools to be invoked from Glish:
- logging window w/filters (),
: Responsible person: Brian, Status: Initial versions in place, Notes: Filtering probably deferred until LPR release.
- table editor (faster, change cells/keywords) (),
: Responsible person: Paul, Status: tablebrowser in place, Notes: Editing probably deferred until LPR release.
- image display window ()
: Responsible person: Tim, Status: Adequate version available, Notes:
- file chooser
: Responsible person: Wes, Status: In place, but needs documentation, Notes:
- web browser ()
: Responsible person: Wes and Tim, Status: Started but needs more work, Notes: Simple interface to standard browser allowing one
to send commands from Glish to a browser.
- We will supply standard application services available to C++ clients.
- Logging ()
: Responsible person: Brian, Status: In place, Notes: Needs to be used everywhere
- Simple image display (LPR)
- Simple plotting (LPR)
- Confirmation ()
- Performance goals
: Responsible person: Tim and Mark W, Status: Under continuous monitoring, Notes:
- AIPS/AIPS++ interoperability aids
: Responsible person: Athol, Status: Being planned, Notes: Software and documentation to aid
users in moving between AIPS and AIPS++
For the beta release and LPR, we will aim for only two packages: aips and
synthesis, though single dish (the dish package) might be included if possible.
- module=input/output ()
- : textio allows reading and writing AIPS++ tables to and from ascii
format tables.
- textio := aips.make_textio(logger, host, root_dir)
- textio.table2text(table_handle_or_name, file_root, recurse)
- textio.text2table(filename, new_table_name, recurse)
: Responsible person: Doug, Status: To start November 1, Notes: Doug will be responsible for writing a
user's guide to the use of AIPS++ for analysing/manipulating tables from
e.g. ascii, AIPS, MIRIAD
- module=image ()
- : allows manipulation of AIPS++ images from within Glish
- image := get_image(filename, logger, displayer, plotter, host, root_dir)
- image := make_image(filename, shape, coords, make_mask,
default_value, tile_shape, displayer,
plotter, logger, host, root_dir)
- image := image.clone(filename, root_dir)
- image := image.project(template_image, original_image)
- image := image.fouriertransform(image, axes)
- image := image.convolve(image, psf, axes)
- image := image.subimage(blc, trc, keep, filename)
- region := image.make_region(mask_image, keep, filename)
- image.summary()
- image.statistics()
- image.display()
- array := image.get_chunk(blc,trc)
- image.put_chunk(blc,array)
- imcoord := image.coords()
- image.combine()
- image.moments()
- image.fit1d()
- image.imlin()
: Responsible person: Brian, Status: In progress, needs documentation, Notes: Brian has written a DO
interface to use Neil's code. We definitely need some more capabilities
in Fourier transformation and convolution.
- module=inputs ()
- : attachs inputs to a Glish object so that
control parameters may be set, displayed, stored, retrieved and defaulted.
- inputs - a one level deep record (cannot add/remove fields)
with the current values
- inputs.defaults() = default values
- inputs.set(variablename, value);
- inputs.save(filename)
- inputs.get(filename)
- inputs.inputs();
: Responsible person: Tim, Status: Initial version done and documented, Notes: Used in imager.g
- module=measures
- : various useful conversions
- string_date := measures.time(mjd, form="ymd clean"); ()
: Responsible person: Wim, Status: In progress, Notes: Wim has written initial DOs and GUIs for
both Units and Measures.
- module=measurementset (raw data) (LPR)
- : MeasurementSet allows various
operations on MeasurementSets.
- ms := aips.get_ms(filename, logger, host)
- ms.summary()
- ms.statistics()
- newms := ms.sort(keep)
- newms := ms.select(keep)
- ms.flag() (LPR)
- ms.display() (LPR)
: Responsible person: No-one, Status: Deferred, Notes:
- module=logging ()
- : logging of messages from apps and
from Glish
- messages.log(message, severity, location)
- messages.print(how_many, severity)
- messages.purge(how_many, severity)
- table := messages.table()
: Responsible person: Brian, Status: Due Dec 4, Notes:
- module=table ()
- : allows access to Tables from within Glish.
- gtable functionality recast as Glish object
: Responsible person: Tim, Status: Finished and documented, Notes:
- module=plotting (general) ()
- : plotting capabilities from within Glish.
- gplot1d: high-level plotting widget
: Responsible person: John/Paul, Status: Done, Notes: object-style interface written by Tim, some
questions over running more than one at once.
- tkpgplot: a tk widget allowing PGPLOT format calls
: Responsible person: Yanti, Status: Started Sept 3, due to be finished mid December. Better
interface will probably have to wait until the LPR., Notes:
- module=mathematical ()
- : various mathematical operations:
- statistics, FFT/Convolution/shift, fit polynomials,
- fit 1 and 2-d gaussians.
- ``IMFIT'' like fitter.
: Responsible person: Brian, Status: All done and documented except fitting, Notes: Fitting deferred.
- module=display ()
- : allows display of images and arrays from within
Glish:
- display:=displayobject(command, logger);
- display.image(image);
- display.array(array);
- region:=display.getregion(ID);
- editmaskimage(image, maskimage);
- aipsview: support for AIPS++ images and coordinates
- initialization better e.g. contour levels
: Responsible person: Tim, Status: Initial version done and documented, Notes: Used in imager.g
- module=utility ()
- utility:=utilityobject(logger);
- filename:=utility.choosefile(initialfilename, prompt);
- status:=utility.shellcmd(command, async=F, log=T);
- All functions previously in gmisc
: Responsible person: Tim, Status: Initial version in place and documented, Notes: Will fill up as time goes on
- module=input/output (LPR)
- : Fillers to a MeasurementSet. These are site priorities
rather than project wide.
- atload
: Responsible person: Mark W, Status: Initial version done, Notes: Needs more use.
- bimafiller
: Responsible person: Peter, Status: Due Dec 1, Notes:
- vlafiller
: Responsible person: Gareth, Status: Inactive, Notes: Needs someone with some time
- uvfitsfiller
: Responsible person: Mark W, Status: Done, Notes: Available as uvfits2ms global function
- wsrtfiller
: Responsible person: Friso, Status: Prototype done, new version due, Notes:
- module=imager
- : imager is an application object that provides access to
the synthesis processing in AIPS++. It is a glish closure object with inputs,
logging.
- improved performance ()
- control panel GUI including integrated editing (LPR)
- improved interactive flagging ()
- improved documentation ()
We also need to make changes to the distributed objects used in imager.
- all DOs:
- multi-IF ()
- spectral line ()
: Responsible person: Mark W, Status: Due Dec 1, Notes: Will also improve performance
- flagger:
- finish various approachs ()
: Responsible person: Jan, Status: In progress, Notes:
- calibrater:
- cross calibration ()
- cal tables: define format, attach to MS, allow versioning (LPR)
- faster gain solutions (LPR)
- imagemaker:
- allow shifts of various sorts ()
- imagesolver:
- fit to beam ()
- phase shifts [using Measures if possible] ()
- faster gridding () : Responsible person: Sanjay, Status: Temporary version done 96/10/1. Needs
better solution in long-term, Notes: .
- gridding and FFTs for arbitrarily-sized images (LPR)
- Clark Clean ()
- mosaicing (LPR)
- Nonsymmetric Fourier plane sampling (LPR)
- weighter
- module=simulating
- : msmaker makes an MS from scratch. A higher priority is to
document corrupter: the inverse of the calibrater.
- msmaker.initialize (LPR)
- msmaker.set (LPR)
- msmaker.write (LPR)
- corrupter.initialize ()
- corrupter.set ()
- corrupter.corrupt ()
- corrupter.write ()
: Responsible person: Mark W, Status: DOs in place, Notes: Needs documentation and perhaps a glish closure object
interface similar to imager.
- Code-copping of user level functionality (including .g and .help
files) has to be complete. We will move code into aips or synthesis or dish, etc.
as appropriate
: Responsible person: Ralph, Status: On-going, Notes:
- Alpha testing
: Responsible person: Tim, Status: On-going, Notes:
- Selection of Beta Sites
- We limit downloading to those we know about.
- Consortium sites not yet involved (e.g. NRAO 12m)
- Members of AIPS++ Scientific and Technical Advisory Group
- Targeted astronomical programmers
- A few friends chosen to provide good testing of astronomical
applications (e.g. Groningen group, Grant Denn)
: Responsible person: Tim, Status: Now getting started, Notes:
- Platforms supported: Gnu compiler on Solaris, HP/UX, SGI/IRIX, and
Dec Alpha (). For LPR, we will support Linux as well.
- Installation: For , binaries and code tree and distribution of
patches. For LPR, binaries and/or code development system.
- Distribution media: For , ftp. For LPR, also CDROM.
: Responsible person: Pat, Status: Not yet started, Notes:
V2 should contain substantially more functionality than will be
present in the LPR. With this release, it should be possible to go
end-to-end on reducing data from most consortium
telescopes. Scientific analysis should be aided by image analysis and
visualization capabilities.
- Provide fully-featured functionality in a number of different
areas: synthesis, image analysis, general tool-kit
- Provide sub-set of initial functionality in other areas: image
visualization, VLBI processing, single dish,
- Provide stable environment for code development,
- Distribute contributed code. In the LPR, we should encourage
submission of code for both incorporation into the code of AIPS++, and
distribution as-is.
Here we show both new packages and additions to the packages delivered in the LPR.
- module=mathematics
- :
- Optimization support
- Linear Algebra support (including deconvolution)
- module=plotting (general)
- : plotting capabilities from within Glish.
- Better plotting interface using tkpgplot
- module=mathematical
- : various mathematical operations:
- fit 1 and 2-d gaussians.
- ``IMFIT'' like fitter.
- module=display
- : allows display of images and arrays from within
Glish. Supports new visualization toolkit. Allows visualization of
n > 3 images.
- display.visualize(image);
- module=input/output
- : Fillers to a MeasurementSet. These are site priorities
rather than project wide.
- module=sdcalc
- : a gui-based glish app for analysis of single
dish spectra data.
- module=sdimager
- : a package for single dish imaging e.g.
On-The-Fly imaging, Beam-switching, etc.
- module=input/output
- : Fillers to a MeasurementSet. These are site priorities
rather than project wide.
- module=imager
- :
- improved performance
- state memory to minimize work
- multiple control panels for different contexts
- MEM and Pixons
- gridding and FFTs for arbitrarily-sized images
- wide-field
- multi-field processing
- Nonsymmetric Fourier plane sampling
- module=simulating
- : Full-up simulation of an observing procedure
for some consortium telescopes.
Please send questions or comments about AIPS++ to aips2-request@nrao.edu.
Copyright © 1995-2000 Associated Universities Inc.,
Washington, D.C.
Return to AIPS++ Home Page
2006-08-01