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

productinfo.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/productinfo.hh,v $        *
00032  * $Revision: 3.8 $                                             *
00033  * $Date: 2005/04/11 13:47:45 $                                 *
00034  * $Author: kampes $                                            *
00035  *                                                              *
00036  * The productinfo class contains the definition of the data    *
00037  * and functions for 'products' (i.e. not slc images, but the   *
00038  * interferogram, coherence image, DEM etc.)                    *
00039  * Data mainly public because this used to be a struct and I    *
00040  * did not want to change the other code.                       *
00041  * It also consists of functions reading files etc.             *
00042  #%// BK 25-Aug-2000
00043  ****************************************************************/
00044 
00045 
00046 #ifndef PRODUCTINFO_H
00047 #define PRODUCTINFO_H
00048 
00049 
00050 #include "constants.hh"                 // typedefs
00051 #include <cstring>                      // strcpy, req. on some systems
00052 
00053 
00054 
00055 // ====== Define template functions (no member no friend) ======
00056 // ______ (matrix class is declared way below) ______
00057 template <class Type> class matrix;
00058 
00059 
00060 
00061 
00062 // ====== Struct slcimage: information on master/slave ======
00063 class productinfo                               // info on 'products'
00064   {
00065   public:
00066     char          file[EIGHTY];                   // current filename
00067     // ______ window / multilook factors ______
00068     window        win;                            // current window, line(1:N) etc
00069     uint          multilookL;                     // multilookfactor in line (azi) dir.
00070     uint          multilookP;                     // multilookfactor in pixel (ra) dir.
00071     // ______ file format ______
00072     int16         formatflag;                     // current read formatflag
00073 
00074 
00075     // ______ Public function in struct ______
00076     // ______ constructor ______
00077     productinfo()               {multilookL=1; multilookP=1;} // rest ==0
00078 
00079     // ______ fill it from info in resultfiles ______
00080     void fillproductinfo(const char *file, const char *iden);
00081 
00082     // ______ assignment operator ______
00083     productinfo& operator = (productinfo X)
00084       {
00085       if (this != &X)
00086         {
00087         strcpy(file,X.file);
00088         win        = X.win;
00089         multilookL = X.multilookL;
00090         multilookP = X.multilookP;
00091         formatflag = X.formatflag;
00092         }
00093       return *this;
00094       };
00095 
00096     // ______ show content ______
00097     inline void showdata() const                  // show content
00098       {DEBUG << "\ncurrent file: \t" << file
00099              << "\nformatflag:   \t" << formatflag
00100              << "\nmultilook:    \t" << multilookL << " " << multilookP
00101              << "\nwindow:       \t" << win.linelo << " " << win.linehi
00102                               << " " << win.pixlo  << " " << win.pixhi;
00103        DEBUG.print();
00104       }
00105 
00106     // ______ read data from file ______
00107     matrix<real4> readphase(window win) const;
00108 
00109   }; // END class productinfo
00110 
00111 
00112 #endif // PRODUCTINFO_H
00113 
00114 

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