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
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
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>
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.8