Changelog
=========

Release 3.1.0 [2011-08-10]

* additional baseline fitting, e.g. sinusoid, cspline
* speed ups in various areas
* plotter metadata display
* interactive statistics
* improved packaging
* matplotlib >= 1.0 support
* better support for MeasurementSet data
* more statistics e.g. max/min abcissa
* row-based flagging
* apply fft to spectra
* improved mask handling

Release 3.0.0 [2010-05-06]

* BEWARE: added asap2to3 which converts '.asap' files from version 2 to 
          version 3
* Ticket #183 Added scantable.get_weather
* Ticket #181 Added work-around for casacore bug in saving tables with
              selection
* Ticket #178 Added opacity_model based on  miriad's atmospheric model
* Ticket #177 Added function skydip to determine opacities.
* Ticket #172 Fixed non-working scantable.resample
* Ticket #155 Better output filenames. Ignore non-existsing 
              beams/pols/ifs/scans
* Ticket #157 numpy >= 1.1 support
* Ticket #158 fixed plotter.set_font
* Ticket #160 Aspect ratio of plotter is customisable now
* Ticket #163 fixed for scantable.set_sourcetype
* Ticket #164 Upgrade note in wiki FAQ
* Ticket #165 Handle non-parallactified polarimtery data (if supported in 
              rpfits)
* Ticket #167 Added running polynomial filter to scantable.smooth
* Ticket #168 Data exported via scantable.save now contains correct frequency
              or velocity information
* Ticket #169 Simplified selection of data
* Ticket #46  Interactive lag flagging
* Ticket #170 Provided access to frequency coordinate information via
              scantable.get_coordinate
* Added OS X 10.5 Disk image installer
* Added support for OS X 10.6
* Interactive plotting annotations via optional argument interactive=True
* Interactive creation of masks on the plotter - plotter.create_mask
* Tidy up date range in asapplotter.plotazel/plotpointings
* support for gcc-4.4

Release 2.3.1 [2009-03-25]

* Ticket #154 Flagged data wasn't hnoured in fitting
* Ticket #153 plotter.plot_lines fixed for matplotlib >= 0.98
* Ticket #90  Support integer values for frequencies/errors/intensities

Release 2.3.0 [2009-03-13]

* Ticket #150 fix in casacore for frequency frame conversions
* Ticket #151 added rc parameter and function set_sourcetype to identify
              on/off scans
* Ticket #78/#112 Resolved the issue with random errors occuring under linux
                  for large
   data files, which corrupted the identifaction of off scans
* Ticket #149 Fixed the bug causing spectral line search to go into an
              infinite loop in some rare circumstances
* Ticket #110 Added export to CLASS readable FITS files
   scantable.save("myfile.fits", "CLASS")
* Ticket #142 Fix of the frequency alignment for long observations
* Ticket #133 allow supression of history in the scantable via rc parameters
* Ticket #109 source direction for Hobart data
* Ticket #115 added running median to scantable.(smooth(kernel='rmedian')
* Ticket #148 opacity correction wasn't applied to TSYS
* Ticket #135 quotient detection failure for specific source names
* Ticket #140 NaN values not handled - added scantable.flag_nans to ensure
              that the NaN are flagged
* added python iterator access to scantable rows
* made functions available to directly manipulate spectra 
  scantable.get/set_spectrum
* upgrade to support ipython >= 0.8.1
* support gcc-4.3
* use scons >= 1.1.0
* update to latest livedata I/O functions
* add WCS info to the exported text files


Release 2.2.0 [2007-05-02]

* fix for losing flags in average_time
* changed asap_update_data to contact ATNF ftp server directly
* Documentation updates
* changed to use casacore instead of aips++
* auto_quotient uses on/off pair detection by default, 'time' the old mode can also
  be accessed
* Ticket #107 added function to shift reference pixel
* Ticket #106 added  function to retrieve integration times
* Ticket #105 added Parkes K-band gain curve
* Ticket #102 fixed wrong polarisation type in case of 'circular'
* Ticket #104/94 fixed segmentation fault for time average if all channels are flagged
* Ticket #98  AIPSPATH is honoured if set
* Ticket #101 fixed set_restfreqs not working for IFs not starting at 0
* Ticket #97 fixed error in opacity calculation

