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     guint int_size_f;                   
00129     gboolean int_size_f__set;           
00131     guint int_size_i;                   
00132     gboolean int_size_i__set;           
00134     gint int_shift;                     
00135     gboolean int_shift__set;            
00137     int int_deform;                     
00138     gboolean int_deform__set;           
00140     gint peak;                          
00141     gboolean peak__set;                 
00143     int pre_shift_col;                  
00144     gboolean pre_shift_col__set;        
00146     int pre_shift_row;                  
00147     gboolean pre_shift_row__set;        
00149     int print_par;                      
00150     gboolean print_par__set;            
00152     int print_piv;                      
00153     gboolean print_piv__set;            
00155     guint row_start;                    
00156     gboolean row_start__set;            
00158     guint row_end;                      
00159     gboolean row_end__set;              
00161     int spline_degree;                  
00162     gboolean spline_degree__set;        
00164     enum GpivIntScheme int_scheme;      
00165     gboolean int_scheme__set;           
00167     gboolean gauss_weight_ia;           
00168     gboolean gauss_weight_ia__set;      
00170     gboolean spof_filter;               
00171     gboolean spof_filter__set;          
00172 };
00173 
00174 
00175 /*
00176  * Function prototypes
00177  */
00178 
00188 void
00189 gpiv_piv_default_parameters             (GpivPivPar             *piv_par_default,
00190                                         const gboolean          force
00191                                         );
00192 
00193 
00194 
00203 GpivPivPar *
00204 gpiv_piv_get_parameters_from_resources  (const gchar            *localrc,
00205                                          const gboolean         verbose
00206                                          );
00207 
00208 
00209 
00217 void
00218 gpiv_piv_parameters_set                 (GpivPivPar             *piv_par,
00219                                         const gboolean          flag
00220                                         );
00221 
00222 
00223 
00233 void 
00234 gpiv_piv_read_parameters                (FILE                   *fp, 
00235                                         GpivPivPar              *piv_par,
00236                                         const gboolean          verbose
00237                                         );
00238 
00239 
00240 
00251 gchar *
00252 gpiv_piv_check_parameters_read          (GpivPivPar             *piv_par,
00253                                         const GpivPivPar        *piv_par_default
00254                                         );
00255 
00256 
00257 
00266 gchar *
00267 gpiv_piv_testonly_parameters            (const GpivImagePar     *image_par, 
00268                                         const GpivPivPar        *piv_par
00269                                         );
00270 
00271 
00272 
00282 gchar *
00283 gpiv_piv_testadjust_parameters          (const GpivImagePar     *image_par, 
00284                                         GpivPivPar              *piv_par
00285                                         );
00286 
00287 
00288 
00297 void 
00298 gpiv_piv_print_parameters               (FILE                   *fp,
00299                                         const GpivPivPar        *piv_par
00300                                         );
00301 
00308 GpivPivPar *
00309 gpiv_piv_cp_parameters                  (const GpivPivPar       *piv_par
00310                                         );
00311 
00312 
00321 void
00322 gpiv_piv_cp_undef_parameters            (const GpivPivPar       *piv_par_src, 
00323                                         GpivPivPar              *piv_par_dest
00324                                         );
00325 
00326 
00333 GpivPivPar *
00334 gpiv_piv_fread_hdf5_parameters          (const gchar            *fname
00335                                         );
00336 
00337 
00345 gchar *
00346 gpiv_piv_fwrite_hdf5_parameters         (const gchar            *fname,
00347                                          const GpivPivPar       *piv_par 
00348                                          );
00349 
00350 
00351 
00352 #endif /* __LIBGPIV_PIVPAR_H__ */

Generated on Thu Nov 6 10:30:05 2008 for Libgpiv by doxygen 1.5.6