Main Page | Files | Data Structures | Functions | Global Variables |
gpiv-imgproc.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 FILENAME: imgproc.h
27 LIBRARY: libgpiv:
28 EXTERNAL FUNCTIONS:
29 SOURCE: imgproc_par.c
30  gpiv_imgproc_parameters_set
31  gpiv_imgproc_default_parameters
32  gpiv_imgproc_fscan_parameters
33  gpiv_imgproc_read_parameters
34  gpiv_imgproc_check_parameters
35  gpiv_imgproc_test_parameters
36  gpiv_imgproc_print_parameters
37  gpiv_imgproc_fprint_parameters
38  gpiv_imgproc_cp_parameters
39 
40 SOURCE: imgproc.c
41  gpiv_imgproc_mktestimg
42  gpiv_imgproc_subtractimg
43  gpiv_imgproc_smooth
44  gpiv_imgproc_highlow
45  gpiv_imgproc_clip
46  gpiv_imgproc_getbit
47  gpiv_imgproc_fft
48  gpiv_imgproc_lowpass
49  gpiv_imgproc_highpass
50  gpiv_imgproc_correlate
51  gpiv_imgproc_convolve
52 
53 -----------------------------------------------------------------------------*/
64 #ifndef __LIBGPIV_IMGPROC_H__
65 #define __LIBGPIV_IMGPROC_H__
66 
67 #define GPIV_IMGPROCPAR_MAX__THRESHOLD 255
68 #define GPIV_IMGPROCPAR_MAX__WINDOW 50
69 
70 #define GPIV_IMGPROCPAR_KEY "IMGPROC"
75 enum GpivImgFilter {
90 };
91 
101 };
102 
103 
105 
117  guint bit;
118  gboolean bit__set;
121  gboolean filter__set;
126  guint window;
127  gboolean window__set;
129  guint threshold;
130  gboolean threshold__set;
131 };
132 
133 
134 
135 
143 void
145  const gboolean flag
146  );
147 
148 
149 
157 void
159  const gboolean force
160  );
161 
162 
163 
173 void
174 gpiv_imgproc_read_parameters (FILE *fp_h,
175  GpivImageProcPar *image_proc_par,
176  const gboolean print_par
177  );
178 
179 
180 
190 gchar *
192  const GpivImageProcPar *image_proc_par_default
193  );
194 
195 
196 
203 gchar *
204 gpiv_imgproc_test_parameters (const GpivImageProcPar *image_proc_par
205  );
206 
207 
208 
217 void
219  const GpivImageProcPar *image_proc_par
220  );
221 
222 
231  );
232 
233 
242 GpivImage *
243 gpiv_imgproc_mktestimg (const GpivImagePar *image_par,
244  const GpivImageProcPar *image_proc_par
245  );
246 
247 
257 gchar *
258 gpiv_imgproc_subtractimg (const GpivImage *image_in,
259  GpivImage *image_out
260  );
261 
262 
271 gchar *
273  const GpivImageProcPar *image_proc_par
274  );
275 
276 
285 gchar *
287  const GpivImageProcPar *image_proc_par
288  );
289 
290 
299 gchar *
301  const GpivImageProcPar *image_proc_par
302  );
303 
304 
312 gchar *
314  const GpivImageProcPar *image_proc_par
315  );
316 
317 
326 gchar *
328  const GpivImageProcPar *image_proc_par
329  );
330 
331 
339 gchar *
341  const GpivImageProcPar *image_proc_par
342  );
343 
344 
345 #ifndef USE_FFTW3
346 
355 gchar *
357  GpivImageProcPar image_proc_par,
358  guint16 **img
359  );
360 
361 
362 
373 gchar *
375  GpivImageProcPar image_proc_par,
376  guint16 **img1_in,
377  guint16 **img2_in,
378  guint16* **img_out
379  );
380 
381 
382 
394 gchar *
396  GpivImageProcPar image_proc_par,
397  guint16 **img1_in,
398  guint16 **img2_in,
399  guint16* **img_out
400  );
401 
402 #endif /* USE_FFTW3 */
403 
404 
414 gchar *
416  const GpivPivData *piv_data
417  );
418 
419 
420 #endif /* __LIBGPIV_IMGPROC_H__ */
421 
gchar * gpiv_imgproc_subtractimg(const GpivImage *image_in, GpivImage *image_out)
Subtracts image intensities of img_in from img_out.
enum GpivImgFilter filter
Filter type.
Definition: gpiv-imgproc.h:120
gchar * gpiv_imgproc_getbit(GpivImage *image, const GpivImageProcPar *image_proc_par)
Pointer operation to get the N least significant bits and moves them to most the significant bits...
Low pass filter.
Definition: gpiv-imgproc.h:86
gboolean filter__set
flag if filter has been defined
Definition: gpiv-imgproc.h:121
gboolean window__set
flag if window has been defined
Definition: gpiv-imgproc.h:127
Divide by avarage.
Definition: gpiv-imgproc.h:100
gchar * gpiv_imgproc_highlow(GpivImage *image, const GpivImageProcPar *image_proc_par)
High-low filter to maximize contrast by stretching pixel values to local max and min within window x ...
enum GpivImgSmoothOperator smooth_operator
Type of sooting operaor.
Definition: gpiv-imgproc.h:123
gchar * gpiv_imgproc_smooth(GpivImage *image, const GpivImageProcPar *image_proc_par)
Smoothing filter by taking mean value of surrounding window x window pixels.
gchar * gpiv_imgproc_clip(GpivImage *image, const GpivImageProcPar *image_proc_par)
Sets all pixel values lower than threshold to zero.
gchar * gpiv_imgproc_highpass(GpivImage *image, const GpivImageProcPar *image_proc_par)
Highpass filter on an image passing data from M - window,..,M/2, N - window,..,N/2.
No action.
Definition: gpiv-imgproc.h:96
Add avarage.
Definition: gpiv-imgproc.h:98
gchar * gpiv_imgproc_test_parameters(const GpivImageProcPar *image_proc_par)
Tests image processing parameters on validity.
Piv image header and data.
Definition: gpiv-img.h:194
High-low filter.
Definition: gpiv-imgproc.h:79
Image processing parameters.
Definition: gpiv-imgproc.h:116
guint threshold
minimum or maximum (intensity) value
Definition: gpiv-imgproc.h:129
Convolve.
Definition: gpiv-imgproc.h:85
gchar * gpiv_imgproc_deform(GpivImage *image, const GpivPivData *piv_data)
Image shifting and deformation routine for a single exposed, double frame PIV image pair with magnitu...
gboolean smooth_operator__set
flag smooth_operator if has been defined
Definition: gpiv-imgproc.h:124
Holds the variables of PIV data.
Definition: gpiv.h:267
Subtract background image.
Definition: gpiv-imgproc.h:77
void gpiv_imgproc_read_parameters(FILE *fp_h, GpivImageProcPar *image_proc_par, const gboolean print_par)
Reads image processing parameters.
Subtract avarage.
Definition: gpiv-imgproc.h:97
gchar * gpiv_imgproc_convolve(GpivImagePar image_par, GpivImageProcPar image_proc_par, guint16 **img1_in, guint16 **img2_in, guint16 ***img_out)
Convolves two images.
void gpiv_imgproc_print_parameters(FILE *fp, const GpivImageProcPar *image_proc_par)
Prints image processing parameters to file.
guint bit
bit number
Definition: gpiv-imgproc.h:117
Image parameters or header info.
Definition: gpiv-img.h:122
void gpiv_imgproc_parameters_set(GpivImageProcPar *image_proc_par, const gboolean flag)
Sets flag for image_proc_par__set.
Multiply with avarage.
Definition: gpiv-imgproc.h:99
GpivImage * gpiv_imgproc_mktestimg(const GpivImagePar *image_par, const GpivImageProcPar *image_proc_par)
Genarates test image for image processing.
gchar * gpiv_imgproc_correlate(GpivImagePar image_par, GpivImageProcPar image_proc_par, guint16 **img1_in, guint16 **img2_in, guint16 ***img_out)
Correlates two images.
guint window
geographic window in pixels
Definition: gpiv-imgproc.h:126
gchar * gpiv_imgproc_check_parameters_read(GpivImageProcPar *image_proc_par, const GpivImageProcPar *image_proc_par_default)
Checks if all necessary image processing parameters have been read.
gboolean threshold__set
flag if threshold has been defined
Definition: gpiv-imgproc.h:130
Pointer operation to get the N least significant bits.
Definition: gpiv-imgproc.h:89
Generate test image.
Definition: gpiv-imgproc.h:76
Smooth filter.
Definition: gpiv-imgproc.h:78
Clipping.
Definition: gpiv-imgproc.h:80
gchar * gpiv_imgproc_lowpass(GpivImagePar image_par, GpivImageProcPar image_proc_par, guint16 **img)
Lowpass filter on an image.
FFT image.
Definition: gpiv-imgproc.h:82
GpivImgFilter
Image filter type.
Definition: gpiv-imgproc.h:75
Inverse FFT image.
Definition: gpiv-imgproc.h:83
High pass filter.
Definition: gpiv-imgproc.h:87
void gpiv_imgproc_default_parameters(GpivImageProcPar *imgproc_par_default, const gboolean force)
Sets default parameter values.
GpivImgSmoothOperator
Operator type when smoothing is performed.
Definition: gpiv-imgproc.h:95
gboolean bit__set
flag if has bit been defined
Definition: gpiv-imgproc.h:118
Correlate.
Definition: gpiv-imgproc.h:84
GpivImageProcPar * gpiv_imgproc_cp_parameters(const GpivImageProcPar *imgproc_par)
Copies image processing parameters.
gchar * gpiv_imgproc_fft(GpivImage *image, const GpivImageProcPar *image_proc_par)
Fast Fourier Transformation of image.

Generated for libgpiv-0.6.1 by doxygen 1.8.13