Main Page | Files | Data Structures | Functions | Global Variables |
gpiv-post_par.h
Go to the documentation of this file.
1 /* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 4 c-style: "K&R" -*- */
2 
3 /*
4  libgpiv - library for Particle Image Velocimetry
5 
6  Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Gerber van der Graaf
7 
8  This file is part of libgpiv.
9 
10  Libgpiv is free software; you can redistribute it and/or modify
11  it under the terms of the GNU General Public License as published by
12  the Free Software Foundation; either version 2, or (at your option)
13  any later version.
14 
15  This program is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  GNU General Public License for more details.
19 
20  You should have received a copy of the GNU General Public License
21  along with this program; if not, write to the Free Software Foundation,
22  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
23 
24 
25 
26 
27 -----------------------------------------------------------------------
28 LIBRARY: libgpiv
29 SOURCE: post_par.c
30 EXTERNAL FUNCTIONS:
31  gpiv_post_parameters_set
32  gpiv_post_default_parameters
33  gpiv_post_get_parameters_from_resources
34 
35  gpiv_post_read_parameters
36  gpiv_post_check_parameters_read
37  gpiv_post_fprint_parameters
38  gpiv_post_fread_hdf5_parameters
39  gpiv_post_fwrite_hdf5_parameters
40 
41  ------------------------------------------------------------------- */
42 
52 #ifndef __LIBGPIV_POSTPAR_H__
53 #define __LIBGPIV_POSTPAR_H__
54 
55 #define GPIV_POSTPAR_KEY "POST"
61 enum GpivOperationManipiv {
66  GPIV_ROT90 = 4,
71 };
72 
73 
74 
83 };
84 
85 
86 
94 };
95 
96 
97 
104 };
105 
106 
107 
108 typedef struct __GpivRoi GpivRoi;
109 
113 struct __GpivRoi {
114  float x_1;
115  float y_1;
116  float x_2;
117  float y_2;
118 };
119 
120 
121 typedef struct __GpivPostPar GpivPostPar;
122 
140  gboolean set;
141  gboolean set__set;
143  float set_dx;
145  gboolean set_dx__set;
147  float set_dy;
149  gboolean set_dy__set;
153  gboolean block__set;
154 
155 /*
156  * Parameters for spatial average (s-avg)
157  */
158  int subtract;
159  gboolean subtract__set;
161  float z_off_dx;
162  gboolean z_off_dx__set;
164  float z_off_dy;
165  gboolean z_off_dy__set;
167 /*
168  * Parameters for vorticity and strain
169  */
176 /*
177  * Parameters for scaling PIV data. Other parameters for scaling are in
178  * __GpivImagePar.
179  */
181  gboolean scale_type__set;
182 };
183 
184 
185 
186 
194 void
196  const gboolean flag
197  );
198 
199 
200 
208 void
209 gpiv_post_default_parameters (GpivPostPar *post_par_default,
210  const gboolean force
211  );
212 
213 
214 
224 GpivPostPar *
225 gpiv_post_get_parameters_from_resources (const gchar *localrc,
226  const gboolean verbose
227  );
228 
229 
238 void
239 gpiv_post_read_parameters (FILE *fp_par,
240  GpivPostPar *post_par,
241  const gboolean print_par
242  );
243 
244 
245 
257 gchar *
259  const GpivPostPar *post_par_default
260  );
261 
262 
263 
271 void
272 gpiv_post_print_parameters (FILE *fp_par_out,
273  const GpivPostPar *post_par
274  );
275 
276 
277 
284 GpivPostPar *
285 gpiv_post_fread_hdf5_parameters (const gchar *fname
286  );
287 
288 
289 
297 gchar *
298 gpiv_post_fwrite_hdf5_parameters (const gchar *fname,
299  const GpivPostPar *post_par
300  );
301 
302 
303 
304 #endif /* __LIBGPIV_POSTPAR_H_ */
gpiv_post_get_parameters_from_resources
GpivPostPar * gpiv_post_get_parameters_from_resources(const gchar *localrc, const gboolean verbose)
Reads post-processing parameters from localrc, $HOME/.gpivrc and system-wide gpiv....
__GpivRoi::y_2
float y_2
highest x value
Definition: gpiv-post_par.h:117
GPIV_LEAST_SQUARES
@ GPIV_LEAST_SQUARES
Least square.
Definition: gpiv-post_par.h:80
GPIV_FLIP_X
@ GPIV_FLIP_X
flip in x-direction
Definition: gpiv-post_par.h:63
GPIV_REVERT
@ GPIV_REVERT
reverts array indexes
Definition: gpiv-post_par.h:65
__GpivPostPar::set_dy
float set_dy
value of disabled PIV data in vertical (row-wise) direction
Definition: gpiv-post_par.h:147
__GpivPostPar::z_off_dy
float z_off_dy
offset value for vertical PIV estimator
Definition: gpiv-post_par.h:164
__GpivPostPar::z_off_dy__set
gboolean z_off_dy__set
flag if z_off_dy has been defined
Definition: gpiv-post_par.h:165
GpivOperation
GpivOperation
Type of derivative operation.
Definition: gpiv-post_par.h:90
__GpivPostPar::set__set
gboolean set__set
flag if set has been defined
Definition: gpiv-post_par.h:141
GPIV_CENTRAL
@ GPIV_CENTRAL
Central differential.
Definition: gpiv-post_par.h:79
__GpivPostPar::set_dy__set
gboolean set_dy__set
flag if set_dy has been defined
Definition: gpiv-post_par.h:149
__GpivPostPar::block__set
gboolean block__set
Definition: gpiv-post_par.h:153
__GpivPostPar
Parameters for post-processing PIV data.
Definition: gpiv-post_par.h:135
__GpivPostPar::set_dx__set
gboolean set_dx__set
flag if set_dx has been defined
Definition: gpiv-post_par.h:145
GpivDifferentiation
GpivDifferentiation
Differential type.
Definition: gpiv-post_par.h:78
gpiv_post_fread_hdf5_parameters
GpivPostPar * gpiv_post_fread_hdf5_parameters(const gchar *fname)
Reads post parameters from hdf5 data file.
__GpivRoi
Region Of Interest.
Definition: gpiv-post_par.h:113
__GpivPostPar::set
gboolean set
setting of PIV data: enable / disable
Definition: gpiv-post_par.h:140
__GpivPostPar::set_dx
float set_dx
value of disabled PIV data in horizontal (column-wise) direction
Definition: gpiv-post_par.h:143
GPIV_ROT180
@ GPIV_ROT180
rotates over 180 degrees
Definition: gpiv-post_par.h:67
GPIV_VORTICITY
@ GPIV_VORTICITY
Vorticity.
Definition: gpiv-post_par.h:91
__GpivPostPar::diff_type
enum GpivDifferentiation diff_type
differential type
Definition: gpiv-post_par.h:170
GPIV_SCALE_INV
@ GPIV_SCALE_INV
Inverse scaling PIV data.
Definition: gpiv-post_par.h:103
__GpivPostPar::scale_type__set
gboolean scale_type__set
flag if scale_type has been defined
Definition: gpiv-post_par.h:181
__GpivPostPar::diff_type__set
int diff_type__set
flag if diff_type has been defined
Definition: gpiv-post_par.h:173
__GpivPostPar::z_off_dx__set
gboolean z_off_dx__set
flag if z_off_dx has been defined
Definition: gpiv-post_par.h:162
GPIV_ADD_XY
@ GPIV_ADD_XY
adds specified displacement/velocity in x and y direction
Definition: gpiv-post_par.h:70
GPIV_FILTER_BLOCK
@ GPIV_FILTER_BLOCK
filters out
Definition: gpiv-post_par.h:68
GPIV_N_STRAIN
@ GPIV_N_STRAIN
Normal strain.
Definition: gpiv-post_par.h:93
__GpivRoi::x_2
float x_2
highest x value
Definition: gpiv-post_par.h:116
GPIV_ROT90
@ GPIV_ROT90
rotates over 90 degrees
Definition: gpiv-post_par.h:66
__GpivPostPar::block
GpivRoi * block
Define a rectangular block for enabling / disabling PIV data.
Definition: gpiv-post_par.h:151
GpivOperationManipiv
GpivOperationManipiv
Operator to transform (manipulate) PIV data.
Definition: gpiv-post_par.h:61
GPIV_S_STRAIN
@ GPIV_S_STRAIN
Shear strain.
Definition: gpiv-post_par.h:92
__GpivPostPar::z_off_dx
float z_off_dx
offset value for horizontal PIV estimator
Definition: gpiv-post_par.h:161
gpiv_post_print_parameters
void gpiv_post_print_parameters(FILE *fp_par_out, const GpivPostPar *post_par)
Prints parameters to fp_par_out.
__GpivPostPar::operator_vorstra__set
gboolean operator_vorstra__set
flag if operator_vorstra has been defined
Definition: gpiv-post_par.h:174
__GpivPostPar::operator_manipiv__set
gboolean operator_manipiv__set
flag if operator_manipiv has been defined
Definition: gpiv-post_par.h:137
__GpivPostPar::subtract
int subtract
data type to subtract from estimators NONE (0), mean (1) Zoff_dx and Zoff_dy (2)
Definition: gpiv-post_par.h:158
__GpivRoi::x_1
float x_1
lowest x value
Definition: gpiv-post_par.h:114
__GpivPostPar::subtract__set
gboolean subtract__set
flag if subtract has been defined
Definition: gpiv-post_par.h:159
GPIV_RICHARDSON
@ GPIV_RICHARDSON
Richarchon differential.
Definition: gpiv-post_par.h:81
gpiv_post_read_parameters
void gpiv_post_read_parameters(FILE *fp_par, GpivPostPar *post_par, const gboolean print_par)
Reads all parameters for PIV data validation.
__GpivPostPar::operator_manipiv
enum GpivOperationManipiv operator_manipiv
operator on PIV data
Definition: gpiv-post_par.h:136
GPIV_FAST_Y
@ GPIV_FAST_Y
returns fast running y-positions of data
Definition: gpiv-post_par.h:62
__GpivPostPar::scale_type
enum GpivScaleType scale_type
normal or inverse scaling
Definition: gpiv-post_par.h:180
gpiv_post_fwrite_hdf5_parameters
gchar * gpiv_post_fwrite_hdf5_parameters(const gchar *fname, const GpivPostPar *post_par)
Writes post parameters to an existing hdf5 data file.
gpiv_post_default_parameters
void gpiv_post_default_parameters(GpivPostPar *post_par_default, const gboolean force)
Sets post-processing parameters to default values.
__GpivRoi::y_1
float y_1
lowest y value
Definition: gpiv-post_par.h:115
GPIV_SCALE
@ GPIV_SCALE
Scaling PIV data.
Definition: gpiv-post_par.h:102
GPIV_FLIP_Y
@ GPIV_FLIP_Y
flip in y-direction
Definition: gpiv-post_par.h:64
GpivScaleType
GpivScaleType
Variables for scaling PIV data.
Definition: gpiv-post_par.h:101
gpiv_post_parameters_set
void gpiv_post_parameters_set(GpivPostPar *post_par, const gboolean flag)
Sets flag for post_par __set.
gpiv_post_check_parameters_read
gchar * gpiv_post_check_parameters_read(GpivPostPar *post_par, const GpivPostPar *post_par_default)
Checks if all post-processing parameters have been read.
GPIV_CIRCULATION
@ GPIV_CIRCULATION
Circulation method.
Definition: gpiv-post_par.h:82
__GpivPostPar::operator_vorstra
enum GpivOperation operator_vorstra
specify which derivative type from PIV data to calculate
Definition: gpiv-post_par.h:171
GPIV_PASS_BLOCK
@ GPIV_PASS_BLOCK
passes through
Definition: gpiv-post_par.h:69

Generated for libgpiv-0.6.1 by doxygen 1.8.17