00001 /* 00002 * Copyright (c) 1999-2003 Bert Kampes 00003 * Copyright (c) 1999-2003 Delft University of Technology, The Netherlands 00004 * 00005 * This file is part of Doris, the Delft o-o radar interferometric software. 00006 * 00007 * Doris program is free software; you can redistribute it and/or modify 00008 * it under the terms of the GNU General Public License as published by 00009 * the Free Software Foundation; either version 2 of the License, or 00010 * (at your option) any later version. 00011 * 00012 * Doris is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 * GNU General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU General Public License 00018 * along with this program; if not, write to the Free Software 00019 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00020 * 00021 * Publications that contain results produced by the Doris software should 00022 * contain an acknowledgment. (For example: The interferometric processing 00023 * was performed using the freely available Doris software package developed 00024 * by the Delft Institute for Earth-Oriented Space Research (DEOS), Delft 00025 * University of Technology, or include a reference to: Bert Kampes and 00026 * Stefania Usai. \"Doris: The Delft Object-oriented Radar Interferometric 00027 * software.\" In: proceedings 2nd ITC ORS symposium, August 1999. (cdrom)). 00028 * 00029 */ 00030 /**************************************************************** 00031 * $Source: /users/kampes/DEVELOP/DORIS/doris/src/RCS/readinput.hh,v $ 00032 * $Revision: 3.21 $ 00033 * $Date: 2005/04/16 07:03:52 $ 00034 * $Author: kampes $ 00035 * 00036 * Some constants for switching processing steps 00037 * Structs where input parameters are stored 00038 * Definition of readinput function. 00039 ****************************************************************/ 00040 00041 00042 #ifndef READINPUT_H 00043 #define READINPUT_H 00044 00045 #include "constants.hh" // typedefs 00046 // ______ only declare here ______ 00047 //template <class Type> class matrix; 00048 #include "matrixbk.hh" // my matrix class 00049 00050 00051 00052 //____RaffaeleNutricato START MODIFICATION SECTION 1 00053 // ______index for: input_gen: process[NUMPROCESSES] (arbitrary index)______ 00054 const int16 00055 pr_m_readfiles = 0, // flag for reading leader etc master 00056 pr_m_crop = 1, // write slc data to raster format 00057 pr_m_oversample = 2, // oversample master image //____RaffaeleNutricato added this line 00058 pr_m_porbits = 3, // calling getorb master 00059 pr_m_filtazi = 4, // azimuth filtering master 00060 pr_m_filtrange = 5, // range filtering master 00061 pr_m_EXTRA = 6, // for future use 00062 00063 pr_s_readfiles = 7, // flag for reading leader etc slave 00064 pr_s_crop = 8, // writing to raw slave 00065 pr_s_oversample = 9, // oversample slave image //____RaffaeleNutricato added this line 00066 pr_s_porbits = 10, // calling getorb slave 00067 pr_s_filtazi = 11, // azimuth filtering slave 00068 pr_s_filtrange = 12, // range filtering slave 00069 pr_s_resample = 13, // resample slave, actually at slave. 00070 pr_s_EXTRA = 14, // for future use 00071 00072 pr_i_coarse = 15, // coarse coregistration: orbits 00073 pr_i_coarse2 = 16, // coarse coregistration: correlation 00074 pr_i_fine = 17, // fine coregistration 00075 pr_i_coregpm = 18, // compute parameters coregistration 00076 pr_i_interfero = 19, // computation of interferogram 00077 pr_i_coherence = 20, // computation of coherence image 00078 pr_i_comprefpha = 21, // ref.phase (flat earth) 00079 pr_i_subtrrefpha = 22, // interferogram - refpha 00080 pr_i_comprefdem = 23, // ref.phase (flat earth) 00081 pr_i_subtrrefdem = 24, // interferogram - refpha 00082 pr_i_filtphase = 25, // filtering interferogram 00083 pr_i_unwrap = 26, // unwrapping interferogram 00084 pr_i_slant2h = 27, // slant to height conversion 00085 pr_i_geocoding = 28, // geocoding 00086 pr_i_dinsar = 29, // 3 pass differential 00087 pr_i_EXTRA2 = 30, // for future use 00088 pr_last_one = 31; // not used; to indicate last one (==NUMPROCESSES-1) 00089 const int16 NUMPROCESSES = pr_last_one+1; // see above... 00090 //____RaffaeleNutricato END MODIFICATION SECTION 1 00091 00092 // ====== global processcontrol array ====== 00093 // BK should be one word (no spaces) 00094 // usage: resfile << "\n*_Start_" << processcontrol[pr_i_interfero] 00095 // usage: resfile << "\n* End_" << processcontrol[pr_i_coarse] << "_NORMAL" 00096 00097 //____RaffaeleNutricato START MODIFICATION SECTION 2 00098 const char processcontrol[NUMPROCESSES][ONE27] = { 00099 "readfiles:", // 0 pr_m_readfiles 00100 "crop:", // 1 pr_m_crop 00101 "oversample:", // 2 pr_m_oversample //____RaffaeleNutricato added this line 00102 "precise_orbits:", // 3 pr_m_porbits 00103 "filt_azi:", // 4 pr_m_filtazi 00104 "filt_range:", // 5 pr_m_filtrange 00105 "NOT_USED:", // 6 pr_m_EXTRA 00106 00107 "readfiles:", // 7 pr_s_readfiles 00108 "crop:", // 8 pr_s_crop 00109 "oversample:", // 9 pr_s_oversample //____RaffaeleNutricato added this line 00110 "precise_orbits:", // 10 pr_s_porbits 00111 "filt_azi:", // 11 pr_s_filtazi: must be same as m_ 00112 "filt_range:", // 12 pr_s_filtrange 00113 "resample:", // 13 pr_s_resample !slave 00114 "NOT_USED:", // 14 pr_s_EXTRA 00115 00116 "coarse_orbits:", // 15 pr_i_coarse 00117 "coarse_correl:", // 16 pr_i_coarse2 00118 "fine_coreg:", // 17 pr_i_fine 00119 "comp_coregpm:", // 18 pr_i_coregpm 00120 "interfero:", // 19 pr_i_interfero 00121 "coherence:", // 20 pr_i_coherence 00122 "comp_refphase:", // 21 pr_i_comprefpha 00123 "subtr_refphase:", // 22 pr_i_subtrrefpha 00124 "comp_refdem:", // 23 pr_i_comprefdem 00125 "subtr_refdem:", // 24 pr_i_subtrrefdem 00126 "filtphase:", // 25 pr_i_filtphase 00127 "unwrap:", // 26 pr_i_unwrap 00128 "slant2h:", // 27 pr_i_slant2h 00129 "geocoding:", // 28 pr_i_geocoding 00130 "dinsar:", // 29 pr_i_EXTRA 00131 "NOT_USED2:", // 30 pr_i_EXTRA2 00132 "ERROR update this!"}; // 31 pr_last_one 00133 00134 // strcpy(processcontrol[pr_m_readfiles],"readfiles:"); 00135 // strcpy(processcontrol[pr_m_crop] , "crop:"); 00136 //____RaffaeleNutricato END MODIFICATION SECTION 2 00137 00138 00139 00140 00141 // ====== Constants, variables ====== 00142 // ======Method selectors====== 00143 //const int16 readfiles_ers = 151; // method for readfiles 00144 //const int16 readfiles_asar = 152; // method for readfiles 00145 const int16 cc_magfft = 21; // method for coarse corr. coreg 00146 const int16 cc_magspace = 22; // method for coarse corr. coreg 00147 00148 const int16 fc_cmplxfft = 31; // method for fine coreg 00149 const int16 fc_cmplxspace = 32; // method for fine coreg 00150 const int16 fc_magfft = 33; // method for fine coreg 00151 const int16 fc_magspace = 34; // method for fine coreg 00152 const int16 fc_oversample = 35; // method oversample signal,not corr. 00153 00154 const int16 fe_porbits = 41; // method for flat earth correction 00155 const int16 fe_method2 = 42; // method for flat earth correction 00156 00157 const int16 rs_rect = 102; // nearest neighbor, 1 or 2 points 00158 const int16 rs_tri = 202; // piecewize linear, 2 point 00159 const int16 rs_cc4p = 304; // cubic convolution, 4 point 00160 const int16 rs_cc6p = 306; // cubic convolution, 6 point 00161 const int16 rs_ts6p = 406; // truncated sinc, 6 point 00162 const int16 rs_ts8p = 408; // truncated sinc, 8 point 00163 const int16 rs_ts16p = 416; // truncated sinc, 16 point 00164 const int16 rs_knab4p = 504; // knab window, 4 point 00165 const int16 rs_knab6p = 506; // knab window, 6 point 00166 const int16 rs_knab8p = 508; // knab window, 8 point 00167 const int16 rs_knab10p = 510; // knab window, 10 point 00168 const int16 rs_knab16p = 516; // knab window, 12 point 00169 00170 const int16 int_oldmethod = 91; // method no overs. interf. gen. 00171 const int16 int_oversample = 92; // method oversample for int. computation 00172 const int16 coh_oldmethod = 101; // method no overs. interf. gen. 00173 const int16 coh_newmethod = 102; // method oversample for int. computation 00174 00175 const int16 fp_goldstein = 81; // method goldstein 00176 const int16 fp_spatialconv = 82; // method spatial conv. with kernel 00177 const int16 fp_spectral = 83; // method spectral kernel 00178 00179 const int16 uw_method1 = 51; // TREEF (delft only) 00180 const int16 uw_method2 = 52; // SNAPHU Curtis Cheng 00181 const int16 uw_method3 = 53; // method for unwrapping 00182 00183 const int16 s2h_schwabisch = 61; // schwabisch95 thesis 00184 const int16 s2h_rodriguez = 62; // see paper rodriguez92 00185 const int16 s2h_ambiguity = 63; // exact method 00186 00187 const int16 geo_nointerp = 70; // no interpolation in geocding 00188 const int16 geo_regular = 71; // ... ? not implemented 00189 00190 const int16 crd_nearest = 81; // nearest neighbor 00191 const int16 crd_trilinear = 82; // trilinear 00192 00193 const int16 srp_polynomial = 101; // eval poly from comp_refpha 00194 const int16 srp_exact = 102; // compute ref_pha on he fly 00195 00196 const int16 rf_adaptive = 301; // range filter adaptive method 00197 const int16 rf_porbits = 302; // precise orbits 00198 00199 00200 // ======Define structs for storing/passing input options====== 00201 struct input_gen // general input 00202 { 00203 char logfile[EIGHTY]; 00204 char m_resfile[EIGHTY]; 00205 char s_resfile[EIGHTY]; 00206 char i_resfile[EIGHTY]; 00207 uint memory; // available mem. in Bytes 00208 bool process[NUMPROCESSES]; // if .[i] != 0 => process step_(i+1) 00209 bool interactive; // if true, pause 00210 bool overwrit; // 0: don't overwrite existing data output files 00211 int16 orb_interp; // method for orbit interpolation 00212 int32 dumpbaselineL; // #lines to dump baseline param. 00213 int32 dumpbaselineP; // #lines to dump baseline param. 00214 int32 preview; // generate sunraster preview file 00215 // 0: no; 1: sh files; 2: sh sh_files. 00216 real4 terrain_height; // mean terrain height, or of a point. 00217 cn tiepoint; // lat/lon/hei for e.g., integration const. 00218 }; 00219 00220 00221 // ______These structs are input, filled by readinput______ 00222 // ______ ______ 00223 struct input_readfiles // arguments of readinfo 00224 { 00225 int16 sensor_id; // method selector ers/asar/rsat/jers 00226 int16 sar_processor; // atlantis, vmp, set in routines. 00227 int16 fileid; 00228 char volfile[2*EIGHTY]; 00229 char leaderfile[2*EIGHTY]; 00230 char nullfile[2*EIGHTY]; 00231 char datfile[2*EIGHTY]; 00232 real8 rg_timing_error; // [BK 27-May-2004] 00233 real8 az_timing_error; // [BK 27-May-2004] 00234 }; 00235 00236 00237 // ______ ______ 00238 struct input_pr_orbits // precise orbits 00239 { 00240 char m_orbdir[2*EIGHTY]; 00241 char s_orbdir[2*EIGHTY]; 00242 int32 timeinterval; // time in sec. 00243 int32 timebefore; // sec before first line. 00244 real8 dumpmasterorbit; // dtime in sec. 00245 real8 dumpslaveorbit; // dtime in sec. 00246 }; 00247 00248 00249 // ______ ______ 00250 struct input_crop // arguments of m/s_crop 00251 { 00252 int16 fileid; 00253 int16 sar_processor; // atlantis, vmp, set in routines. 00254 char idcrop[EIGHTY]; 00255 char filein1[2*EIGHTY]; 00256 char fileout1[EIGHTY]; 00257 window dbow; // cut out of original 00258 window dbow_geo; // lat_0*1e6, lon_0*1e6, height, width 00259 }; 00260 00261 //____RaffaeleNutricato START MODIFICATION SECTION 3 00262 struct input_oversample // arguments of m/s_oversample 00263 { 00264 char fileoutovs[EIGHTY]; // Name of the oversampled image 00265 int32 OsrRange; // Oversampling ratio in range. 00266 int32 OsrAzimuth; // Oversampling ratio in azimuth. 00267 int32 FilterSize; // Length of the interpolation kernel. 00268 int32 oformatflag; // Output format [cr4] ci16, I suggest [cr4]. 00269 }; 00270 //____RaffaeleNutricato END MODIFICATION SECTION 3 00271 00272 00273 // ______ azimuth filtering ______ 00274 struct input_filtazi // arguments for azimuth filter 00275 { 00276 int16 method; // method selector 00277 int32 fftlength; // length per buffer 00278 int32 overlap; // 0.5overlap each buffer 00279 real8 hammingalpha; // alpha for hamming, 1 is no 00280 char foname[EIGHTY]; // output filename passed to routine 00281 char fomaster[EIGHTY]; // output filename 00282 char foslave[EIGHTY]; // output filename 00283 int16 oformatflag; // output format [cr4] ci16 00284 }; 00285 00286 // ______ ______ 00287 struct input_coarsecorr // arguments for correlation 00288 { 00289 // char idcoarsecorr[EIGHTY]; 00290 char ifpositions[EIGHTY]; // input file name for positions 00291 int16 method; // method selector 00292 uint Nwin; // #windows 00293 uint MasksizeL; // size of correlation window 00294 uint MasksizeP; // size of correlation window 00295 uint AccL; // #lines to be searched in 1 direction 00296 uint AccP; // #pixels to be searched in 1 direction 00297 int32 initoffsetL; // initial offset lines 00298 int32 initoffsetP; // initial offset pixels 00299 }; 00300 00301 00302 // ______ ______ 00303 struct input_fine // arguments for fine coreg. 00304 { 00305 char ifpositions[EIGHTY]; // input file name for positions 00306 int16 method; // method selector 00307 uint Nwin; // #windows 00308 uint MasksizeL; // size of correlation window 00309 uint MasksizeP; // size of correlation window 00310 uint AccL; // #lines to be searched in l direction 00311 uint AccP; // #pixels to be searched in p direction 00312 int32 initoffsetL; // initial offset lines 00313 int32 initoffsetP; // initial offset pixels 00314 uint osfactor; // oversampling factor 00315 bool plotoffsets; // call script 00316 bool plotmagbg; // call script 00317 real4 plotthreshold; // call script 00318 }; 00319 00320 00321 // ______ ______ 00322 struct input_coregpm // arguments for coregpm. 00323 { 00324 char idcoregpm[EIGHTY]; 00325 real4 threshold; // threshold for correlation 00326 int32 degree; // degree of polynomial 00327 int32 weightflag; // 0: all same weight 00328 // 1: choice1: weigh with correlation ?? 00329 int32 maxiter; // max. #pnts to remove (wtests) 00330 real4 k_alpha; // critical value for automated outlier removal 00331 bool dumpmodel; // create float files with model 00332 bool plot; // plot e_hat etc. 00333 bool plotmagbg; // plot magnitude in background 00334 }; 00335 00336 00337 // ______ ______ 00338 struct input_resample // arguments for resampling slave 00339 { 00340 int16 method; // method selector (interpolator) (%100 == Npoints) 00341 char fileout[EIGHTY]; 00342 int16 oformatflag; // output format [cr4] ci16 00343 window dbow; // cut out of original 00344 bool shiftazi; // [true] shift spectrum to 0 00345 }; 00346 00347 00348 // ______ range filtering ______ 00349 struct input_filtrange // arguments for range filter 00350 { 00351 int16 method; // method selector 00352 int32 oversample; // factor 00353 bool doweightcorrel; // weighting of correlation values 00354 int32 nlmean; // number of lines to take mean of 00355 int32 fftlength; // length for adaptive 00356 int32 overlap; // half overlap between blocks of fftlength 00357 real8 hammingalpha; // alpha for hamming 00358 real8 SNRthreshold; // spectral peak estimation 00359 real8 terrainslope; // [rad] porbits method only 00360 char fomaster[EIGHTY]; // output filename 00361 char foslave[EIGHTY]; // output filename 00362 int16 oformatflag; // output format [cr4] ci16 00363 }; 00364 00365 00366 // ______ ______ 00367 struct input_comprefpha // arguments for flatearth correction. 00368 { 00369 //char idflatearth[EIGHTY]; 00370 char ifpositions[EIGHTY]; // input file name for positions 00371 int16 method; // method selector 00372 int32 degree; // degree of polynomial 00373 int32 Npoints; // number of observations 00374 }; 00375 00376 00377 00378 // ______ ______ 00379 struct input_interfero // arguments for computation interferogram 00380 { 00381 int16 method; // method selector 00382 char focint[EIGHTY]; // optional output filename complex interferogram. 00383 char foint[EIGHTY]; // ~ of interferogram (phase). 00384 // char foflatearth[EIGHTY]; // ~ of correction (flatearth) model (phase) 00385 // these are flags as well as arguments. 00386 // one is man (else no output) 00387 uint multilookL; // multilookfactor in line dir. 00388 uint multilookP; // multilookfactor in pixel dir. 00389 }; 00390 00391 00392 // ______ ______ 00393 struct input_coherence // arguments for computation coherence 00394 { 00395 int16 method; // method selector 00396 char focoh[EIGHTY]; // opt output filename of real coherence image. 00397 char foccoh[EIGHTY]; // ~ of complex coherence image. 00398 // these are flags as well as arguments. 00399 uint multilookL; // multilookfactor in line dir. 00400 uint multilookP; // multilookfactor in pixel dir. 00401 uint cohsizeL; // size of estimation window coherence 00402 uint cohsizeP; // size of estimation window coherence 00403 }; 00404 00405 00406 // ______ ______ 00407 struct input_filtphase // arguments for phase filter 00408 { 00409 int16 method; // method selector 00410 char fofiltphase[EIGHTY]; // output filename 00411 char fifiltphase[EIGHTY]; // input filename 00412 int32 finumlines; // number of lines input 00413 // ______ method goldstein ______ 00414 real8 alpha; // weighting 00415 int32 blocksize; // blocksize filtered blocks 00416 int32 overlap; // half overlap 00417 // ______ method goldstein, spatial conv. and spectral ______ 00418 matrix<real4> kernel; // e.g. [1 1 1] 00419 // ______ method spatial conv. and spectral ______ 00420 char fikernel2d[EIGHTY]; // input filename 00421 }; 00422 00423 00424 // ______ ______ 00425 struct input_unwrap // arguments for unwrapping 00426 { 00427 char fouint[EIGHTY]; // output filename 00428 int16 oformatflag; // output format [hgt] real4 00429 char foregions[EIGHTY]; // output filename 00430 char seedfile[EIGHTY]; // input file with seeds 00431 int32 deltaLseed; // seed delta line direction 00432 int32 deltaPseed; // seed delta pixel direction 00433 int16 method; // method selector 00434 char snaphu_mode[12]; // snaphu TOPO DEFO SMOOTH NOSTATCOSTS 00435 char snaphu_log[EIGHTY]; // log filename for snaphu 00436 char snaphu_coh[EIGHTY]; // coherence filename for snaphu opt 00437 char snaphu_verbose[6]; // snaphu TRUE or FALSE 00438 char snaphu_init[4]; // snaphu MST or MCF 00439 }; 00440 00441 00442 // ______ ______ 00443 struct input_slant2h // arguments for slant2height conversion 00444 { 00445 int16 method; // method selector 00446 char fohei[EIGHTY]; // output filename height 00447 char folam[EIGHTY]; // output filename lambda 00448 char fophi[EIGHTY]; // output filename phi 00449 int32 Npoints; // 00450 int32 degree1d; // only {1,2} possible now due to solve33 00451 int32 degree2d; // 00452 int32 Nheights; // 00453 }; 00454 00455 00456 // ______ ______ 00457 struct input_geocode // arguments for geocode 00458 { 00459 // int16 method; // method selector not used right now 00460 char fophi[EIGHTY]; // output filename phi 00461 char folam[EIGHTY]; // output filename lambda 00462 }; 00463 00464 00465 // ______ ______ 00466 struct input_subtrrefpha // arguments for subtract 'flat earth' 00467 { 00468 int16 method; // method selector 00469 uint multilookL; // multilookfactor in line dir. 00470 uint multilookP; // multilookfactor in pixel dir. 00471 char focint[EIGHTY]; // output filename complex interferogram 00472 char forefpha[EIGHTY]; // output filename complex refpha 00473 bool dumponlyrefpha; // do nothing except dump refpha 00474 }; 00475 00476 // ______ ______ 00477 struct input_comprefdem // arguments for reference phase from DEM 00478 { 00479 int16 method; // method selector 00480 char firefdem[EIGHTY]; // input filename reference dem 00481 int16 iformatflag; // input format [signed short] 00482 int32 demrows; // number of 00483 int32 demcols; // number of 00484 real8 demdeltalat; // radians 00485 real8 demdeltalon; // radians 00486 real8 demlatleftupper; // radians 00487 real8 demlonleftupper; // radians 00488 real8 demnodata; // identifier/flag 00489 real8 extradense; // extra interpolation factor (4) 00490 char forefdem[EIGHTY]; // output filename reference phase 00491 char forefdemhei[EIGHTY]; // output filename DEM in radarcoord. 00492 bool includerefpha; // flag to include 'flat earth' correction 00493 char fodem[EIGHTY]; // flag+name output of cropped dem 00494 char fodemi[EIGHTY]; // flag+name output of interpolated dem 00495 }; 00496 00497 // ______ ______ 00498 struct input_subtrrefdem // arguments for subtract reference DEM 00499 { 00500 int16 method; // method selector 00501 int32 offsetL; // offset applied before subtraction 00502 int32 offsetP; // offset applied before subtraction 00503 char focint[EIGHTY]; // output filename complex interferogram 00504 }; 00505 00506 // ______ ______ 00507 struct input_m_EXTRA // extra step 00508 { 00509 int16 method; // method selector 00510 }; 00511 00512 // ______ ______ 00513 struct input_s_EXTRA // extra step 00514 { 00515 int16 method; // method selector 00516 }; 00517 00518 // ______ ______ 00519 struct input_dinsar // 3 pass differntial 00520 { 00521 //int16 method; // method selector 00522 char fodinsar[ONE27]; // output filename complex interferogram 00523 char foscaleduint[ONE27]; // output filename scaled uint 00524 char topomasterresfile[ONE27];// input filename 00525 char toposlaveresfile[ONE27];// input filename 00526 char topointresfile[ONE27]; // input filename 00527 }; 00528 00529 // ______ ______ 00530 struct input_i_EXTRA2 // extra step 00531 { 00532 int16 method; // method selector 00533 }; 00534 00535 00536 00537 // ====== Inline functions ====== 00538 // ______ to get/set derfaults ______ 00539 inline void setunspecified(char *s) 00540 {strcpy(s," ");} // better use string "unspecified" 00541 inline bool specified(const char *s) 00542 {return bool(strcmp(s," "));} // return true if specified 00543 00544 // ====== Prototypes ====== 00545 //____RaffaeleNutricato START MODIFICATION SECTION 4 00546 // ______ Reads and interprets "inputoptionsfile" ______ 00547 // ______ Fills input structs. ______ 00548 void readinput( 00549 input_gen &generalinput, 00550 input_ell &inputellips, 00551 input_pr_orbits &porbitsinput, 00552 input_readfiles &readfilesmaster, 00553 input_crop &cropinputmaster, 00554 input_oversample &oversamplemaster, //____RaffaeleNutricato added this line 00555 input_readfiles &readfilesslave, 00556 input_crop &cropinputslave, 00557 input_oversample &oversampleslave, //____RaffaeleNutricato added this line 00558 input_filtazi &filtaziinput, 00559 input_coarsecorr &coarsecorrinput, 00560 input_fine &fineinput, 00561 input_coregpm &coregpminput, 00562 input_resample &resampleinput, 00563 input_filtrange &filtrangeinput, 00564 input_interfero &interferoinput, 00565 input_coherence &coherenceinput, 00566 input_comprefpha &comprefphainput, 00567 input_subtrrefpha &subtrrefphainput, 00568 input_comprefdem &comprefdeminput, 00569 input_subtrrefdem &subtrrefdeminput, 00570 input_filtphase &filtphaseinput, 00571 input_dinsar &dinsarinput, 00572 input_unwrap &unwrapinput, 00573 input_slant2h &slant2hinput, 00574 input_geocode &geocodeinput); 00575 //____RaffaeleNutricato END MODIFICATION SECTION 4 00576 00577 00578 #endif // READINPUT_H 00579 00580 00581