bugrepair: drag and drop
[gpiv.git] / src / piveval.h
blob37ce9e260ed2f8fcd6152abbfe05c7c8d4525940
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, 2003, 2004, 2005, 2006, 2007, 2008
9 Gerber van der Graaf <gerber_graaf@users.sourceforge.net>
11 This file is part of gpiv.
13 Gpiv is free software; you can redistribute it and/or modify
14 it under the terms of the GNU General Public License as published by
15 the Free Software Foundation; either version 2, or (at your option)
16 any later version.
18 This program is distributed in the hope that it will be useful,
19 but WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 GNU General Public License for more details.
23 You should have received a copy of the GNU General Public License
24 along with this program; if not, write to the Free Software Foundation,
25 Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
27 ----------------------------------------------------------------------*/
30 * (callback) functions for Piv evaluation window/tabulator
31 * $Log: piveval.h,v $
32 * Revision 1.11 2008-04-28 12:00:57 gerber
33 * hdf-formatted files are now with .hdf extension (previously: .gpi)
35 * Revision 1.10 2007-11-23 16:24:07 gerber
36 * release 0.5.0: Kafka
38 * Revision 1.9 2007-06-06 17:00:48 gerber
39 * Retreives images/data from URI using Gnome Virtual File System.
41 * Revision 1.8 2007-02-16 17:09:48 gerber
42 * added Gauss weighting on I.A. and SPOF filtering (on correlation function)
44 * Revision 1.7 2007-01-29 11:27:44 gerber
45 * added image formats png, gif, tif png, bmp, improved buffer display
47 * Revision 1.6 2006/01/31 14:28:12 gerber
48 * version 0.3.0
50 * Revision 1.5 2005/01/19 15:53:42 gerber
51 * Initiation of Data Acquisition (DAC); trigerring of lasers and camera
52 * by using RTAI and Realtime Linux, recording images from IEEE1394
53 * (Firewire) IIDC compliant camera's
55 * Revision 1.4 2004/10/15 19:24:05 gerber
56 * GPIV_ and Gpiv prefix to defines and structure names of libgpiv
58 * Revision 1.3 2004/06/14 21:19:23 gerber
59 * Image depth up to 16 bits.
60 * Improvement "single int" and "drag int" in Eval tab.
61 * Viewer's pop-up menu.
62 * Adaption for gpiv_matrix_* and gpiv_vector_*.
63 * Resizing console.
64 * See Changelog for further info.
66 * Revision 1.2 2003/09/01 11:17:15 gerber
67 * improved monitoring of interrogation process
69 * Revision 1.1.1.1 2003/06/17 17:10:52 gerber
70 * Imported gpiv
74 #ifndef PIVEVAL_H
75 #define PIVEVAL_H
77 gint int_scheme_tmp, zero_off_tmp, weight_tmp; /* used in on_radiobutton_piv_int */
78 gint setby_spinbutton; /* used in on_spinbutton_piv_int and on_radiobutton_piv_int */
79 gboolean int_scheme_autochanged;
83 * Public piv evaluation functions
86 void
87 interrogate_ORG (GpivPivData *piv_data, /* output piv data from image analysis */
88 guint16 **img_1, /* raw (binary) image data of first piv image */
89 guint16 **img_2, /* raw (binary) image data of second piv image */
90 GpivConsole *gpiv); /* console widgets structure */
92 void
93 display_piv_vector (guint i,
94 guint j,
95 GpivPivData *piv_data,
96 PivEval *piveval);
98 void
99 display_img_intreg1 (float **intreg1,
100 guint int_size,
101 PivEval *piveval);
103 void
104 display_img_intreg2 (float **intreg2,
105 guint int_size,
106 PivEval *piveval);
108 void
109 display_img_cov (GpivCov *cov,
110 guint int_size,
111 PivEval *piveval);
115 * Piv evaluation window/tabulator callbacks
118 void
119 on_radiobutton_piv_mouse (GtkWidget *widget,
120 gpointer data);
122 void
123 on_radiobutton_piv_mouse1_enter (GtkWidget *widget,
124 gpointer data);
125 void
126 on_radiobutton_piv_mouse2_enter (GtkWidget *widget,
127 gpointer data);
128 void
129 on_radiobutton_piv_mouse3_enter (GtkWidget *widget,
130 gpointer data);
131 void
132 on_radiobutton_piv_mouse4_enter (GtkWidget *widget,
133 gpointer data);
134 void
135 on_radiobutton_piv_mouse5_enter (GtkWidget *widget,
136 gpointer data);
137 void
138 on_radiobutton_piv_mouse6_enter (GtkWidget *widget,
139 gpointer data);
140 void
141 on_radiobutton_piv_mouse7_enter (GtkWidget *widget,
142 gpointer data);
146 * entries for first, last, and pre-shift columns and rows
149 void
150 on_spinbutton_piv_int (GtkSpinButton *widget,
151 GtkWidget *entry);
155 * radio buttons of first, second interrogation sizes and shift (adjacent
156 * distances
159 void
160 on_radiobutton_piv_int (GtkWidget *widget,
161 gpointer data);
163 void
164 on_radiobutton_fit_enter (GtkWidget *widget,
165 gpointer data);
167 void
168 on_radiobutton_peak_enter (GtkWidget *widget,
169 gpointer data);
171 void
172 on_radiobutton_interrogatescheme_enter (GtkWidget *widget,
173 gpointer data);
175 void
176 on_radiobutton_interrogatescheme_imgdeform_enter (GtkWidget *widget,
177 gpointer data);
179 void
180 on_toggle_piv (GtkWidget *widget,
181 gpointer data);
183 void
184 on_checkbutton_weight_ia_enter (GtkWidget *widget,
185 gpointer data);
186 void
187 on_checkbutton_weight_ia (GtkWidget *widget,
188 gpointer data);
190 void
191 on_checkbutton_spof_enter (GtkWidget *widget,
192 gpointer data);
193 void
194 on_checkbutton_spof (GtkWidget *widget,
195 gpointer data);
197 void
198 on_button_piv (GtkWidget *widget,
199 gpointer data);
201 void
202 on_toolbar_chackbutton_piv (GtkWidget *widget,
203 gpointer data);
206 * showing interrogation area's, covariance function and
207 * displacement vector
209 gboolean
210 on_darea_piv_monitor_int1_expose (GtkWidget *widget,
211 GdkEventExpose *event,
212 gpointer user_data);
214 gboolean
215 on_darea_piv_monitor_int2_expose (GtkWidget *widget,
216 GdkEventExpose *event,
217 gpointer user_data);
218 gboolean
219 on_darea_piv_monitor_cov_expose (GtkWidget *widget,
220 GdkEventExpose *event,
221 gpointer user_data);
223 void
224 on_checkbutton_piv_monitor_enter (GtkWidget *widget,
225 gpointer data);
227 void
228 on_checkbutton_piv_monitor (GtkWidget *widget,
229 gpointer data);
231 void
232 on_spinbutton_piv_monitor_zoom (GtkSpinButton *widget,
233 gpointer data);
235 void
236 on_spinbutton_piv_monitor_vectorscale (GtkSpinButton *widget,
237 gpointer data);
239 void
240 on_button_piv_enter (GtkWidget *widget,
241 gpointer data);
243 void
244 adjust_radiobutton_piv_int (PivEval *piveval,
245 guint int_size_f);
248 #endif /* PIVEVAL_H */