Release 0.6.0 using parallelized code
[gpiv.git] / src / piveval.h
blob846bdeade2a33eb97a9ab6b40d0edc047d0d905f
1 /* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 4 c-style: "K&R" -*- */
3 /*----------------------------------------------------------------------
5 gpiv - Graphic program for Particle Image Velocimetry, based on gtk/gnome
6 libraries.
8 Copyright (C) 2002 Gerber van der Graaf
10 This file is part of gpiv.
12 Gpiv is free software; you can redistribute it and/or modify
13 it under the terms of the GNU General Public License as published by
14 the Free Software Foundation; either version 2, or (at your option)
15 any later version.
17 This program is distributed in the hope that it will be useful,
18 but WITHOUT ANY WARRANTY; without even the implied warranty of
19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 GNU General Public License for more details.
22 You should have received a copy of the GNU General Public License
23 along with this program; if not, write to the Free Software Foundation,
24 Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26 ----------------------------------------------------------------------*/
29 * (callback) functions for Piv evaluation window/tabulator
30 * $Log: piveval.h,v $
31 * Revision 1.11 2008-04-28 12:00:57 gerber
32 * hdf-formatted files are now with .hdf extension (previously: .gpi)
34 * Revision 1.10 2007-11-23 16:24:07 gerber
35 * release 0.5.0: Kafka
37 * Revision 1.9 2007-06-06 17:00:48 gerber
38 * Retreives images/data from URI using Gnome Virtual File System.
40 * Revision 1.8 2007-02-16 17:09:48 gerber
41 * added Gauss weighting on I.A. and SPOF filtering (on correlation function)
43 * Revision 1.7 2007-01-29 11:27:44 gerber
44 * added image formats png, gif, tif png, bmp, improved buffer display
46 * Revision 1.6 2006/01/31 14:28:12 gerber
47 * version 0.3.0
49 * Revision 1.5 2005/01/19 15:53:42 gerber
50 * Initiation of Data Acquisition (DAC); trigerring of lasers and camera
51 * by using RTAI and Realtime Linux, recording images from IEEE1394
52 * (Firewire) IIDC compliant camera's
54 * Revision 1.4 2004/10/15 19:24:05 gerber
55 * GPIV_ and Gpiv prefix to defines and structure names of libgpiv
57 * Revision 1.3 2004/06/14 21:19:23 gerber
58 * Image depth up to 16 bits.
59 * Improvement "single int" and "drag int" in Eval tab.
60 * Viewer's pop-up menu.
61 * Adaption for gpiv_matrix_* and gpiv_vector_*.
62 * Resizing console.
63 * See Changelog for further info.
65 * Revision 1.2 2003/09/01 11:17:15 gerber
66 * improved monitoring of interrogation process
68 * Revision 1.1.1.1 2003/06/17 17:10:52 gerber
69 * Imported gpiv
73 #ifndef PIVEVAL_H
74 #define PIVEVAL_H
76 gint int_scheme_tmp, zero_off_tmp, weight_tmp; /* used in on_radiobutton_piv_int */
77 gint setby_spinbutton; /* used in on_spinbutton_piv_int and on_radiobutton_piv_int */
78 gboolean int_scheme_autochanged;
82 * Public piv evaluation functions
85 void
86 interrogate_ORG (GpivPivData *piv_data, /* output piv data from image analysis */
87 guint16 **img_1, /* raw (binary) image data of first piv image */
88 guint16 **img_2, /* raw (binary) image data of second piv image */
89 GpivConsole *gpiv); /* console widgets structure */
91 void
92 display_piv_vector (guint i,
93 guint j,
94 GpivPivData *piv_data,
95 PivEval *piveval);
97 void
98 display_img_intreg1 (float **intreg1,
99 guint int_size,
100 PivEval *piveval);
102 void
103 display_img_intreg2 (float **intreg2,
104 guint int_size,
105 PivEval *piveval);
107 void
108 display_img_cov (GpivCov *cov,
109 guint int_size,
110 PivEval *piveval);
114 * Piv evaluation window/tabulator callbacks
117 void
118 on_radiobutton_piv_mouse (GtkWidget *widget,
119 gpointer data);
121 void
122 on_radiobutton_piv_mouse1_enter (GtkWidget *widget,
123 gpointer data);
124 void
125 on_radiobutton_piv_mouse2_enter (GtkWidget *widget,
126 gpointer data);
127 void
128 on_radiobutton_piv_mouse3_enter (GtkWidget *widget,
129 gpointer data);
130 void
131 on_radiobutton_piv_mouse4_enter (GtkWidget *widget,
132 gpointer data);
133 void
134 on_radiobutton_piv_mouse5_enter (GtkWidget *widget,
135 gpointer data);
136 void
137 on_radiobutton_piv_mouse6_enter (GtkWidget *widget,
138 gpointer data);
139 void
140 on_radiobutton_piv_mouse7_enter (GtkWidget *widget,
141 gpointer data);
145 * entries for first, last, and pre-shift columns and rows
148 void
149 on_spinbutton_piv_int (GtkSpinButton *widget,
150 GtkWidget *entry);
154 * radio buttons of first, second interrogation sizes and shift (adjacent
155 * distances
158 void
159 on_radiobutton_piv_int (GtkWidget *widget,
160 gpointer data);
162 void
163 on_radiobutton_fit_enter (GtkWidget *widget,
164 gpointer data);
166 void
167 on_radiobutton_peak_enter (GtkWidget *widget,
168 gpointer data);
170 void
171 on_radiobutton_interrogatescheme_enter (GtkWidget *widget,
172 gpointer data);
174 void
175 on_radiobutton_interrogatescheme_imgdeform_enter (GtkWidget *widget,
176 gpointer data);
178 void
179 on_toggle_piv (GtkWidget *widget,
180 gpointer data);
182 void
183 on_checkbutton_weight_ia_enter (GtkWidget *widget,
184 gpointer data);
185 void
186 on_checkbutton_weight_ia (GtkWidget *widget,
187 gpointer data);
189 void
190 on_checkbutton_spof_enter (GtkWidget *widget,
191 gpointer data);
192 void
193 on_checkbutton_spof (GtkWidget *widget,
194 gpointer data);
196 void
197 on_button_piv (GtkWidget *widget,
198 gpointer data);
200 void
201 on_toolbar_chackbutton_piv (GtkWidget *widget,
202 gpointer data);
205 * showing interrogation area's, covariance function and
206 * displacement vector
208 gboolean
209 on_darea_piv_monitor_int1_expose (GtkWidget *widget,
210 GdkEventExpose *event,
211 gpointer user_data);
213 gboolean
214 on_darea_piv_monitor_int2_expose (GtkWidget *widget,
215 GdkEventExpose *event,
216 gpointer user_data);
217 gboolean
218 on_darea_piv_monitor_cov_expose (GtkWidget *widget,
219 GdkEventExpose *event,
220 gpointer user_data);
222 void
223 on_checkbutton_piv_monitor_enter (GtkWidget *widget,
224 gpointer data);
226 void
227 on_checkbutton_piv_monitor (GtkWidget *widget,
228 gpointer data);
230 void
231 on_spinbutton_piv_monitor_zoom (GtkSpinButton *widget,
232 gpointer data);
234 void
235 on_spinbutton_piv_monitor_vectorscale (GtkSpinButton *widget,
236 gpointer data);
238 void
239 on_button_piv_enter (GtkWidget *widget,
240 gpointer data);
242 void
243 adjust_radiobutton_piv_int (PivEval *piveval,
244 guint int_size_f);
247 #endif /* PIVEVAL_H */