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/referencephase.hh,v $ 00032 * $Revision: 3.7 $ 00033 * $Date: 2005/03/07 10:38:40 $ 00034 * $Author: kampes $ 00035 * 00036 * Routines for reference phase computation 00037 * - flatearth 00038 * - radarcodedem 00039 * - interpolation routines delaunay? 00040 ****************************************************************/ 00041 00042 00043 #ifndef REFERENCEPHASE_H 00044 #define REFERENCEPHASE_H 00045 00046 #include "constants.hh" // typedefs 00047 #include "readinput.hh" // input structs 00048 #include "orbitbk.hh" // my orbit class 00049 #include "slcimage.hh" // my slc image class 00050 #include "productinfo.hh" // my 'products' class 00051 00052 00053 00054 00055 // ====== Prototypes ====== 00056 // ______ Compute reference phase ______ 00057 void flatearth( 00058 const input_comprefpha &flatearthinput, 00059 const input_ell &ellips, 00060 const slcimage &master, 00061 const slcimage &slave, 00062 const productinfo &interferogram, 00063 orbit &masterorbit, 00064 orbit &slaveorbit); 00065 00066 // ______ Compute reference phase ______ 00067 void radarcodedem( 00068 const input_gen &generalinput, 00069 const input_ell &ellips, 00070 const input_comprefdem &comprefdeminput, 00071 const slcimage &master, 00072 const slcimage &slave, 00073 const productinfo &interferogram, 00074 orbit &masterorbit, 00075 orbit &slaveorbit); 00076 00077 // ______ Linear interpolation ______ 00078 void griddatalinear( 00079 const matrix<real4> &lpphase, 00080 const matrix<int32> &triplets, 00081 const window interferogram, 00082 char *ofilename); 00083 00084 // // ______ Return true if P(l,p) is inside triangle P1P2P3 ______ 00085 // // ______ newtriangle is true if last call was for same P1P2P3 ______ 00086 // bool pointintriangle( 00087 // real4 l, 00088 // real4 p, 00089 // real4 l1, 00090 // real4 p1, 00091 // real4 l2, 00092 // real4 p2, 00093 // real4 l3, 00094 // real4 p3, 00095 // bool newtriangle); 00096 00097 // ______ Return true if P(l,p) is inside triangle P1P2P3 ______ 00098 // ______ newtriangle is true if last call was for same P1P2P3 ______ 00099 // ______ if not real8 then totally wrong... (or eps = AP1P2P3/1e6) ______ 00100 bool pointintriangle( 00101 real8 l, 00102 real8 p, 00103 real8 l1, 00104 real8 p1, 00105 real8 l2, 00106 real8 p2, 00107 real8 l3, 00108 real8 p3, 00109 bool newtriangle); 00110 00111 00112 00113 00114 #endif // REFERENCEPHASE_H 00115 00116 00117