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

gpiv-piv_par.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    libgpiv - library for Particle Image Velocimetry
00005 
00006    Copyright (C) 2002,2003, 2004 Gerber van der Graaf
00007 
00008    This file is part of libgpiv.
00009 
00010    Libgpiv is free software; you can redistribute it and/or modify
00011    it under the terms of the GNU General Public License as published by
00012    the Free Software Foundation; either version 2, or (at your option)
00013    any later version.
00014 
00015    This program is distributed in the hope that it will be useful,
00016    but WITHOUT ANY WARRANTY; without even the implied warranty of
00017    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018    GNU General Public License for more details.
00019 
00020    You should have received a copy of the GNU General Public License
00021    along with this program; if not, write to the Free Software Foundation,
00022    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
00023 
00024 
00025 
00026 ------------------------------------------------------------------------------
00027 FILENAME:                piv_par.c
00028 LIBRARY:                 libgpiv
00029 EXTERNAL FUNCTIONS:      
00030                          gpiv_piv_parameters_set
00031                          gpiv_piv_default_parameters
00032                          gpiv_piv_get_parameters_from_resources
00033 
00034                          gpiv_piv_read_parameters
00035                          gpiv_piv_check_parameters_read
00036                          gpiv_piv_test_parameters
00037                          gpiv_piv_print_parameters
00038                          gpiv_piv_cp_parameters
00039                          gpiv_piv_cp_undef_parameters
00040                          gpiv_piv_fread_hdf5_parameters
00041                          gpiv_piv_fwrite_hdf5_parameters
00042 
00043 --------------------------------------------------------------------- */
00044 
00055 #ifndef __LIBGPIV_PIVPAR_H__
00056 #define __LIBGPIV_PIVPAR_H__
00057 
00058 /*-----------------------------------------------------------------------------
00059  * Parameters for Piv evaluation
00060  */
00061 
00062 #define GPIV_PIVPAR_KEY                      "PIV"           
00068 enum GpivIntScheme {
00069     GPIV_NO_CORR,
00070     GPIV_LK_WEIGHT,              
00071     GPIV_ZERO_OFF_FORWARD,       
00072     GPIV_ZERO_OFF_CENTRAL,       
00073     GPIV_IMG_DEFORM              
00074 };
00075 
00076 
00080 typedef struct __GpivPivPar GpivPivPar;
00081 
00091 struct __GpivPivPar {
00092     guint col_start;                    
00093     gboolean col_start__set;            
00095     guint col_end;                      
00096     gboolean col_end__set;              
00098     guint ifit;                         
00099     gboolean ifit__set;                 
00101     guint int_geo;                      
00102     gboolean int_geo__set;              
00104     guint int_line_col;                 
00105     gboolean int_line_col__set;         
00107     guint int_line_col_start;           
00108     gboolean int_line_col_start__set;   
00110     guint int_line_col_end;             
00111     gboolean int_line_col_end__set;     
00113     guint int_line_row;                 
00114     gboolean int_line_row__set;         
00116     guint int_line_row_start;           
00117     gboolean int_line_row_start__set;   
00119     guint int_line_row_end;             
00120     gboolean int_line_row_end__set;     
00122     guint int_point_col;                
00123     gboolean int_point_col__set;        
00125     guint int_point_row;                
00126     gboolean int_point_row__set;        
00128 /*     gboolean int_size;  */               
00129     guint int_size_1;                   
00130     gboolean int_size_1__set;           
00132     guint int_size_2;                   
00133     gboolean int_size_2__set;           
00135     gint int_shift;                     
00136     gboolean int_shift__set;            
00138     int int_deform;                     
00139     gboolean int_deform__set;           
00141     gint peak;                          
00142     gboolean peak__set;                 
00144     int pre_shift_col;                  
00145     gboolean pre_shift_col__set;        
00147     int pre_shift_row;                  
00148     gboolean pre_shift_row__set;        
00150     int print_par;                      
00151     gboolean print_par__set;            
00153     int print_piv;                      
00154     gboolean print_piv__set;            
00156     guint row_start;                    
00157     gboolean row_start__set;            
00159     guint row_end;                      
00160     gboolean row_end__set;              
00162     int spline_degree;                  
00163     gboolean spline_degree__set;        
00165     enum GpivIntScheme int_scheme;      
00166     gboolean int_scheme__set;           
00168     gboolean gauss_weight_ia;           
00169     gboolean gauss_weight_ia__set;      
00171     gboolean spof_filter;               
00172     gboolean spof_filter__set;          
00173 };
00174 
00175 
00176 /*
00177  * Function prototypes
00178  */
00179 
00189 void
00190 gpiv_piv_default_parameters             (GpivPivPar             *piv_par_default,
00191                                         const gboolean          force
00192                                         );
00193 
00194 
00195 
00204 GpivPivPar *
00205 gpiv_piv_get_parameters_from_resources  (const gchar            *localrc,
00206                                          const gboolean         verbose
00207                                          );
00208 
00209 
00210 
00218 void
00219 gpiv_piv_parameters_set                 (GpivPivPar             *piv_par,
00220                                         const gboolean          flag
00221                                         );
00222 
00223 
00224 
00234 void 
00235 gpiv_piv_read_parameters                (FILE                   *fp, 
00236                                         GpivPivPar              *piv_par,
00237                                         const gboolean          verbose
00238                                         );
00239 
00240 
00241 
00252 gchar *
00253 gpiv_piv_check_parameters_read          (GpivPivPar             *piv_par,
00254                                         const GpivPivPar        *piv_par_default
00255                                         );
00256 
00257 
00258 
00267 gchar *
00268 gpiv_piv_testonly_parameters            (const GpivImagePar     *image_par, 
00269                                         const GpivPivPar        *piv_par
00270                                         );
00271 
00272 
00273 
00283 gchar *
00284 gpiv_piv_testadjust_parameters          (const GpivImagePar     *image_par, 
00285                                         GpivPivPar              *piv_par
00286                                         );
00287 
00288 
00289 
00298 void 
00299 gpiv_piv_print_parameters               (FILE                   *fp,
00300                                         const GpivPivPar        *piv_par
00301                                         );
00302 
00309 GpivPivPar *
00310 gpiv_piv_cp_parameters                  (const GpivPivPar       *piv_par
00311                                         );
00312 
00313 
00322 void
00323 gpiv_piv_cp_undef_parameters            (const GpivPivPar       *piv_par_src, 
00324                                         GpivPivPar              *piv_par_dest
00325                                         );
00326 
00327 
00334 GpivPivPar *
00335 gpiv_piv_fread_hdf5_parameters          (const gchar            *fname
00336                                         );
00337 
00338 
00346 gchar *
00347 gpiv_piv_fwrite_hdf5_parameters         (const gchar            *fname,
00348                                          const GpivPivPar       *piv_par 
00349                                          );
00350 
00351 
00352 
00353 #endif /* __LIBGPIV_PIVPAR_H__ */

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