Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

referencephase.hh

Go to the documentation of this file.
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 

Generated on Fri Apr 22 15:58:01 2005 for Doris by doxygen 1.3.6