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

Generated on Tue Apr 1 2014 18:33:32 for libgpiv-0.6.1 by doxygen 1.8.6