const char isaac_wavecal_version[] = "$Revision: 1.3 $"; const char isaac_wavecal_date[]="$Date: 2001/07/31 07:26:34 $"; int isaac_wavecal_main(void * dict); cmdline_spec isaac_wavecal_cmd[] = { {'b', "border", "Declare invalid image borders", 1, "low high"}, {'z', "zero", "Declare region to ignore on each side", 1, "left right"}, {'T', "thermal", "Remove thermal background", 0, NULL}, {'t', "table", "Name of spectral table to use", 1, "name"}, {'w', "wave", "Force input wavelength range", 1, "min max"}, {'h', "header", "Modify input file header", 0, NULL}, {0, 0, 0, 0, 0} }; const char isaac_wavecal_man[]= "\n" "NAME\n" "\twavecal - ISAAC wavelength calibration\n" "\n" "SYNOPSIS\n" "\tisaacp wavecal [options] in\n" "\n" "DESCRIPTION\n" "\twavecal is a recipe performing an initial wavelength\n" "\tcalibration on ISAAC spectroscopic frames. This tool is\n" "\tactually giving access to the wavelength calibration tools\n" "\tavailable within eclipse. It is not used in itself in the\n" "\tISAAC pipeline but the very same functionalities are present\n" "\tin spectroscopic recipes. You can use wavecal to get an\n" "\tinitial estimate of the wavelength calibration for a given\n" "\tframe.\n" "\n" "ALGORITHM\n" "\tThe recipe first collapses the input image orthogonally to\n" "\tthe spectrum direction to obtain a 1-d signal. The\n" "\tcollapsing is resistant to noise and bad pixels in the input\n" "\timage. In particular, image borders are often too noisy to\n" "\tbe taken into account, this can be set precisely using the\n" "\t-b/--border option.\n" "\n" "\tAn initial estimate of the input wavelength range is then\n" "\tcomputed using an instrument model for ISAAC (see\n" "\tisaac_cal). If you have a better estimate for the initial\n" "\twavelength range, you can provide it using the -w/--wave\n" "\toption, providing wavelengths in Angstroems.\n" "\n" "\tThis range is used to locate candidate lines in a catalog.\n" "\tThe used catalog can either be automatically set or forced\n" "\tto a given value with the -t/--table option. In this version\n" "\tthe following catalogs are known to\n" "\tthis command:\n" "\n" "\tauto find automatically which table to use\n" "\toh use OH lines\n" "\tXe use Xenon table\n" "\tAr use Argon table\n" "\tXe+Ar use Xenon+Argon table\n" "\n" "\tA 1-d cross-correlation is then computed between the catalog\n" "\tand the input 1-d signal. The correlation result is required\n" "\tto be above a certain level for the recipe to declare it a\n" "\tsolution. A number of issues are to consider before\n" "\tperforming this cross-correlation:\n" "\n" "\tIf you know that some parts of the input spectrum are noisy\n" "\tor strong defects of the detector, you can specify the\n" "\tamount of pixels on each side of the spectrum to ignore for\n" "\tcorrelation using the -z/--zero option. If for example the\n" "\tfirst 128 pixels on the left side of the spectrum are\n" "\tpolluted, you would called the command using -z '128 0'.\n" "\tOf course, if there is less signal to correlate the\n" "\tprecision of the solution is decreased accordingly. \n" "\n" "\tA strong perturbation in Ks is the thermal background. Using\n" "\tthe -T/--thermal option, you can activate an algorithm that\n" "\twill try to remove thermal background contributions by\n" "\tsubtracting a low-pass filtered spectrum. This is not\n" "\tautomatically activated by this recipe. The background\n" "\tremoval is not yet perfect, it might still produce artefacts\n" "\tand make the calibration converge towards a false solution.\n" "\n" "\tThe result of this recipe is a simple console printout of\n" "\tthe solution. No output file will be produced. If you want\n" "\tto archive the solution, you can activate the -h/--header\n" "\toption to store the results into your image FITS header, for\n" "\tfurther refinement within e.g. IRAF.\n" "\n" "OPTIONS\n" "\t-b or --border 'low high'\n" "\t\tDeclare invalid image borders for the collapsing.\n" "\t\tThe borders in this case are pixels located around\n" "\t\tthe spectrum and parallel to it. Example: for a\n" "\t\thorizontal spectrum, borders refer to the pixels\n" "\t\tabove and below the spectrum. Default is 80,80.\n" "\n" "\t-z or --zero 'left right'\n" "\t\tDeclare parts of the spectrum that should not\n" "\t\tbe used for cross-correlation. This time, these\n" "\t\tare pixels belonging to the collapsed spectrum.\n" "\t\tDefault is to discard no pixel: 0,0.\n" "\n" "\t-T or --thermal\n" "\t\tThis flag activates thermal background subtraction.\n" "\t\tYou will have no choice in Ks but activate it, if\n" "\t\tyou want to have a reasonable solution.\n" "\n" "\t-t or --table name\n" "\t\tThis option forces the use of a given spectroscopic\n" "\t\tline table. Possible names are:\n" "\n" "\t\tauto find automatically which table to use\n" "\t\toh use OH lines\n" "\t\tXe use Xenon table\n" "\t\tAr use Argon table\n" "\t\tXe+Ar use Xenon+Argon table\n" "\n" "\t-w or --wave 'min max'\n" "\t\tDeclare an initial range for line localization in\n" "\t\tthe spectroscopic table. Provide values in\n" "\t\tAngstroems. Without this option, an intial estimate\n" "\t\tis computed using a physical model of the instrument.\n" "\n" "\t-h or --header\n" "\t\tDump the results into the appropriate FITS header\n" "\t\tkeywords of the input file for further refinement\n" "\t\twith e.g. IRAF. The input file must be modifiable\n" "\t\tto do that.\n" "\n" "\n" "\n\n";