The SNIFS instrument is a lenslet-based integral field spectrograph developped at CRAL-Observatoire de Lyon, with an optical concept very similar to the one used in the previous 3D spectrographs TIGER (Bacon et al.,
1995A&AS..113..347B), OASIS (e.g. Bacon et al.,
2001A&A...371..409B) and SAURON (Bacon et al.,
As a consequence, the SNURP implements reduction algorithms very similar to the SAURON ones (see e.g. Copin, PhD). Once the CCD frames have been properly preprocessed (e.g. with E. Gangler's project
Ccd), the main steps are:
Ccdpackage is supposed to remove the detector signature from the CCD frames, the SNURP take cares of the data reduction up to the fully calibrated (including flux) datacube, i.e. removes all the SNIFS instrumental signatures. It is then ready to be used as input to other pieces of analysis softwares (e.g. supernova/galaxy separation and analysis), which are not part of the SNURP.
focus_spectro(06/07/04): The computation of the spectral resolution in previous versions was wrong by a factor sqrt(2). The nominal values for the SNIFS spectrographs are now ~0.90 px for the blue channel, and ~1.10 px for the red one.
Snifs-0-4(23/08/04): Secon-generation masks
Snifs-0-3(31/03/04): This is a bugfix release to comply with gcc 2.9x compilers (
create_mask.c) Warning: There's a bug in the wavelength-calibration procedures (wcalib/wrebin)...
Snifs-0-2(26/03/04): Include optimal extraction.
Snifs-0-1: Raw extraction.
setcvs.plscript (http://supernova.in2p3.fr/doc/ccin2p3/help_user/cvs_1.html.en), but you need special privileges to commit it back.
IFU_C_iolibs(providing an 3D-oriented I/O library, see The IFU/Euro3D-LCL libraries) and the
IFU_C_mathlibs(including the GNU Scientific Library, http://sources.redhat.com/gsl/). Both are downloadable from the main CVS repository (https://cvs.in2p3.fr/snovae-IFU/). Please read the specific documentation for installation and setup procedures.
Snifs-xxx/directory (hereafter called
TOPDIR), you can proceed with the compilation. The project is built upon
autoconf, so that it should be pretty portable.
The first command to issue in
configure script accepts some non-standard options:
--with-dislin=DIR prefix to DISLIN graphical library (use \$DISLIN) --enable-debug[=format] debug mode compilation (e.g. stabs+) --enable-profile profiling mode compilation (gprof) --enable-verbose mega-verbose mode compilation --with-optim=level optimized compilation (level=1,2,3)
$DISLINset to the proper path), you can compile the SNIFS project with the DISLIN support. The graphical output devices are then the ones defined by DISLIN:
PNG, etc. Beware that most of the time, the output graphical file has a generic name, e.g.
dislin.pdf. Up to you to rename it if needed.
-g). Note that the DWARF debug information generated by
gcc3.x (at least up to 3.3.2) is flaky. As a way-out, you can specify your own debugging information format (e.g.
|-h|help||Print-out a complete list of possible options (specific and standard)|
|-version||Print-out version (|
|-debug||Run the program in DEBUG mode, i.e. with a higher level of verbosity and/or intermediate steps. The standard and error outputs are also copied in a |
|-quiet||Run the level with a minimum level of verbosity|
|-noask||Don't ask confirmation for overwriting existing files|
|-outputformat||Specify input/output format, overring the default format set by the environment variable |
|-tk||Arrange standard output to be used by the GUI.|
doxygenprogram is recent enough (check out the
./configureoutput), a voluminous cross-referenced manual is produced in the
Doc/directory of the
TOPDIR, both in LaTeX/PDF (
latex/refman.pdf) and in plain HTML (
Furthermore, for the
emacs addicts, a
TAGS file is produced for the project, including info from the two IFU libraries, providing you have Exuberant ctags (http://ctags.sourceforge.net).
Some extra info (on-line documentation, metrics, sample files, etc.) is available at http://snfactory.in2p3.fr/soft/snifs/
Here are some tools that could be useful to help you to debug the code:
valgrind --leak-check=yes [--show-reachable=yes] executable -usual-args
--skin=addrcheck(don't test for uninitialized memory)
You can also add some Valgrind macros to the code. E.g. to check if the particular variable
xsup is defined at a given point, include
memcheck.h and use the macro
VALGRIND_CHECK_DEFINED(xsup); where Valgrind thinks there is a problem.
efencelibrary, thanks to the
LD_PRELOADenvironment variable. Use the
efscript provided along with the
efencelibrary, or just set
LD_PRELOAD=libefence.so.0.0before lauching your executable.
2004AN....325..163P) is the official Euro3D I/O library, implementing the Euro3D data format (Kissler-Patig et al.,
2004AN....325..159K) and offering a variety of tools for efficient and portable programming (option parsing, session handling, standard and error I/O, etc.). It is based on the so-called IFU library, developped over the years at the CRAL-Observatoire de Lyon (hence the LCL name, for `Lyon C Library') by the TIGER team, and mainly by Arlette Rousset-Pecontal, and heavily used and tested in various integral field spectrography projects (TIGRE, OASIS, SAURON).
The latest stable release of the library can be found on the `Official' Euro3D-LCL I/O library webpage, while the latest (unsupported, potentially unstable) release can be found on the Lyon Euro3D-LCL website. If you are new in the Euro3D/IFU programmation, this page also provides: