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

Generated for libgpiv-0.6.1 by doxygen 1.8.13