00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00055 #ifndef __LIBGPIV_PIVPAR_H__
00056 #define __LIBGPIV_PIVPAR_H__
00057
00058
00059
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
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