eclipse latest new features |
From version 3.8 to version 4.0
The eclipse installation procedure has changed! To compile eclipse, you need now to invoke a 'configure' script. See the file eclipse/INSTALL for more details.
Two environment variables have disappeared from the eclipse setup, due to a better memory-handling module. You can forget about E_MAXMEM and E_MAXSWAP, these values are now dynamically determined by the library at run-time.
If you are using bash/sh/ksh as your login shell, e_setup will recognize it and generate a compatible initialization file. Support is provided for csh/tcsh as before.
If you are using a BSD flavour of Unix, eclipse now compiles natively on your platform.
A large renaming occurred in the library to bring all function names to a common naming scheme. This new naming scheme should hopefully make life easier for C programmers, mainly to locate the functions they need among the great number offered by the library.
The extended memory allocator has been rewritten. The new module is faster, smaller, cleaner, and works without assumptions about the maximum allocatable amount of memory. This should basically enable any eclipse program to always be able to allocate memory, no matter what is locally available.
The qfits library inside eclipse has received a lot of attention lately, mostly to enhance its poor performance with large FITS files containing many extensions. A caching mechanism is now boosting up header requests, with no additional work for the programmer.
eclipse is now distributed under the BSD license instead of the GNU general public license (GPL). This change in license makes it easier to re-use eclipse code in various places, especially for commercial users. You are allowed to do pretty much whatever you want with the eclipse source code, provided you keep a copyright notice with your distribution and do not pretend you wrote the code yourself. This is less restricted than the GPL.
The organization of sub-directories in eclipse has been modified (as usual for every new release :-) to accomodate new functionalities and new instruments.
A number of small bugs have been corrected in the eclipse/main commands. Things like mis-handling of command-line parameters, options behaving incorrectly or un-documented switches. There are still more to go, but at least all reported errors have been so far corrected.
The 'collapse' command now has an option to 'uncollapse' an image, i.e. transform a 1D FITS file into a 2D FITS file. It also has a new option to dump the results of the collapse process to a 1D FITS file instead of a pure ASCII file.
Not really new, this was introduced in the 3.9 series. The 'dfits' command now accepts a -x option indicating the extension number to be dumped to stdout. Extension -1 means "all extensions in the file".
This change is meant to save us some hassle of typing with caps lock on. Simple but efficient!
This command computes the histogram of a given image and outputs its results to a FITS file, or plots it using gnuplot if this command is installed on your system.
To generate a set of test images for the jitter command, you should now use 'imgen' instead of using 'jitter' itself. See the -j/--jitter option.
The computing of the median value is now always performed by 'stcube'. This might slow down the command a bit, but the performance is still acceptable. The output of 'stcube' has also been made hopefully better aligned in most cases.
All ISAAC recipes have been merged into a single executable called 'isaacp' (for ISAAC Pipeline). This is meant to ease the distribution and maintenance of the ISAAC pipeline as a whole. Notice that there are still two recipes excluded from this merge: 'jitter' and 'lwjitter'.
You will notice that there are no manual pages any more for the ISAAC recipes. They have been directly integrated within the 'isaacp' command and available by typing:
% isaacp man 'recipe'
This should hopefully avoid a number of problems in locating manual pages for ISAAC recipes. All is now contained in a single executable file.
The 'is_rename' recipe is meant to make life easier for users dealing with lots of pipeline products (Garching operations requested this tool). It renames all pipeline products using a standard naming convention, making it easier to recognize file types by simply looking at their names.
This command also offers renaming to the original file name (ORIGFILE) or the archive file name (ARCFILE).
The infrared standard star database included in the library now sorts out stars by catalog name, which allows to browse by catalog to optimize the search for suitable standard stars. Some new stars have been added, bringing the total number of infrared standards to 924.
A number of bug fixes has occurred in the code. Some of these bugs have been reported and corrected, some have been detected by code review sessions and corrected before having the opportunity to show up!
A number of small algorithmic changes have been brought to the recipes, in agreement with the ISAAC instrument scientist.
A number of recipes now compute QC1 parameters for logging and later trend analysis. This is still ongoing and not expected to be complete before a couple of months.
This package is still under development and is not officially supported yet. Use at your own risk!
This is an experimental package used on the ESO Beowulf system to produce master calibration files for WFI. The recipes might be of interest for people trying to automate large numbers of WFI reductions (typically survey projects). There is currently (almost) no documentation for these recipes, so use at your own risk!
eclipse now offers access to a number of C functions present in the library to Python programmers! The bindings have been generated by SWIG and compiled into a dynamic C library, so that it is possible to call the functions from Python with a simple:
import eclipse
An interface file is offered, called eclipse.py. It defines a number of high-level classes with attached methods, all bound to eclipse routines.
Unfortunately, this package is still partly documented. Expect some more during the next months.
A number of C functions have also been linked to a Lua interpreter, to allow programming of "little pipelines", i.e. data reduction recipes which can be described in a few operations.