Minor Release 2.1.1 [2006-11-09]

* fix for Ticket #88 - numpy masks
* better TAB completion for ipython (handles quotes, don't list private members)
* Fix for Ticket #81 = scanatble.stats output as list
* ticket #64 - speed up of auto_poly_baseline
* fix for ticket #89 - export of IF sub-selections
* fix for Ticket #83 - export to ms2 crashed asap
* added file suffix support for name.rpf.1 etc.

Release Version 2.1.0 [2006-09-11]

* Processing of Multibeam MX data
* Line Catalogs for both plotting and setting rest frequencies
* median averaging
* support of circular polarisations
* binaries for fedora (core 3/5), debian, ubuntu, OSX (ppc,intel)
* text/arrow/line annonations for plotter
* export of fit parameters to text file
* disk based scantables for large data sets
* re-introduced custom quotients
* fixed major fitter bug
* fft flagging
* full support for MOPS data

Release Version 2.0 [2006-04-28]

* Major rework of internal data representation. Now supports IFs with
  different number of spectral channels. This has minimal effect on the
  user interface.
* Creation of a "selector" object used for data selection. Allow slicing of
  data in beam, IF, polarisation as well as selection via header values
  (e.g. Tsys). set_cursor is now invalid use set_selection instead.
* Scantables can be merged
* scantable.lines() has been removed. Set rest frequencies by value
  (This will change in 2.1)
* Multiple data files (e.g. rpf) can be read into a single scantable
* Polarmetric infrastructure improved to support most observing styles
  (linear feeds only)
* ability to convert to/store as Stokes
* Plotter can now only plot from a single scantable (use merge if necessary)
* ASCII (text) spectral output changed to be more usable
* Can change the source position coordinate frame
* Bug fixes
* auto_quotient is doing "closest in time reference"
* option auto-align in velocity when using average_time
* flagging on a per channel base


(Release 1.2.2)

* channel based flagging
* Added get_elevation, azimuth and parangle
* Added swap_lineas & invert_phase
* added allaxes arg to poly_baseline
* Request: added pager throuput for history and summary
* Request: Log meesage on auto_quotient()
* Bug Fix: plotter -set_mode("s","i").
* Bug fix: plotter -autoscale abcissa limits from all spectra for stacking.

Release Version 1.2.1 [2005-12-06]

* scantable.recalc_azel - recalcualte azimuth and elevation based on
* pointing Bug fix: plotter - set_layout got overwritten byt plot; row
  cursor not honoured in _plot_time


Release Version 1.2 [2005-11-30]

Code changes
------------
* frequency switching: scantable.freq_switch()
* get a list of sourcenames: scantable.get_sourcename()
* build quotients from matched _S/_R pairs or 1*_R/n*_S automatically
* plotting control: plotter.set_colors(), plotter.set_linestyles(),
  plotter.set_linewidth() all also  via .asaprc parameters
* non-interactive (non-GUI) plotting
* ASAP Online (Mopra) Monitor web interface (mini pipeline)
* user control of multi-panel: plotter.set_layout()
* histogram plotting: part of linestyles
* plugins: via ~/.asap/userfuncs.py
* plotter panel control: rcParams['plotter.ganged']
* usability: reworked the whole asap startup scripts, now all user adjustable
  through ~/.asap/

Todos/pending
--------------
* documentation update: should be finished by 2005-11-25
* cookbook
* release 1.2:  2005-11-30

Major non-targets, resulting from requirements/targets
-----------------------------------------------------
* asap logging, which can be turned on and off through .asaprc/rcParams
 (from asapmon)
* Data container v2 design study and document ( moved from cycle II )

Not Addressed
-------------

(deferred to cycle II, as described in support document)

* Flexible data selection
* "Merging of spectra" (concatenating scantables)

* public defect tracking system
