v1.2.1 (2015-10-06):
- changed default parameter values of muse_exp_align to values recommended
  by the ESO SDP group. 

v1.2 (2015-10-01): P96 release
- two LSF descriptions (old parameter table, new cube format):
  . muse_lsf by default computes the new cube format
  . model-base sky subtraction can use both formats
- new recipe muse_exp_align to compute exposure alignment (wobble correction)
  . create OFFSET_LIST from individual IMAGE_FOVs
  . input OFFSET_LIST into muse_exp_combine to correct offsets
- allow use of ILLUMs in muse_twilight
- reject lowest (5%) of regions in white-light image for sky spectrum
- improve FWHM-based exposure weighting (use auto-guider measurements if
  possible)
- new "simple" sky subtraction (no LSF, no model)
- allow CR rejection in both cube and spectrum when creating the sky spectrum
- ignore INFs and NANs when creating sky spectrum (MPDAF #374)
- add possibility to offset single exposures (in muse_scipost; MPDAF #324; uses
  OFFSET_LIST)
- allow flux-scaling of exposures, both single and multiple, in muse_scipost
  and muse_exp_combine (MPDAF #347; uses OFFSET_LIST)
- create functions to smooth geometrical solution
  . active if --smooth of the muse_geometry recipe is positive
  . also supplied in tool muse_geo_smooth, for quicker post-processing
- add useful recipe info at start of processing
- fix muse_cube_combine tool to work again
- tools muse_product_split and muse_products_merge
- adapt tools muse_trace_plot_samples, muse_trace_plot_widths,
  muse_wave_plot_column, and muse_wave_plot_residuals to be able to select
  extension names, so that they can be used on merged data
- reflex workflows updated
  . python based computation of field offsets replaced by recipe muse_exp_align.
  . dependencies on non-standard python packages have been dropped.

v1.0.5 (2015-07-31): ESO-only release
- Updated Reflex workflow to Reflex 2.8.

v1.0.4 (2015-04-28): ESO-only release
- Fix compile-time warning in muse_flux_get_response_table_piecewise_poly().

v1.0.3 (2015-04-07):
- Improved robustness of the flux response calculation when used
  with a restricted wavelength range
- Fixed memory leak when loading incomplete pixel table.
- Fixed typing error in save parameters of muse_scipost.
- Minor improvements to the documentation of muse_wavecal:
  . Typing error fixed in the description of ARC_RESAMPLED.
  . Add that ARC_RED products are only created when '--lampwise' is used.
  
v1.0.2 (2015-03-11):
- updated version of the Reflex workflows:
  . Exposure alignment incorporated into the main muse workflow muse.xml.
  . The scope of the secondary workflow muse_exp_combine.xml has changed.
    Its purpose is now limited to the combination task of already reduced
    exposures. No raw or master calibrations are required. 
  
v1.0.1 (2015-01-26):
- updated version of the Reflex workflows fixing a few minor bugs:
  . LFS_PROFILES and VIGNETTING_MASK were not passed to the relevant actors
    by the FITS ROUTER
  . empty SoF now carries on the information on DataSet name
  . muse_exp_combine.xml workflow loads even if the required additional python
    modules are not installed in the system
  . if the alignment fails, it still combines the exposures using offsets 0
  . new info-layout for muse.xml and muse_exp_combine.xml
  
v1.0 (2014-12-05): P94 release
- change from LSF_TABLE to LSF_PROFILE:
  . new recipe muse_lsf to compute LSF_PROFILEs
  . options about LSF computation removed from the muse_wavecal recipe
  . obsolete recipe muse_sky_lsf removed
- handling of "attached"/"illum" flat-fields in muse_scibasic (tag ILLUM)
- new recipe muse_twilight for a 3D handling of the skyflat exposures,
  to replace the deleted muse_skyflat recipe
- consolidate save-parameters in muse_scipost (and muse_exp_combine) into a
  single one; add possibility to save sky-model products (on by default)
- corrected CR type "median" for all recipes that create output cubes
- muse_standard can now select the closest star as alternative to the brightest
  (parameter --select)
- allow multiple raw data types in muse_scibasic (i.e. OBJECT and STD at the
  same time, MPDAF #155)
- muse_standard now produces a new product, STD_FLUXES, and better smooths
  the output STD_RESPONSE curve (parameter --smooth)
- make pixel table image format the default (set MUSE_PIXTABLE_SAVE_AS_TABLE=1
  to get a normal binary FITS table again)
- save offset headers when using RA/DEC offsets for exposure sequences
- correct data to barycentric velocities in muse_scipost, on by default
- improve polynomial fit to overscans (MPDAF #276)
- propagate RON as computed by muse_bias (MPDAF #239)
- updated calibrations usable for Comm2b data
- fix inconsistent extensions of IMAGE_FOV outputs and in-cube images
- new tool muse_pixtable_erase_slice (MPDAF #238, was already in ESO's v0.18.2)
- fix bias handling and possible crashed in muse_geometry
- recipe option --merge added to basic processing recipes to allow writing a
  single pipeline product file containing all IFUs
- removed the muse_quick_image recipe and the muse_makeima tool
- new tools muse_cube_combine and muse_cube_filter
- removed tool muse_lsf_fwhm

v0.99.0: P94 Pre-release
- recipe option '--merge' added to the calibration recipes to allow
  writing a single pipeline product file containing all IFUs.
- static calibration files updated to the latest version

v0.18.2, v0.18.3, v0.18.4, v0.18.5: ESO internal and public releases
- only minor changes to core pipeline code
- changes to other components (Reflex, calibrations etc.)

v0.18.1 (2014-06-25): 2nd SV release
- properly handle overscan level differences with new bias scheme
  (reduce warnings, see MPDAF ticket #230)

v0.18.0 (2014-06-18): Pre-SV release
- use polynomial overscan fits to correct bias problems
- correct wavelength shifts using sky lines (in muse_scibasic)
- add --lambdamin/--lambdamax parameters to all recipes that read pixel tables
- move documentation about offset variables to user manual
- include documentation about the tools in the manual
- remove unused and obsolete recipes muse_focus and muse_gainron
- stop processing GAINRON_STAT files

v0.16.0 (2014-05-16): Post-Comm2a release
- changed handling of reference tables (ASTROMETRY_REFERENCE, STD_FLUX_TABLE)
  to be all in one file and search best match using RA,DEC
- improved User Manual
- new SKY_LINES list
- changed handling of position angle and parallactic angle
- fixed MPDAF tickets #192, #195, #199, #189
- renamed all useful tools to muse_* (MPDAF ticket #179)
- let the pipeline load merged calibrations
- new parameters to the muse_astrometry recipe
- improved CR rejection for data taken at POSANG=90 or 270
- somewhat improved error reporting and messages in general

v0.14.1 (2014-03-28):
- Fix the way packaging is done, so that e.g. calibrations actually install.
- Update user manual (tickets #180, #191).
- Fix muse_test_processing to pass (ticket #182).
- Fix problems regarding OUTPUT_WCS usage (ticket #187).
- Remove unconditional warning about missing sky lines input.
- Remove error about not finding objects to measure FWHM for QC, output one
  warning instead.
- Ship with python-cpl-0.6.2.

v0.14.0 (2014-03-14), post-Comm1 release:
- The code was adapted to handle on-sky data correctly, reducting INM data is
  not supported any more.
- Adapted default parameters to what's usable for the real data, hence the
  basic processing should work optimally without any parameters (except --nifu).
- The User Manual was enhanced a lot.
- Calibration files are not shipped in the mockdata directory any more, use
  the ones from the muse-calib tarball.
- A bug regarding the resampling of southern objects has been fixed.
- Some bugs in the astrometric calibration were fixed.
- Pixel tables in RA and DEC now only contain relative spatial coordinates,
  to get the real position add CRVAL1/2.
- Improve muse_geometry toward usability for all calibration sequences taken so
  far.
- Fix computation of slopes in muse_bias (QC parameters).
- Do not hang machines any more when running muse_wavecal with --lsf.
- Please ignore all warning outputs about EQUINOX!

v0.12.0 (2013-10-24), post-PAE release:
- Make running of the basic processing with --nifu=-1 (internal
  parallelization much more stable).
- Fix the computation of the initial variance of MASTER_BIAS files.
- Running basic processing with --combine=sigclip should now be much
  faster (thanks to Ralf Palsa for the ground work!).
- A problem in the FITS headers of LSF_TABLEs was solved.
- Some updates to the XML to help with data management.
- Improve error calculation for the STD_TELLURIC table.
- Further tweak pipeline outputs to provide more readable logging.
- Enhance unit testing of several modules.
- Several changes to build system (thanks again to Ralf for the work),
  backend, and in-code documentation.
- DRL Design and User Manual were updated from current pipeline, some
  additional changes were done to accomodate RIXes we received from ESO
  during the PAE process.

v0.10.0 (2013-08-13), the PAE release:
- All local patches landed to make muse_geometry work (if you know the
  right environment variables to set, see README).
- Simple handling of incoming bad pixels in the tracing process.
- esorex --man-page muse_recipe_name will now output all in/output data
  the recipe handles, together with nice descriptions.
- Remove some ancient fall backs (e.g. do not use DET.CHIP.INDEX any
  more to find the IFU number).
- A problem with FITS headers of the SKY_LINES and SKY_CONTINUUM
  products was fixed.
- Several minor changes to build system, backend, in-code documentation,
  and output messages.
- DRL Design was updated to reflect implementation, especially regarding
  sky subtraction and geometrical calibration
- The User Manual now includes a section for the muse_geometry recipe.

Changes since v0.08.00 (2013-07-09), the PAE pre-release:
- sky subtraction:
  . the MASTER_SKY file is gone, instead SKY_LINES and SKY_CONTINUUM can
    be input and are produced separately
  . sky subtraction now uses STD_RESPONSE (and STD_TELLURIC if given)
    for flux calibration instead of its own calibration
  . muse_scipost now needs a SKY_LINES file as input, unless
    --skymethod is changed to "none".
  . muse_scipost can now create the sky model, too; so muse_create_sky
    only needs to be called for a sky exposure that is separate from the
    science target field
- muse_geometry was implemented and works with AIT data, with varying
  success; some special settings are needed to adjust to the data, see
  README
- a new recipe, muse_ampl, was added to process special exposures taken
  with pico amplifier measurements in the focal plane, to estimate the
  absolute throughput of MUSE
- do not crash when exposures with all shutters closed are input to
  muse_wavecal (MPDAF ticket #104)
- some improvements to pixel grid creation (during final resampling),
  but this is still very slow for > 3 exposures
- automated testing was improved and now covers ~73% of the code (~80%
  of all backend library functions); some old bugs were found and fixed

v0.06.00 (2013-03-27):
- basic processing can now be internally parallelized using --nifu=-1
- all basic processing recipes have new options to deal with overscans,
  replacing the older environment variables
- improved sky modeling
- new sky line lists to better match INM data are included
- more robust LSF fitting
- a FITS file with WCS headers (tag OUTPUT_WCS) can be used to force the
  output cube into a particular format (with restrictions, see DRL
  Design)
- CPL v6.3 is now needed to compile the pipeline
- rename output FITS headers from "ESO PRO MUSE" to "ESO DRS MUSE"; this
  basically breaks backward compatibility for all intermediate and final
  products
- change GEOMETRY_TABLE columns from float to double (breaks backward
  compatibility)
- updated python-cpl to v0.5
- fix background display in trace_plot_samples tool
- support color cuts in the wave_plot_residuals tool
- new flux integration method using circular aperture in muse_standard
  recipe
- the internal telluric regions in muse_standard can now be overridden
  using an extra input file
- smoothing and error estimates in muse_standard were improved
- robustify pipeline against broken input data (but there are so many
  ways to produce broken data, e.g. with Python and/or MPDAF, that we
  can never guard against all defects)
- new combination parameters for muse_scibasic (only really for lab
  data)
- remove QC.FLAT.MASTER.THRUPUT from muse_flat recipe, this needs an
  extra template and recipe to work
- added QC parameters to muse_astrometry

v0.05.03 (2013-02-18):
- Fix tests to work with CPL 6.0 and 6.2. (CPL 6.1 was not tested but
  should work, anything newer than 6.2 will not be supported for
  v0.05.xx.)

v0.05.02 (2013-02-14):
- Fix the muse_astromtry recipe to work with CPL 6.2.
- The image_fwhm tool can now read inputs from FITS extensions and
  allows to set the sigma level for "object" detection.
- In the muse_wavecal recipe, do not save ARC_RED_LAMP for single-lamp
  input.
- Fix output of muse_combine_pixtables.
- The manual now contains the beginnings of a section on how to reduce
  using the Python interface.

v0.05.01 (2012-10-11):
- The pipeline can now handle data with missing INS LAMP headers (which
  I still believe to be actually a bug in the VLT software).
- Fix the bug when not using --lampwise in the muse_wavecal recipe.
- An update of the included python interface to the pipeline recipes.
- Several updates to the description files (raw.xml and the new
  calib.xml).

v0.05.00 (2012-09-14)
- The possible values of the format parameter (of e.g. muse_scipost)
  were changed (to be shorter and not contain spaces).
- Output cubes (and collapsed images) are now named without IFU number,
  i.e. now are DATACUBE_FINAL.fits and IMAGE_FOV_00XX.fits.
- Errors happening during the execution of the recipe are now
  always printed at the end.
- The line spread function can and should now be calculated from arc
  exposures (muse_wavecal).
- Sky subtraction should now work better with INM data, especially using
  the new mockdata/*inm.fits files (sky line list and throughput curve).
- Reduction of standard star data and astrometric fields is now fully
  automated and was tested with the latest INM data.
- Wavelength calibration has new parameters and can handle exposures of
  different lamps in a more reliable way.

v0.04.02 (2012-05-29):
- A fix in the script headers_to_new_ngc.py to allow it to work reliably
  with PyFITS v3.0.x.
- Limited support for 1x4 binned exposures (for AIT).
- Header keyword updates to muse_qi_mask recipe (also for AIT).
- Code, text, and images to produce the manual are now included, the
  content of the manual has not changed.

v0.04.01 (2012-03-22):
- CPL 6.0 is required. (The main reason for this release is to produce a
  MUSE pipeline that works with an official CPL release.)
- Status headers were added to the pixel table, following on an action
  item given to me in January at the Science Software kickoff.
- Empricial DAR correction does not needlessly add global shifts any
  more.
- The technical muse_qi_mask recipe now produces extra headers following
  AIT requirements.
- Note that while the user manual is now available, it is in a very
  early stage and no efforts were taken to polish its style.

v0.04.00 (2012-03-02):
- New recipe muse_skyflat.
  (Can be used to process the Twilight.fits raw file from the latest INM
  datasets.)
- Improvements to sky subtraction.
- Quite a few new QC parameters.
- An empricial correction of atmospheric refraction.
- Changed installation directories, in line with other current ESO
  pipelines.
- Can use GAINRON_STAT as input file to other basic calibration recipes.
- New schemes for cosmic ray detection, see README how to activate it.
- Fix crash when running under MuseWISE.
- Many small changes, see ChangeLog.

v0.03.00 (2011-11-08), the big step forward:
- too many changes to list them
- the code can now handle the 10-exposure Fusion dataset (of Dec. 2010) as
  well as the Pre-Dry Run 001 dataset (with the exception of sky subtraction).
- all IFU lab data can be processed without problems

v0.02.02 (2011-02-23):
- fix critical typo in tracing

v0.02.01 (2011-02-11):
- tracing works in the presence of bad columns
- use 4th order for tracing polynomial by default
- improvements to dark pixel search on master flats
- react to environment variables to handle and use overscans:
  . MUSE_OVERSCAN_SIGMA_LIMIT: set this to a high value (> 5) to
    override the discrepancy test of the overscan levels that cause the
    pipeline to stop in case of varying bias levels
  . MUSE_OVERSCAN_OFFSET_LEVEL: set this to 1 to use the overscan to
    offset the bias level
- instrumental R in muse_wavecal now gives correct numbers
- new QC parameters QC.WAVECAL.SLICEi.DWLEN.{BOTTOM,TOP}
- fix bug running with CPL 5.0.1

v0.02.00 (2013-08-06):
- Functional sky subtraction (muse_create_sky recipe).
- Optimized tracing for better reconstructed images.
- Use a GEOMETRY_TABLE when constructing the pixel table. (Use
  mockdata/geometry_table.fits in the source tarball.)
- Convert all data values from raw counts to electrons after subtracting
  the bias. (Use the MUSE_GAINn environment variables in case the GAIN
  value in the FITS headers is wrong, see README.)
- Cosmic ray rejection.
- Search for bad (dark) pixels on the master flat frames.
- Overscan statistics and checks.
- Use .fits for all files (before .tfits was used for tables).
- Optional saving of output cube in Euro3D format.
- Addition of the muse_quick_image recipe based on Arlette's instrument
  software code.
- Improved memory efficiency during resampling to cube.
- Improved in-code documentation and documentation generation.
- For testing purposes some extra recipes (split off from muse_scipost)
  were added as well as a Python interface. These are unsupported.
- The muse_focus recipe and a Python tool that are used for AIT are now
  included. (They are not used in the scientific part of the pipeline.)
- Removed all mock data and the cosmic ray library from the source tree
  as we now use INM and lab data for testing.

v0.01.01 (2010-04-26):
- Removal of the optimize test program that gave problems on some
  machines.
- Add possibility to carry out flux calibration (with a pre-existing
  or hand-crafted STD_RESPONSE) file.

v0.01 (2010-03-17):
- Much improved datacube creation, including bad pixels and variance
  extensions.
- Addition of a rudimentary muse_scipost recipe to easily create a final
  datacube.
- Creation of reconstructed images using some standard filter functions.
- Fix slice positions within the field of view.
- Improved arc line detection and matching, and hence better wavelength
  calibration, especially when processing HgCd+Ne+Xe exposures together.
- Bad column search in bias files and better bad pixel search in darks.
- Check for saturation.
- musept_dump program to display pixel tables.

v0.00.10 (2009-10-30)

v0.00.09 (2009-05-08)
