Main Page | Files | Data Structures | Functions | Global Variables |
gpiv-piv.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
5 libgpiv - library for Particle Image Velocimetry
6
7 Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Gerber van der Graaf
8
9 This file is part of libgpiv.
10
11 Libgpiv is free software; you can redistribute it and/or modify
12 it under the terms of the GNU General Public License as published by
13 the Free Software Foundation; either version 2, or (at your option)
14 any later version.
15
16 This program is distributed in the hope that it will be useful,
17 but WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 GNU General Public License for more details.
20
21 You should have received a copy of the GNU General Public License
22 along with this program; if not, write to the Free Software Foundation,
23 Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24
25-------------------------------------------------------------------------------
26LIBRARY: libgpiv
27
28SOURCE: piv.c
29
30EXTERNAL FUNCTIONS:
31 gpiv_piv_count_pivdata_fromimage
32 gpiv_piv_select_int_point
33 gpiv_piv_interrogate_img
34 gpiv_piv_interrogate_ia
35 gpiv_piv_isizadapt
36 gpiv_piv_write_deformed_image
37 gpiv_piv_weight_kernel_lin
38 gpiv_fread_fftw_wisdom
39 gpiv_fwrite_fftw_wisdom
40
41
42------------------------------------------------------------------------------*/
43
55#ifndef __LIBGPIV_PIV_H__
56#define __LIBGPIV_PIVL_H__
57
58
59#include <gpiv/gpiv-piv_par.h>
60#include <gpiv/gpiv-valid_par.h>
61
62
63
64#define GPIV_ZEROPAD_FACT 2
65#define GPIV_DIFF_ISI 0
68#define GPIV_CUM_RESIDU_MIN 0.25
69#define GPIV_MAX_PIV_SWEEP 10
71#define GPIV_SNR_DISABLE 88.0
72#define GPIV_DEFORMED_IMG_NAME "gpiv_defimg"
73#define GPIV_LOGFILE "gpiv.log"
76#define CMPR_FACT 2
78#define GPIV_SHIFT_FACTOR 3
92
93
94
104
105
106
115 float **z;
116 float min;
117 float max;
119 long top_x;
120 long top_y;
121 float subtop_x;
122 float subtop_y;
123 float snr;
126 int z_rnl;
127 int z_rnh;
128 int z_rpl;
129 int z_rph;
131 int z_cnl;
132 int z_cnh;
133 int z_cpl;
134 int z_cph;
136 int z_rl;
137 int z_rh;
138 int z_cl;
139 int z_ch;
140};
141
142
143
144/*-----------------------------------------------------------------------------
145 * Function prototypes
146 */
147
148
149
160gchar *
162 const GpivPivPar *piv_par,
163 guint *nx,
164 guint *ny
165 );
166
167
180 const GpivPivPar *piv_par,
181 const GpivValidPar *valid_par,
182 const gboolean verbose
183 );
184
185
202gchar *
203gpiv_piv_interrogate_ia (const guint index_y,
204 const guint index_x,
205 const GpivImage *image,
206 const GpivPivPar *piv_par,
207 const guint sweep,
208 const guint last_sweep,
209 gfloat **int_area_1,
210 gfloat **int_area_2,
211 GpivCov *cov,
212 GpivPivData *piv_data
213 );
214
215
216
229void
230gpiv_piv_isizadapt (const GpivPivPar *piv_par_src,
231 GpivPivPar *piv_par_dest,
232 gboolean *isiz_last
233 );
234
235
236
244gchar *
246 );
247
248
249
250
257void
259 );
260
261
262
270void
272 );
273
274
284gchar *
286 GpivPivData *piv_data_dest
287 );
288
289
290
301gchar *
303 );
304
305
306
317gpiv_piv_gridgen (const guint nx,
318 const guint ny,
319 const GpivImagePar *image_par,
320 const GpivPivPar *piv_par
321 );
322
323
324
343 const GpivPivPar *piv_par_src,
344 GpivPivPar *piv_par_dest,
345 const GpivPivData *piv_data,
346 const guint sweep,
347 gboolean *grid_last
348 );
349
350
351#endif /* __LIBGPIV_PIV_H__ */
gchar * gpiv_piv_write_deformed_image(GpivImage *image)
Stores deformed image to file system with pre defined name to TMPDIR and prints message to stdout.
GpivPivData * gpiv_piv_gridadapt(const GpivImagePar *image_par, const GpivPivPar *piv_par_src, GpivPivPar *piv_par_dest, const GpivPivData *piv_data, const guint sweep, gboolean *grid_last)
Adjust grid nodes if zero_off or adaptive interrogation area has been used.
GpivPivData * gpiv_piv_interrogate_img(const GpivImage *image, const GpivPivPar *piv_par, const GpivValidPar *valid_par, const gboolean verbose)
PIV interrogation of an image pair at an entire grid.
GpivPivData * gpiv_piv_gridgen(const guint nx, const guint ny, const GpivImagePar *image_par, const GpivPivPar *piv_par)
Generates grid by Calculating the positions of interrogation areas.
void gpiv_fread_fftw_wisdom(const gint dir)
Reads fftw wisdoms from file and stores into a (public) string.
void gpiv_piv_isizadapt(const GpivPivPar *piv_par_src, GpivPivPar *piv_par_dest, gboolean *isiz_last)
Adjusts interrogation area sizes.
GpivIntGeo
Interrogation geometry.
Definition gpiv-piv.h:98
@ GPIV_LINE_R
Along row line.
Definition gpiv-piv.h:101
@ GPIV_LINE_C
Along column line.
Definition gpiv-piv.h:100
@ GPIV_AOI
Area of interst.
Definition gpiv-piv.h:99
@ GPIV_POINT
At single point.
Definition gpiv-piv.h:102
gchar * gpiv_piv_interrogate_ia(const guint index_y, const guint index_x, const GpivImage *image, const GpivPivPar *piv_par, const guint sweep, const guint last_sweep, gfloat **int_area_1, gfloat **int_area_2, GpivCov *cov, GpivPivData *piv_data)
Interrogates a single Interrogation Area.
gchar * gpiv_piv_shift_grid(GpivPivData *piv_data)
Shifts the knots of a 2-dimensional grid containing PIV data for improved (bi-linear) interpolation.
GpivIFit
Type of sub-pixel estimation.
Definition gpiv-piv.h:86
@ GPIV_GAUSS
Gauss fitting.
Definition gpiv-piv.h:88
@ GPIV_POWER
Power fitting.
Definition gpiv-piv.h:89
@ GPIV_NONE
No fitting.
Definition gpiv-piv.h:87
@ GPIV_GRAVITY
Plain gravity fitting.
Definition gpiv-piv.h:90
gchar * gpiv_piv_dxdy_at_new_grid(const GpivPivData *piv_data_src, GpivPivData *piv_data_dest)
Calculates dx, dy of piv_data_dest from piv_data_src by bi-linear interpolation of inner points with ...
void gpiv_fwrite_fftw_wisdom(const gint dir)
Writes fftw wisdoms to a file.
gchar * gpiv_piv_count_pivdata_fromimage(const GpivImagePar *image_par, const GpivPivPar *piv_par, guint *nx, guint *ny)
Calculates the number of interrogation areas from the image sizes, pre-shift and area of interest.
module for parameters for image evaluation
module for parameters for validating PIV data
Covariance data.
Definition gpiv-piv.h:114
int z_cl
general lowest column index
Definition gpiv-piv.h:138
float ** z
< data structure of covariance data
Definition gpiv-piv.h:115
long top_x
x-position of maximum at pixel level
Definition gpiv-piv.h:119
int z_cpl
lowest positive column index
Definition gpiv-piv.h:133
float subtop_x
x-position of maximum at sub-pixel level
Definition gpiv-piv.h:121
float min
minimum covariance value
Definition gpiv-piv.h:116
int z_ch
general highest column index
Definition gpiv-piv.h:139
float snr
Signal to Noice defined by quotient of first and second highest peaks.
Definition gpiv-piv.h:123
int z_cnh
highest negative column index
Definition gpiv-piv.h:132
int z_rh
general highest row index
Definition gpiv-piv.h:137
int z_rph
highest positive row index
Definition gpiv-piv.h:129
int z_cnl
lowest negative column index
Definition gpiv-piv.h:131
int z_cph
highest positive index
Definition gpiv-piv.h:134
int z_rpl
lowest positive row index
Definition gpiv-piv.h:128
int z_rl
general lowest row index
Definition gpiv-piv.h:136
long top_y
y-position of maximum at pixel level
Definition gpiv-piv.h:120
float subtop_y
y-position of maximum at sub-pixel level
Definition gpiv-piv.h:122
int z_rnl
lowest negative row index
Definition gpiv-piv.h:126
float max
maximum covariance value
Definition gpiv-piv.h:117
int z_rnh
highest negative row index
Definition gpiv-piv.h:127
Piv image header and data.
Definition gpiv-img.h:194
Image parameters or header info.
Definition gpiv-img.h:122
Holds the variables of PIV data.
Definition gpiv.h:267
Parameters for PIV evaluation (interrogation) of images.
Piv validation parameters.

Generated for libgpiv-0.6.1 by doxygen 1.9.8