00001 /* $Id: sinfoni_objspider_config.c,v 1.13 2005/07/09 14:51:22 amodigli Exp $
00002 *
00003 * This file is part of the CPL (Common Pipeline Library)
00004 * Copyright (C) 2002 European Southern Observatory
00005 *
00006 * This library is free software; you can redistribute it and/or
00007 * modify it under the terms of the GNU Lesser General Public
00008 * License as published by the Free Software Foundation; either
00009 * version 2.1 of the License, or (at your option) any later version.
00010 *
00011 * This library is distributed in the hope that it will be useful,
00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00014 * Lesser General Public License for more details.
00015 *
00016 * You should have received a copy of the GNU Lesser General Public
00017 * License along with this library; if not, write to the Free Software
00018 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
00019 */
00020 /*
00021 * $Author: amodigli $
00022 * $Date: 2005/07/09 14:51:22 $
00023 * $Revision: 1.13 $
00024 * $Name: $
00025 */
00026
00027 /****************************************************************
00028 * Objspider Frames Data Reduction Parameter Initialization *
00029 ****************************************************************/
00030
00031 #include "sinfoni_objspider_config.h"
00032
00033
00034 void
00035 sinfoni_objspider_config_add(cpl_parameterlist *list)
00036 {
00037
00038 cpl_parameter *p;
00039
00040 if (!list) {
00041 return;
00042 }
00043
00044
00045 /* Input file name */
00046 /* Output file name */
00047 /* output name of resulting fits wavelength map */
00048 p = cpl_parameter_new_value("sinfoni.objspider.out_filename",
00049 CPL_TYPE_STRING,
00050 "Output File Name: ",
00051 "sinfoni.objspider",
00052 SKYSPIDER_OUT_FILENAME);
00053
00054
00055 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"out-skyspider_filename");
00056 cpl_parameterlist_append(list, p);
00057
00058
00059 /*Resampling */
00060 /* number of coefficients for the polynomial interpolation */
00061 p = cpl_parameter_new_value("sinfoni.objspider.n_coeffs",
00062 CPL_TYPE_INT,
00063 "number of coefficients for the polynomial "
00064 "interpolation ",
00065 "sinfoni.objspider",
00066 3);
00067
00068 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"objspider-no-coeffs");
00069 cpl_parameterlist_append(list, p);
00070
00071
00072 /* Calibration */
00073 /* indicates if the halogen lamp features from flatfielding should be
00074 corrected for or not */
00075 /*
00076 p = cpl_parameter_new_value("sinfoni.objspider.halo_correct_index",
00077 CPL_TYPE_BOOL,
00078 "Halo Correct Index: "
00079 "indicates if the halogen lamp features from "
00080 "flatfielding should be corrected for (TRUE) "
00081 "or not (FALSE)",
00082 "sinfoni.objspider",
00083 FALSE);
00084
00085 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"objspider-halo-corr-ind");
00086 cpl_parameterlist_append(list, p);
00087 */
00088
00089
00090 /* Cube Creation */
00091 /*indicates if the slitlet distances are determined by a north-south-test
00092 (yes) or slitlet edge fits (no)
00093 */
00094 p = cpl_parameter_new_value("sinfoni.objspider.nord_south_index",
00095 CPL_TYPE_BOOL,
00096 "Nord South Index Switch: "
00097 "indicates if the slitlet distances are "
00098 "determined by a north-south-test (TRUE) "
00099 "or slitlet edge fits (FALSE)",
00100 "sinfoni.objspider",
00101 TRUE);
00102
00103
00104 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"objspider-ns-ind");
00105 cpl_parameterlist_append(list, p);
00106
00107 p = cpl_parameter_new_value("sinfoni.objspider.slitlets_position_list",
00108 CPL_TYPE_STRING,
00109 "Slitlets positions filename: "
00110 "list of the fitted slitlet edge positions "
00111 "or the distances of the slitlets",
00112 "sinfoni.objspider",
00113 "distances.tfits");
00114
00115
00116 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"objspider-pos-list");
00117 cpl_parameterlist_append(list, p);
00118
00119 /* number of slitlets (32) */
00120 p = cpl_parameter_new_value("sinfoni.objspider.nslits",
00121 CPL_TYPE_INT,
00122 "Number of slitlets: ",
00123 "sinfoni.objspider",
00124 32);
00125
00126 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"objspider-pos-nslits");
00127 cpl_parameterlist_append(list, p);
00128
00129 /* Fine tuning */
00130 /* Method */
00131
00132 p = cpl_parameter_new_enum("sinfoni.objspider.fine_tuning_method",
00133 CPL_TYPE_STRING,
00134 "Fine Tuning Method: "
00135 "indicator for the shifting method to use "
00136 "(P: polynomial interpolation, "
00137 " F: FFT, "
00138 " S: cubic spline interpolation)",
00139 "sinfoni.objspider",
00140 "P",
00141 3,"P","F","S");
00142
00143 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"objspider-fine-tune-mtd");
00144 cpl_parameterlist_append(list, p);
00145
00146 p = cpl_parameter_new_value("sinfoni.objspider.order",
00147 CPL_TYPE_INT,
00148 "Fine Tuning polynomial order: "
00149 "order of the polynomial if the polynomial "
00150 "interpolation shifting method is used.",
00151 "sinfoni.objspider",
00152 2);
00153
00154 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"objspider-order");
00155 cpl_parameterlist_append(list, p);
00156
00157 /* Sky Extraction */
00158 /*Reconstruction */
00159 /* the fraction [0...1] of rejected low intensity pixels when taking
00160 the average of columns */
00161 p = cpl_parameter_new_value("sinfoni.objspider.lower_rejection",
00162 CPL_TYPE_DOUBLE,
00163 "lower rejection: "
00164 "percentage of rejected low value pixels "
00165 "for averaging the sky spectra",
00166 "sinfoni.objspider",
00167 10.);
00168
00169 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"objspider-lo-rejection");
00170 cpl_parameterlist_append(list, p);
00171
00172 /* the fraction [0...1] of rejected high intensity pixels when taking
00173 the average of columns */
00174 p = cpl_parameter_new_value("sinfoni.objspider.higher_rejection",
00175 CPL_TYPE_DOUBLE,
00176 "higher rejection: "
00177 "percentage of rejected high value pixels "
00178 "for averaging the sky spectra",
00179 "sinfoni.objspider",
00180 10.);
00181
00182 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"objspider-hi-rejection");
00183 cpl_parameterlist_append(list, p);
00184
00185 /* pixel tolerance, this distance tolerance to the diagonal dividing
00186 line is not considered for the sky extraction to be sure to have a clean
00187 sky due to positioning tolerance and crossing through pixels
00188 */
00189
00190 p = cpl_parameter_new_value("sinfoni.objspider.tolerance",
00191 CPL_TYPE_INT,
00192 "Tolerance: "
00193 "pixel tolerance, this distance tolerance to "
00194 "the diagonal dividing line is not considered "
00195 "for the sky extraction to be sure to have a "
00196 "clean sky due to positioning tolerance and "
00197 "crossing through pixels",
00198 "sinfoni.objspider",
00199 2);
00200
00201 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"objspider-tol");
00202 cpl_parameterlist_append(list, p);
00203
00204 /* Jittering */
00205 /* jitter mode indicator: yes: Auto-Jitter, no: user defined jitter
00206 The next three parameters are only used if jitterInd is set to yes,
00207 that means in auto-jittering mode!
00208 */
00209
00210 p = cpl_parameter_new_value("sinfoni.objspider.jitter_index",
00211 CPL_TYPE_BOOL,
00212 "Jitter Index: "
00213 "jitter mode indicator: "
00214 "TRUE: Auto-Jitter, "
00215 "FALSE: user defined jitter"
00216 "The size_x size_y kernel_type parameters "
00217 "are only used if jitterInd is set to yes, "
00218 "that means in auto-jittering mode!",
00219 "sinfoni.objspider",
00220 FALSE);
00221
00222 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"objspider-jit-ind");
00223 cpl_parameterlist_append(list, p);
00224 /*x-pixel size of the final combined data cube, must lie between 64 and 128 */
00225
00226 p = cpl_parameter_new_value("sinfoni.objspider.size_x",
00227 CPL_TYPE_INT,
00228 "Cube x size: "
00229 "x-pixel size of the final combined data cube,"
00230 "must lie between 64 and 128. If 0 automatic setting.",
00231 "sinfoni.objspider",
00232 0);
00233
00234 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"objspider-size-x");
00235 cpl_parameterlist_append(list, p);
00236 /*y-pixel size of the final combined data cube, must lie between 64 and 128 */
00237
00238 p = cpl_parameter_new_value("sinfoni.objspider.size_y",
00239 CPL_TYPE_INT,
00240 "Cube y size: "
00241 "y-pixel size of the final combined data cube,"
00242 "must lie between 64 and 128. If 0 automatic setting.",
00243 "sinfoni.objspider",
00244 0);
00245
00246 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"objspider-size-y");
00247 cpl_parameterlist_append(list, p);
00248
00249 /* Kernel Type */
00250 /* the name of the interpolation kernel to shift the single cubes to the
00251 correct places inside the big combined cube. That you want to generate
00252 using the eclipse routine generate_interpolation_kernel()
00253 Supported kernels are:
00254
00255 NULL: default kernel, currently tanh
00256 default: dito
00257 tanh: Hyperbolic tangent
00258 sinc2: Square sinc
00259 lanczos: Lanczos2 kernel
00260 hamming: Hamming kernel
00261 hann: Hann kernel
00262 */
00263 p = cpl_parameter_new_enum("sinfoni.objspider.kernel_type",
00264 CPL_TYPE_STRING,
00265 "Kernel Type:"
00266 "the name of the interpolation kernel to shift "
00267 "the single cubes to the correct places inside "
00268 "the big combined cube",
00269 "sinfoni.objspider",
00270 "tanh",
00271 6,"NULL","default","tanh","sinc2","lanczos","hamming","hann");
00272
00273 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"objspider-kernel-typ");
00274 cpl_parameterlist_append(list, p);
00275
00276 /* name of the final mask data cube, pixel value 0 if no data available,
00277 sum of exposure times in the overlapping regions
00278 */
00279
00280 p = cpl_parameter_new_value("sinfoni.objspider.mask_name",
00281 CPL_TYPE_STRING,
00282 "Mask Name: "
00283 "name of the final mask data cube, "
00284 "pixel value 0 if no data available,"
00285 "sum of exposure times in the overlapping "
00286 "regions ",
00287 "sinfoni.objspider",
00288 SKYSPIDER_MASK_OUT_FILENAME);
00289
00290 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,"objspider-mask");
00291 cpl_parameterlist_append(list, p);
00292
00293 }
1.2.13.1 written by Dimitri van Heesch,
© 1997-2001