radar.h

00001 /*
00002 *    Copyright (c) 2007. The BATI team. All right reserved.
00003 *
00004 *    This file is part of BATI library.
00005 *
00006 *    BATI library is free software: you can redistribute it and/or modify
00007 *    it under the terms of the GNU General Public License as published by
00008 *    the Free Software Foundation, either version 3 of the License, or
00009 *    (at your option) any later version.
00010 *
00011 *    BATI 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
00014 *    GNU General Public License for more details.
00015 *
00016 *    You should have received a copy of the GNU General Public License
00017 *    along with BATI library.  If not, see <http://www.gnu.org/licenses/>.
00018 */
00019 /* *****************************radar.h**********************************/
00020 /*                                                                      */
00021 /*  descripteurs et prototypes de fonctions associees aux operateurs    */
00022 /*                  de traitement des images radar                      */
00023 /*                                                                      */
00024 /*  Derniere modif : E. TROUVE, 25/11/99                                */
00025 /* **********************************************************************/
00026 
00027 /* pas de code avant cette ligne*/
00028 #ifndef __radar
00029 #define __radar
00030 
00031 
00032                     /* PROTOTYPES FONCTIONS COMMUNES AU RADAR */
00033 /* dans lkuan.c */
00034 double filt_kuan(double amp0, double moyamp, double moycarre, double cv2, int* nbneg); 
00035 /* dans llee_add.c */
00036 double filt_lee_add(double amp0, double moyamp, double moycarre, double cv2, int* nbneg); 
00037 
00038 
00039 
00040                         /* OPERATEURS COMMUNS AU RADAR */
00041 
00042 /* **************************** lconv16to8.c *******************************/
00043 /* conversion 16 bit en 8 bit:                                         */
00044 /*    entree : imau2 : données en amplitude                            */
00045 /*    sortie : imau1 : amplitude convertie en 8 bits                   */
00046 /* *********************************************************************/
00049 typedef struct {
00050    int methode;     
00052    float K;        
00053    int his[65536];  
00054    pixu1 lut[65536]; 
00055    char legende[500]; 
00056 } conv16to8_t;
00057 
00058 param *conv16to8_lect(conv16to8_t *des, param *ptp, char *debq);
00059 int conv16to8_init(conv16to8_t *des, imau2 im0, imau1 *imres);     
00060 int conv16to8_calc(conv16to8_t *des, imau2 im0, imau1 *imres);   
00061 
00062 
00063 /* **************************** lkuan.c ****************************************/
00064 /* filtre de kuan :                                                            */
00065 /*    entree : imaXX : données en intensite   XX = u2 | fl | db                */
00066 /*    sortie : imaXX : intensite filtree      XX identique a l'entree          */
00067 /* *****************************************************************************/
00070 typedef struct {
00071    int dimX, dimY; 
00072    double nbvue;    
00073 } kuan_t;
00074 
00075 param *kuan_lect(kuan_t *des, param *ptp, char *debq);
00076 /* init */
00077 int kuanu2_init(kuan_t *des, imau2 im0, imau2 *imres);     
00078 int kuanfl_init(kuan_t *des, imafl im0, imafl *imres);     
00079 int kuandb_init(kuan_t *des, imadb im0, imadb *imres);     
00080 /* calc */
00081 int kuanu2_calc(kuan_t *des, imau2 im0, imau2 moyint, imafl moycarre, imau2 *imres);   
00082 int kuanfl_calc(kuan_t *des, imafl im0, imafl moyint, imafl moycarre, imafl *imres);   
00083 int kuandb_calc(kuan_t *des, imadb im0, imadb moyint, imadb moycarre, imadb *imres);   
00084 
00085 
00086 /* **************************** llee_add.c ****************************************/
00087 /* filtre de lee_add :                                                            */
00088 /*    entree : imaXX : données en amplitude   XX = u1 | u2 | fl | db           */
00089 /*    sortie : imaXX : amplitude filtree      XX identique a l'entree          */
00090 /* *****************************************************************************/
00093 typedef struct {
00094    int dimX, dimY; 
00095    double vbr;     
00096 } lee_add_t;
00097 
00098 param *lee_add_lect(lee_add_t *des, param *ptp, char *debq);
00099 /* init */
00100 int lee_addu1_init(lee_add_t *des, imau1 im0, imau1 *imres);     
00101 int lee_addu2_init(lee_add_t *des, imau2 im0, imau2 *imres);     
00102 int lee_addfl_init(lee_add_t *des, imafl im0, imafl *imres);     
00103 int lee_adddb_init(lee_add_t *des, imadb im0, imadb *imres);     
00104 /* calc */
00105 int lee_addu1_calc(lee_add_t *des, imau1 im0, imau1 moyamp, imafl moycarre, imau1 *imres);   
00106 int lee_addu2_calc(lee_add_t *des, imau2 im0, imau2 moyamp, imafl moycarre, imau2 *imres);   
00107 int lee_addfl_calc(lee_add_t *des, imafl im0, imafl moyamp, imafl moycarre, imafl *imres);   
00108 int lee_adddb_calc(lee_add_t *des, imadb im0, imadb moyamp, imadb moycarre, imadb *imres);   
00109 
00110 
00111 /* OPERATEUR LOGDCT */
00114 typedef struct {
00115    int N;              
00116    float tablog[65536]; 
00117    float *v0;           
00118    float **matdct;     
00119 } logdct_t;
00120 param * logdct_lect(logdct_t *des, param *ptp, char *debq);
00121 int logdct_u2_init(logdct_t *des, imau2 *pt_im0, imafl *pt_imres);     
00122 int logdct_u2_calc(logdct_t *des, imau2 *pt_im0, imafl *pt_imres);     
00123 
00124 
00125 /* OPERATEUR IDCTEXP */
00128 typedef struct {
00129    int N;              
00130    float B;            
00131    float *v0;           
00132    float **matidct;     
00133 } idctexp_t;
00134 param * idctexp_lect(idctexp_t *des, param *ptp, char *debq);
00135 int idctexp_u2_init(idctexp_t *des, imafl *pt_imdct, imau2 *pt_imres);     
00136 int idctexp_u2_calc(idctexp_t *des, imafl *pt_imdct, imau2 *pt_imres);     
00137 
00138 
00139 
00140 
00141 
00142 /*pas de code après cette ligne */
00143 #endif
00144 
00145 
00146 /* **************************** lestimR.c ****************************************/
00147 /* estimiation de la Reflectivite par moyennage spatiale des intensites (| |^2)  */
00148 /*        SUPPRIME LE 28/02/2000                                                 */
00149 /*        REMPLACE PAR moycarre2DXX avec XX = u1 | u2 | fl | db (dans proto2D.h) */
00150 /* *******************************************************************************/

Generated on Tue Apr 22 13:31:04 2008 for ima2D by  doxygen 1.5.3