sinfoni_objspider_config.c

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 }

Generated on Wed Oct 26 13:08:55 2005 for SINFONI Pipeline Reference Manual by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001