Main Page | Files | Data Structures | Functions | Global Variables |
gpiv.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 -----------------------------------------------------------------------------*/
26 
185 #ifndef __LIBGPIV_H__
186 #define __LIBGPIV_H__
187 
188 /*
189  * Includes external library headers to be used in Libgpiv
190  */
191 #include <stdlib.h>
192 #include <stdio.h>
193 #include <stdarg.h>
194 
195 #include <math.h>
196 #include <gsl/gsl_fit.h>
197 #include <assert.h>
198 
199 #include <time.h>
200 #include <fftw3.h>
201 #include <hdf5.h>
202 #include <glib-2.0/glib.h>
203 #include <zlib.h>
204 #include <png.h>
205 
206 #ifdef ENABLE_CAM
207 #include <libraw1394/raw1394.h>
208 #include <libdc1394/dc1394_control.h>
209 #endif /* ENABLE_CAM */
210 
211 #ifdef ENABLE_TRIG
212 #include <rtai.h>
213 #include <fcntl.h>
214 #endif /* ENABLE_TRIG */
215 
216 #ifdef ENABLE_MPI
217 #include <mpi/mpi.h>
218 #endif /* ENABLE_MPI */
219 
220 #ifdef _OPENMP
221 #include <omp.h>
222 #endif
223 
224 /*
225  * General macro definitions
226  */
227 
228 #define USE_FFTW3
229 
230 #define LIBNAME "LIBGPIV"
231 #define GPIV_SYSTEM_RSC_FILE "gpiv.conf"
232 #define GPIV_HOME_RSC_FILE ".gpivrc"
233 #define GPIV_NIMG_MAX 40
234 #define GPIV_MAX_CHARS 80
235 #define GPIV_MAX_LINES 6400
236 #define GPIV_MAX_LINES_C 20
237 #define GPIV_MAX_IMG_SIZE 2000
238 #define GPIV_MAX_IMG_DEPTH 16
239 #define GPIV_MIN_INTERR_SIZE 4
240 #define GPIV_MAX_INTERR_SIZE 128
241 #define GPIV_NBINS_MAX 100
242 #define GPIV_NBINS_DEFAULT 10
243 #define GPIV_SNR_NAN 99.0
245 #define IA_GAUSS_WEIGHTING
246 #define SPOF_FILTERING
249 #ifndef SYSTEM_RSC_DIR
250 #define SYSTEM_RSC_DIR "/etc"
251 #endif /* SYSTEM_RSC_DIR */
252 
253 
254 /*
255  * Data structure declarations
256  */
257 
258 typedef struct __GpivPivData GpivPivData;
268  guint nx;
269  guint ny;
270  guint nz;
273  gfloat **point_x;
274  gfloat **point_y;
275  gfloat **point_z;
277  gfloat **dx;
278  gfloat **dy;
279  gfloat **dz;
281  gfloat **snr;
286  gint **peak_no;
289  gfloat **scalar;
291  guint count;
293  gfloat mean_dx;
294  gfloat sdev_dx;
295  gfloat min_dx;
296  gfloat max_dx;
298  gfloat mean_dy;
299  gfloat sdev_dy;
300  gfloat min_dy;
301  gfloat max_dy;
303  gfloat mean_dz;
304  gfloat sdev_dz;
305  gfloat min_dz;
306  gfloat max_dz;
309  gboolean scale;
310  gboolean scale__set;
312  gchar *comment;
313 };
314 
315 
316 typedef struct __GpivScalarData GpivScalarData;
322  guint nx;
323  guint ny;
326  gfloat **point_x;
327  gfloat **point_y;
328  gfloat **scalar;
330  gint **flag;
333  gboolean scale;
334  gboolean scale__set;
336  gchar *comment;
337 };
338 
339 
340 typedef struct __GpivBinData GpivBinData;
341 
349  guint nbins;
352  guint *count;
353  gfloat *bound;
354  gfloat *centre;
355  gfloat min;
356  gfloat max;
359  gchar *comment;
360 };
361 
362 
363 /*
364  * Includes Libgpiv library headers
365  */
366 
367 #include <gpiv/gpiv-genpar.h>
368 
369 #ifdef ENABLE_CAM
370 #include <gpiv/gpiv-cam.h>
371 #endif /* ENABLE_CAM */
372 
373 #ifdef ENABLE_TRIG
374 #include <gpiv/gpiv-trig.h>
375 #endif /* ENABLE_TRIG */
376 
377 #include <gpiv/gpiv-img.h>
378 #include <gpiv/gpiv-img_utils.h>
379 #include <gpiv/gpiv-imgproc.h>
380 #include <gpiv/gpiv-piv.h>
381 #include <gpiv/gpiv-piv_par.h>
382 #include <gpiv/gpiv-piv_utils.h>
383 #include <gpiv/gpiv-valid.h>
384 #include <gpiv/gpiv-valid_par.h>
385 #include <gpiv/gpiv-post.h>
386 #include <gpiv/gpiv-post_par.h>
387 #include <gpiv/gpiv-post_utils.h>
388 #include <gpiv/gpiv-io.h>
389 #include <gpiv/gpiv-utils.h>
390 #include <gpiv/gpiv-utils_alloc.h>
391 
392 
393 #ifdef GPIV_ENABLE_DEPRECATED
394 #include <gpiv/back_intface.h>
395 #endif
396 
397 
398 #endif /* __LIBGPIV_H__ */
module for IEEE1394 camera control
General parameters.
module for image header en parameters
utilities module for GpivImage structure
module for image processing
module for input/output.
module for PIV image evaluation
module for parameters for image evaluation
utilities module for GpivPivData structure
module for post-processing of PIV data
module for parameters for post-processing of PIV data
utilities for GpivScalarData and GpivBinData
module for triggering lightsource(s) and camera(s) using RTAI
miscellaneous utilities
utilities for memory allocation
module for validating PIV data
module for parameters for validating PIV data
Used for making up histograms in bins or klasses.
Definition: gpiv.h:348
gfloat max
maximum value of input data
Definition: gpiv.h:356
gfloat * centre
centre point of bin#
Definition: gpiv.h:354
gfloat * bound
lower boundary of bin#
Definition: gpiv.h:353
guint * count
value containing number of occurences at bin#
Definition: gpiv.h:352
guint nbins
number of bins in histogram, to be read as a parameter
Definition: gpiv.h:349
gfloat min
minimum value of input data
Definition: gpiv.h:355
gchar * comment
comment on the data
Definition: gpiv.h:359
Holds the variables of PIV data.
Definition: gpiv.h:267
gfloat max_dy
maximum displacement in y-direction
Definition: gpiv.h:301
guint count
total number of valid estimators
Definition: gpiv.h:291
gfloat mean_dy
mean displacement in y-direction
Definition: gpiv.h:298
gfloat sdev_dx
rms displacement in x-direction
Definition: gpiv.h:294
gfloat ** dz
particle image displacement in z-direction (for future use)
Definition: gpiv.h:279
gfloat sdev_dz
rms displacement in z-direction (for future use)
Definition: gpiv.h:304
gfloat ** snr
signal to noise ratio.
Definition: gpiv.h:281
gboolean scale__set
flag if scale has been defined
Definition: gpiv.h:310
guint nx
number of data in x-direction
Definition: gpiv.h:268
gfloat mean_dz
mean displacement in z-direction (for future use)
Definition: gpiv.h:303
gfloat ** point_x
position of data point in x-direction
Definition: gpiv.h:273
gfloat min_dz
minimum displacement in z-direction (for future use)
Definition: gpiv.h:305
gfloat ** point_y
position of data point in y-direction
Definition: gpiv.h:274
guint ny
number of data in y-direction
Definition: gpiv.h:269
gfloat sdev_dy
rms displacement in y-direction
Definition: gpiv.h:299
gfloat max_dz
maximum displacement in z-direction (for future use)
Definition: gpiv.h:306
gfloat max_dx
maximum displacement in x-direction
Definition: gpiv.h:296
gchar * comment
comment on the data
Definition: gpiv.h:312
gfloat min_dx
minimum displacement in x-direction
Definition: gpiv.h:295
gfloat mean_dx
mean displacement in x-direction
Definition: gpiv.h:293
gfloat ** scalar
scalar value that might represent vorticity , shear strain or normal strain, for example
Definition: gpiv.h:289
gint ** peak_no
Nth-highest covariance peak number.
Definition: gpiv.h:286
gfloat ** dx
particle image displacement in x-direction
Definition: gpiv.h:277
gfloat ** point_z
position of data point in z-direction (for future use)
Definition: gpiv.h:275
gfloat min_dy
minimum displacement in y-direction
Definition: gpiv.h:300
gboolean scale
flag for scaled estimators
Definition: gpiv.h:309
gfloat ** dy
particle image displacement in y-direction
Definition: gpiv.h:278
guint nz
number of data in z-direction (for future use)
Definition: gpiv.h:270
Holds scalar data, mostly derived from __GpivPivData.
Definition: gpiv.h:321
guint ny
number of data in y-direction
Definition: gpiv.h:323
gfloat ** point_x
position of data point in x-direction
Definition: gpiv.h:326
gboolean scale
flag for scaled estimators
Definition: gpiv.h:333
gboolean scale__set
flag if scale has been defined
Definition: gpiv.h:334
guint nx
number of data in x-direction
Definition: gpiv.h:322
gfloat ** point_y
position of data point in y-direction
Definition: gpiv.h:327
gfloat ** scalar
scalar value representing vorticity in z-direction, shear strain or normal strain
Definition: gpiv.h:328
gchar * comment
comment on the data
Definition: gpiv.h:336
gint ** flag
a flag; always nice, used for whatever it may be (disable data)
Definition: gpiv.h:330

Generated for libgpiv-0.6.1 by doxygen 1.9.1