Main Page | Files | Data Structures | Functions | Global Variables |

gpiv-piv.h

Go to the documentation of this file.
00001 /* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 4 c-style: "K&R" -*- */
00002 
00003 /*-----------------------------------------------------------------------------
00004 
00005    libgpiv - library for Particle Image Velocimetry
00006 
00007    Copyright (C) 2002, 2003, 2004 Gerber van der Graaf
00008 
00009    This file is part of libgpiv.
00010 
00011    Libgpiv is free software; you can redistribute it and/or modify
00012    it under the terms of the GNU General Public License as published by
00013    the Free Software Foundation; either version 2, or (at your option)
00014    any later version.
00015 
00016    This program is distributed in the hope that it will be useful,
00017    but WITHOUT ANY WARRANTY; without even the implied warranty of
00018    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00019    GNU General Public License for more details.
00020 
00021    You should have received a copy of the GNU General Public License
00022    along with this program; if not, write to the Free Software Foundation,
00023    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
00024 
00025 -------------------------------------------------------------------------------
00026 LIBRARY:                libgpiv
00027 
00028 SOURCE:                 piv.c
00029 
00030 EXTERNAL FUNCTIONS:
00031                         gpiv_piv_count_pivdata_fromimage
00032                         gpiv_piv_select_int_point
00033                         gpiv_piv_interrogate_img
00034                         gpiv_piv_interrogate_ia
00035                         gpiv_piv_isizadapt
00036                         gpiv_piv_write_deformed_image
00037                         gpiv_piv_weight_kernel_lin
00038                         gpiv_fread_fftw_wisdom
00039                         gpiv_fwrite_fftw_wisdom
00040 
00041 
00042 ------------------------------------------------------------------------------*/
00043 
00055 #ifndef __LIBGPIV_PIV_H__
00056 #define __LIBGPIV_PIVL_H__
00057 
00058 
00059 #include <gpiv/gpiv-piv_par.h>
00060 #include <gpiv/gpiv-valid_par.h>
00061 
00062 
00063 
00064 #define GPIV_ZEROPAD_FACT 2     
00065 #define GPIV_DIFF_ISI  0        
00068 #define GPIV_CUM_RESIDU_MIN 0.25 
00069 #define GPIV_MAX_PIV_SWEEP 10   
00071 #define GPIV_SNR_DISABLE 88.0    
00072 #define GPIV_DEFORMED_IMG_NAME "gpiv_defimg" 
00073 #define GPIV_LOGFILE "gpiv.log"  
00076 #define CMPR_FACT 2            
00078 #define GPIV_SHIFT_FACTOR 3    
00086 enum GpivIFit {
00087     GPIV_NONE = 0,     
00088     GPIV_GAUSS = 1,    
00089     GPIV_POWER = 2,    
00090     GPIV_GRAVITY = 3   
00091 };
00092 
00093 
00094 
00098 enum GpivIntGeo {
00099     GPIV_AOI = 0,      
00100     GPIV_LINE_C = 1,   
00101     GPIV_LINE_R = 2,   
00102     GPIV_POINT = 3     
00103 };
00104 
00105 
00106 
00107 typedef struct __GpivCovariance GpivCov;
00114 struct __GpivCovariance {       
00115     float **z;                  
00116     float min;                  
00117     float max;                  
00119     long top_x;                 
00120     long top_y;                 
00121     float subtop_x;             
00122     float subtop_y;             
00123     float snr;                  
00126     int z_rnl;                  
00127     int z_rnh;                  
00128     int z_rpl;                  
00129     int z_rph;                  
00131     int z_cnl;                  
00132     int z_cnh;                  
00133     int z_cpl;                  
00134     int z_cph;                  
00136     int z_rl;                   
00137     int z_rh;                   
00138     int z_cl;                   
00139     int z_ch;                   
00140 };
00141 
00142 
00143 
00144 /*-----------------------------------------------------------------------------
00145  * Function prototypes
00146  */
00147 
00148 
00149 
00160 gchar *
00161 gpiv_piv_count_pivdata_fromimage        (const GpivImagePar     *image_par,
00162                                          const GpivPivPar       *piv_par,
00163                                          guint                  *nx,
00164                                          guint                  *ny
00165                                          );
00166 
00167 
00178 GpivPivData *
00179 gpiv_piv_interrogate_img                (const GpivImage        *image,
00180                                         const GpivPivPar        *piv_par,
00181                                         const GpivValidPar      *valid_par,
00182                                         const gboolean          verbose
00183                                         );
00184  
00185 
00202 gchar *
00203 gpiv_piv_interrogate_ia                 (const guint           index_y,
00204                                         const guint            index_x,
00205                                         const GpivImage        *image,
00206                                         const GpivPivPar       *piv_par,
00207                                         const guint            sweep,
00208                                         const guint            last_sweep,
00209                                         gfloat                 **int_area_1,
00210                                         gfloat                 **int_area_2,
00211                                         GpivCov                *cov,
00212                                         GpivPivData            *piv_data
00213                                         );
00214 
00215 
00216 
00229 void
00230 gpiv_piv_isizadapt                      (const GpivPivPar       *piv_par_src,
00231                                         GpivPivPar              *piv_par_dest,
00232                                         gboolean                *isiz_last
00233                                         );
00234 
00235 
00236 
00244 gchar *
00245 gpiv_piv_write_deformed_image           (GpivImage              *image
00246                                         );
00247 
00248 
00249 
00250 
00257 void
00258 gpiv_fread_fftw_wisdom                  (const gint             dir
00259                                         );
00260 
00261 
00262 
00270 void 
00271 gpiv_fwrite_fftw_wisdom                 (const gint             dir
00272                                         );
00273 
00274 
00284 gchar *
00285 gpiv_piv_dxdy_at_new_grid               (const GpivPivData      *piv_data_src,
00286                                         GpivPivData             *piv_data_dest
00287                                         );
00288 
00289 
00290 
00301 gchar *
00302 gpiv_piv_shift_grid                     (GpivPivData            *piv_data
00303                                         );
00304 
00305 
00306 
00316 GpivPivData *
00317 gpiv_piv_gridgen                        (const guint            nx,
00318                                         const guint             ny,
00319                                         const GpivImagePar      *image_par,
00320                                         const GpivPivPar        *piv_par
00321                                         );
00322 
00323 
00324 
00341 GpivPivData *
00342 gpiv_piv_gridadapt                      (const GpivImagePar     *image_par, 
00343                                         const GpivPivPar        *piv_par_src,
00344                                         GpivPivPar              *piv_par_dest,
00345                                         const GpivPivData       *piv_data,
00346                                         const guint             sweep, 
00347                                         gboolean                *grid_last
00348                                         );
00349 
00350 
00351 #endif /* __LIBGPIV_PIV_H__ */

Generated on Tue Nov 20 19:46:20 2007 for Libgpiv by doxygen 1.5.1