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 
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__ */
__GpivBinData
Used for making up histograms in bins or klasses.
Definition: gpiv.h:348
gpiv-piv_par.h
module for parameters for image evaluation
__GpivPivData::min_dz
gfloat min_dz
minimum displacement in z-direction (for future use)
Definition: gpiv.h:305
gpiv-img_utils.h
utilities module for GpivImage structure
gpiv-utils_alloc.h
utilities for memory allocation
__GpivScalarData::point_y
gfloat ** point_y
position of data point in y-direction
Definition: gpiv.h:327
__GpivPivData::nz
guint nz
number of data in z-direction (for future use)
Definition: gpiv.h:270
gpiv-piv_utils.h
utilities module for GpivPivData structure
gpiv-io.h
module for input/output.
__GpivBinData::centre
gfloat * centre
centre point of bin#
Definition: gpiv.h:354
gpiv-post.h
module for post-processing of PIV data
__GpivPivData::mean_dy
gfloat mean_dy
mean displacement in y-direction
Definition: gpiv.h:298
__GpivPivData::peak_no
gint ** peak_no
Nth-highest covariance peak number.
Definition: gpiv.h:286
__GpivBinData::bound
gfloat * bound
lower boundary of bin#
Definition: gpiv.h:353
__GpivPivData::count
guint count
total number of valid estimators
Definition: gpiv.h:291
__GpivPivData::min_dy
gfloat min_dy
minimum displacement in y-direction
Definition: gpiv.h:300
__GpivBinData::comment
gchar * comment
comment on the data
Definition: gpiv.h:359
__GpivPivData::scale
gboolean scale
flag for scaled estimators
Definition: gpiv.h:309
__GpivBinData::max
gfloat max
maximum value of input data
Definition: gpiv.h:356
__GpivScalarData::ny
guint ny
number of data in y-direction
Definition: gpiv.h:323
__GpivPivData::max_dz
gfloat max_dz
maximum displacement in z-direction (for future use)
Definition: gpiv.h:306
gpiv-cam.h
module for IEEE1394 camera control
gpiv-utils.h
miscellaneous utilities
gpiv-valid.h
module for validating PIV data
__GpivBinData::nbins
guint nbins
number of bins in histogram, to be read as a parameter
Definition: gpiv.h:349
__GpivScalarData::point_x
gfloat ** point_x
position of data point in x-direction
Definition: gpiv.h:326
__GpivPivData::point_z
gfloat ** point_z
position of data point in z-direction (for future use)
Definition: gpiv.h:275
__GpivPivData::snr
gfloat ** snr
signal to noise ratio.
Definition: gpiv.h:281
__GpivPivData::max_dx
gfloat max_dx
maximum displacement in x-direction
Definition: gpiv.h:296
__GpivPivData::scalar
gfloat ** scalar
scalar value that might represent vorticity , shear strain or normal strain, for example
Definition: gpiv.h:289
gpiv-img.h
module for image header en parameters
__GpivPivData::sdev_dx
gfloat sdev_dx
rms displacement in x-direction
Definition: gpiv.h:294
__GpivPivData
Holds the variables of PIV data.
Definition: gpiv.h:267
gpiv-valid_par.h
module for parameters for validating PIV data
__GpivPivData::comment
gchar * comment
comment on the data
Definition: gpiv.h:312
gpiv-genpar.h
General parameters.
__GpivPivData::dz
gfloat ** dz
particle image displacement in z-direction (for future use)
Definition: gpiv.h:279
__GpivScalarData::comment
gchar * comment
comment on the data
Definition: gpiv.h:336
gpiv-post_par.h
module for parameters for post-processing of PIV data
__GpivPivData::dy
gfloat ** dy
particle image displacement in y-direction
Definition: gpiv.h:278
__GpivPivData::sdev_dy
gfloat sdev_dy
rms displacement in y-direction
Definition: gpiv.h:299
__GpivScalarData::nx
guint nx
number of data in x-direction
Definition: gpiv.h:322
__GpivScalarData::scale
gboolean scale
flag for scaled estimators
Definition: gpiv.h:333
__GpivPivData::min_dx
gfloat min_dx
minimum displacement in x-direction
Definition: gpiv.h:295
gpiv-post_utils.h
utilities for GpivScalarData and GpivBinData
__GpivPivData::point_x
gfloat ** point_x
position of data point in x-direction
Definition: gpiv.h:273
__GpivPivData::point_y
gfloat ** point_y
position of data point in y-direction
Definition: gpiv.h:274
__GpivPivData::mean_dz
gfloat mean_dz
mean displacement in z-direction (for future use)
Definition: gpiv.h:303
gpiv-imgproc.h
module for image processing
__GpivPivData::mean_dx
gfloat mean_dx
mean displacement in x-direction
Definition: gpiv.h:293
__GpivPivData::nx
guint nx
number of data in x-direction
Definition: gpiv.h:268
__GpivScalarData::flag
gint ** flag
a flag; always nice, used for whatever it may be (disable data)
Definition: gpiv.h:330
__GpivBinData::count
guint * count
value containing number of occurences at bin#
Definition: gpiv.h:352
__GpivPivData::ny
guint ny
number of data in y-direction
Definition: gpiv.h:269
__GpivPivData::scale__set
gboolean scale__set
flag if scale has been defined
Definition: gpiv.h:310
__GpivScalarData::scalar
gfloat ** scalar
scalar value representing vorticity in z-direction, shear strain or normal strain
Definition: gpiv.h:328
__GpivPivData::dx
gfloat ** dx
particle image displacement in x-direction
Definition: gpiv.h:277
gpiv-piv.h
module for PIV image evaluation
gpiv-trig.h
module for triggering lightsource(s) and camera(s) using RTAI
__GpivScalarData
Holds scalar data, mostly derived from __GpivPivData.
Definition: gpiv.h:321
__GpivPivData::sdev_dz
gfloat sdev_dz
rms displacement in z-direction (for future use)
Definition: gpiv.h:304
__GpivBinData::min
gfloat min
minimum value of input data
Definition: gpiv.h:355
__GpivPivData::max_dy
gfloat max_dy
maximum displacement in y-direction
Definition: gpiv.h:301
__GpivScalarData::scale__set
gboolean scale__set
flag if scale has been defined
Definition: gpiv.h:334

Generated for libgpiv-0.6.1 by doxygen 1.8.17