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
8 Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008
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)
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 * PIV evaluation interface
31 * $Log: piveval_interface.c,v $
32 * Revision 1.16 2008-04-28 12:00:57 gerber
33 * hdf-formatted files are now with .hdf extension (previously: .gpi)
35 * Revision 1.15 2007-11-23 16:24:07 gerber
36 * release 0.5.0: Kafka
38 * Revision 1.14 2007-06-06 17:00:48 gerber
39 * Retreives images/data from URI using Gnome Virtual File System.
41 * Revision 1.13 2007-03-22 16:00:32 gerber
42 * Added image processing tabulator
44 * Revision 1.12 2007-02-16 17:09:49 gerber
45 * added Gauss weighting on I.A. and SPOF filtering (on correlation function)
47 * Revision 1.11 2007-01-29 11:27:44 gerber
48 * added image formats png, gif, tif png, bmp, improved buffer display
50 * Revision 1.10 2006/01/31 14:28:12 gerber
53 * Revision 1.8 2005/02/12 14:12:12 gerber
54 * Changed tabular names and titles
56 * Revision 1.7 2005/01/19 15:53:42 gerber
57 * Initiation of Data Acquisition (DAC); trigerring of lasers and camera
58 * by using RTAI and Realtime Linux, recording images from IEEE1394
59 * (Firewire) IIDC compliant camera's
61 * Revision 1.6 2004/10/15 19:24:05 gerber
62 * GPIV_ and Gpiv prefix to defines and structure names of libgpiv
64 * Revision 1.5 2004/06/14 21:19:23 gerber
65 * Image depth up to 16 bits.
66 * Improvement "single int" and "drag int" in Eval tab.
67 * Viewer's pop-up menu.
68 * Adaption for gpiv_matrix_* and gpiv_vector_*.
70 * See Changelog for further info.
72 * Revision 1.4 2003/09/01 11:17:15 gerber
73 * improved monitoring of interrogation process
75 * Revision 1.3 2003/08/22 15:24:52 gerber
76 * interactive spatial scaling
78 * Revision 1.2 2003/07/25 15:40:24 gerber
79 * removed/disabled setting of correlation in Eval tab, Correlation type in Image info tab
81 * Revision 1.1.1.1 2003/06/17 17:10:52 gerber
92 #include "piveval_interface.h"
98 create_piveval (GnomeApp
*main_window
,
101 /*-----------------------------------------------------------------------------
104 GpivConsole
*gpiv
= gtk_object_get_data (GTK_OBJECT (main_window
), "gpiv");
105 PivEval
*eval
= g_new0 (PivEval
, 1);
107 eval
->monitor
= g_new0 (Monitor
, 1);
108 eval
->monitor
->pi_da
= gpiv_alloc_pivdata (1, 1);
110 eval
->monitor
->int_size_old
= 0;
111 eval
->monitor
->affine
[0] = gpiv_var
->piv_disproc_zoom
;
112 eval
->monitor
->affine
[1] = 0.0;
113 eval
->monitor
->affine
[2] = 0.0;
114 eval
->monitor
->affine
[3] = gpiv_var
->piv_disproc_zoom
;
115 eval
->monitor
->affine
[4] = 0.0;
116 eval
->monitor
->affine
[5] = 0.0;
118 eval
->monitor
->int_size_old
= 0;
119 eval
->monitor
->affine_vl
[0] = gpiv_var
->piv_disproc_vlength
;
120 eval
->monitor
->affine_vl
[1] = 0.0;
121 eval
->monitor
->affine_vl
[2] = 0.0;
122 eval
->monitor
->affine_vl
[3] = gpiv_var
->piv_disproc_vlength
;
123 eval
->monitor
->affine_vl
[4] = 0.0;
124 eval
->monitor
->affine_vl
[5] = 0.0;
127 eval
->vbox_label
= gtk_vbox_new (FALSE
,
129 gtk_widget_ref (eval
->vbox_label
);
130 gtk_object_set_data_full (GTK_OBJECT (main_window
),
133 (GtkDestroyNotify
) gtk_widget_unref
);
134 gtk_widget_show (eval
->vbox_label
);
135 gtk_container_add (GTK_CONTAINER (container
),
138 eval
->label_title
= gtk_label_new(_("Piv image interrogation"));
139 gtk_widget_ref(eval
->label_title
);
140 gtk_object_set_data_full (GTK_OBJECT (main_window
),
143 (GtkDestroyNotify
) gtk_widget_unref
);
144 gtk_widget_show (eval
->label_title
);
145 gtk_box_pack_start (GTK_BOX (eval
->vbox_label
),
154 eval
->vbox_scroll
= gtk_vbox_new (FALSE
,
156 gtk_widget_ref (eval
->vbox_scroll
);
157 gtk_object_set_data_full (GTK_OBJECT (main_window
),
160 (GtkDestroyNotify
) gtk_widget_unref
);
161 gtk_widget_show (eval
->vbox_scroll
);
162 gtk_box_pack_start (GTK_BOX (eval
->vbox_label
),
163 eval
->vbox_scroll
, TRUE
,
167 eval
->scrolledwindow
= gtk_scrolled_window_new (NULL
,
169 gtk_widget_ref (eval
->scrolledwindow
);
170 gtk_object_set_data_full (GTK_OBJECT (main_window
),
172 eval
->scrolledwindow
,
173 (GtkDestroyNotify
) gtk_widget_unref
);
174 gtk_widget_show (eval
->scrolledwindow
);
175 gtk_box_pack_start (GTK_BOX (eval
->vbox_scroll
),
176 eval
->scrolledwindow
,
180 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (eval
->scrolledwindow
),
182 GTK_POLICY_AUTOMATIC
);
184 eval
->viewport
= gtk_viewport_new (NULL
,
186 gtk_widget_ref (eval
->viewport
);
187 gtk_object_set_data_full (GTK_OBJECT (main_window
),
190 (GtkDestroyNotify
) gtk_widget_unref
);
191 gtk_widget_show (eval
->viewport
);
192 gtk_container_add (GTK_CONTAINER (eval
->scrolledwindow
),
194 gtk_widget_set_size_request (GTK_WIDGET (eval
->scrolledwindow
),
201 eval
->table
= gtk_table_new (2,
204 gtk_widget_ref (eval
->table
);
205 gtk_object_set_data_full (GTK_OBJECT (main_window
),
208 (GtkDestroyNotify
) gtk_widget_unref
);
209 gtk_widget_show (eval
->table
);
210 gtk_container_add (GTK_CONTAINER (eval
->viewport
),
215 * table for entries of first, last and pre-shift columns/rows
217 eval
->table_aoi
= gtk_table_new (4,
220 gtk_widget_ref (eval
->table_aoi
);
221 gtk_object_set_data_full (GTK_OBJECT (main_window
),
224 (GtkDestroyNotify
) gtk_widget_unref
);
225 gtk_widget_show (eval
->table_aoi
);
226 gtk_table_attach (GTK_TABLE (eval
->table
),
232 (GtkAttachOptions
) (GTK_EXPAND
| GTK_FILL
),
233 (GtkAttachOptions
) (GTK_EXPAND
| GTK_FILL
),
239 eval
->label_colstart
= gtk_label_new ( _("first col:"));
240 gtk_widget_ref (eval
->label_colstart
);
241 gtk_object_set_data_full (GTK_OBJECT (main_window
),
243 eval
->label_colstart
,
244 (GtkDestroyNotify
) gtk_widget_unref
);
245 gtk_widget_show (eval
->label_colstart
);
246 gtk_table_attach (GTK_TABLE (eval
->table_aoi
),
247 eval
->label_colstart
,
252 (GtkAttachOptions
) (0),
253 (GtkAttachOptions
) (0),
259 eval
->label_colend
= gtk_label_new ( _("last col:"));
260 gtk_widget_ref (eval
->label_colend
);
261 gtk_object_set_data_full (GTK_OBJECT (main_window
),
264 (GtkDestroyNotify
) gtk_widget_unref
);
265 gtk_widget_show (eval
->label_colend
);
266 gtk_table_attach (GTK_TABLE (eval
->table_aoi
),
272 (GtkAttachOptions
) (0),
273 (GtkAttachOptions
) (0),
279 eval
->label_preshiftcol
= gtk_label_new ( _("pre-shift col:"));
280 gtk_widget_ref (eval
->label_preshiftcol
);
281 gtk_object_set_data_full (GTK_OBJECT (main_window
),
283 eval
->label_preshiftcol
,
284 (GtkDestroyNotify
) gtk_widget_unref
);
285 gtk_widget_show (eval
->label_preshiftcol
);
286 gtk_table_attach (GTK_TABLE (eval
->table_aoi
),
287 eval
->label_preshiftcol
,
292 (GtkAttachOptions
) (0),
293 (GtkAttachOptions
) (0),
299 eval
->label_rowstart
= gtk_label_new ( _("first row:"));
300 gtk_widget_ref (eval
->label_rowstart
);
301 gtk_object_set_data_full (GTK_OBJECT (main_window
),
303 eval
->label_rowstart
,
304 (GtkDestroyNotify
) gtk_widget_unref
);
305 gtk_widget_show (eval
->label_rowstart
);
306 gtk_table_attach (GTK_TABLE (eval
->table_aoi
),
307 eval
->label_rowstart
,
312 (GtkAttachOptions
) (0),
313 (GtkAttachOptions
) (0),
319 eval
->label_rowend
= gtk_label_new ( _("last row:"));
320 gtk_widget_ref (eval
->label_rowend
);
321 gtk_object_set_data_full (GTK_OBJECT (main_window
),
324 (GtkDestroyNotify
) gtk_widget_unref
);
325 gtk_widget_show (eval
->label_rowend
);
326 gtk_table_attach (GTK_TABLE (eval
->table_aoi
),
332 (GtkAttachOptions
) (0),
333 (GtkAttachOptions
) (0),
339 eval
->label_preshiftrow
= gtk_label_new ( _("pre-shift row:"));
340 gtk_widget_ref (eval
->label_preshiftrow
);
341 gtk_object_set_data_full (GTK_OBJECT (main_window
),
343 eval
->label_preshiftrow
,
344 (GtkDestroyNotify
) gtk_widget_unref
);
345 gtk_widget_show (eval
->label_preshiftrow
);
346 gtk_table_attach (GTK_TABLE (eval
->table_aoi
),
347 eval
->label_preshiftrow
,
352 (GtkAttachOptions
) (0),
353 (GtkAttachOptions
) (0),
359 * spinner for colstart
361 eval
->spinbutton_adj_colstart
=
362 gtk_adjustment_new (gl_piv_par
->col_start
,
364 gl_image_par
->ncolumns
- 1,
368 eval
->spinbutton_colstart
=
369 gtk_spin_button_new (GTK_ADJUSTMENT (eval
->spinbutton_adj_colstart
),
372 gtk_widget_ref (eval
->spinbutton_colstart
);
373 gtk_object_set_data_full (GTK_OBJECT (main_window
),
374 "spinbutton_colstart",
375 eval
->spinbutton_colstart
,
376 (GtkDestroyNotify
) gtk_widget_unref
);
378 gtk_widget_show (eval
->spinbutton_colstart
);
379 gtk_table_attach (GTK_TABLE (eval
->table_aoi
),
380 eval
->spinbutton_colstart
,
385 (GtkAttachOptions
) (GTK_EXPAND
| GTK_FILL
),
386 (GtkAttachOptions
) (0),
389 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (eval
->spinbutton_colstart
),
392 gtk_object_set_data (GTK_OBJECT (eval
->spinbutton_colstart
),
395 gtk_object_set_data (GTK_OBJECT (eval
->spinbutton_colstart
),
397 "0" /* COL_START */);
398 g_signal_connect (GTK_OBJECT (eval
->spinbutton_colstart
),
400 G_CALLBACK (on_spinbutton_piv_int
),
401 eval
->spinbutton_colstart
);
406 eval
->spinbutton_adj_colend
=
407 gtk_adjustment_new (gl_piv_par
->col_end
,
409 gl_image_par
->ncolumns
- 1,
413 eval
->spinbutton_colend
=
414 gtk_spin_button_new (GTK_ADJUSTMENT (eval
->spinbutton_adj_colend
),
417 gtk_widget_ref (eval
->spinbutton_colend
);
418 gtk_object_set_data_full (GTK_OBJECT (main_window
),
420 eval
->spinbutton_colend
,
421 (GtkDestroyNotify
) gtk_widget_unref
);
422 gtk_widget_show (eval
->spinbutton_colend
);
423 gtk_table_attach (GTK_TABLE (eval
->table_aoi
),
424 eval
->spinbutton_colend
,
429 (GtkAttachOptions
) (GTK_EXPAND
| GTK_FILL
),
430 (GtkAttachOptions
) (0),
433 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (eval
->spinbutton_colend
),
436 gtk_object_set_data (GTK_OBJECT (eval
->spinbutton_colend
),
439 gtk_object_set_data (GTK_OBJECT (eval
->spinbutton_colend
),
442 g_signal_connect (GTK_OBJECT (eval
->spinbutton_colend
),
444 G_CALLBACK (on_spinbutton_piv_int
),
445 eval
->spinbutton_colend
);
449 * spinner for preshiftcol
451 eval
->spinbutton_adj_preshiftcol
=
452 gtk_adjustment_new (gl_piv_par
->pre_shift_col
,
453 (gint
) -(gl_image_par
->ncolumns
- 1),
454 gl_image_par
->ncolumns
- 1,
458 eval
->spinbutton_preshiftcol
=
459 gtk_spin_button_new (GTK_ADJUSTMENT (eval
->spinbutton_adj_preshiftcol
),
462 gtk_widget_ref (eval
->spinbutton_preshiftcol
);
463 gtk_object_set_data_full (GTK_OBJECT (main_window
),
464 "spinbutton_preshiftcol",
465 eval
->spinbutton_preshiftcol
,
466 (GtkDestroyNotify
) gtk_widget_unref
);
467 gtk_widget_show (eval
->spinbutton_preshiftcol
);
468 gtk_table_attach (GTK_TABLE (eval
->table_aoi
),
469 eval
->spinbutton_preshiftcol
,
474 (GtkAttachOptions
) (GTK_EXPAND
| GTK_FILL
),
475 (GtkAttachOptions
) (0),
478 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON
479 (eval
->spinbutton_preshiftcol
),
482 gtk_object_set_data (GTK_OBJECT (eval
->spinbutton_preshiftcol
),
485 gtk_object_set_data (GTK_OBJECT (eval
->spinbutton_preshiftcol
),
487 "2" /* PRE_SHIFT_COL */);
488 g_signal_connect (GTK_OBJECT (eval
->spinbutton_preshiftcol
),
490 G_CALLBACK (on_spinbutton_piv_int
),
491 eval
->spinbutton_preshiftcol
);
495 * spinner for rowstart
497 eval
->spinbutton_adj_rowstart
=
498 gtk_adjustment_new (gl_piv_par
->row_start
,
500 gl_image_par
->nrows
- 1,
504 eval
->spinbutton_rowstart
=
505 gtk_spin_button_new (GTK_ADJUSTMENT (eval
->spinbutton_adj_rowstart
),
508 gtk_widget_ref (eval
->spinbutton_rowstart
);
509 gtk_object_set_data_full (GTK_OBJECT (main_window
),
510 "spinbutton_rowstart",
511 eval
->spinbutton_rowstart
,
512 (GtkDestroyNotify
) gtk_widget_unref
);
513 gtk_widget_show (eval
->spinbutton_rowstart
);
514 gtk_table_attach (GTK_TABLE (eval
->table_aoi
),
515 eval
->spinbutton_rowstart
,
520 (GtkAttachOptions
) (GTK_EXPAND
| GTK_FILL
),
521 (GtkAttachOptions
) (0),
524 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (eval
->spinbutton_rowstart
),
527 gtk_object_set_data (GTK_OBJECT (eval
->spinbutton_rowstart
),
530 gtk_object_set_data (GTK_OBJECT (eval
->spinbutton_rowstart
),
532 "3"/* (int *) ROWSTART */);
533 g_signal_connect (GTK_OBJECT (eval
->spinbutton_rowstart
),
535 G_CALLBACK (on_spinbutton_piv_int
),
536 eval
->spinbutton_rowstart
);
542 eval
->spinbutton_adj_rowend
=
543 gtk_adjustment_new (gl_piv_par
->row_end
,
545 gl_image_par
->nrows
- 1,
549 eval
->spinbutton_rowend
=
550 gtk_spin_button_new (GTK_ADJUSTMENT (eval
->spinbutton_adj_rowend
),
553 gtk_widget_ref (eval
->spinbutton_rowend
);
554 gtk_object_set_data_full (GTK_OBJECT (main_window
),
556 eval
->spinbutton_rowend
,
557 (GtkDestroyNotify
) gtk_widget_unref
);
558 gtk_widget_show (eval
->spinbutton_rowend
);
559 gtk_table_attach (GTK_TABLE (eval
->table_aoi
),
560 eval
->spinbutton_rowend
,
565 (GtkAttachOptions
) (GTK_EXPAND
| GTK_FILL
),
566 (GtkAttachOptions
) (0),
570 gtk_object_set_data (GTK_OBJECT (eval
->spinbutton_rowend
),
573 gtk_object_set_data (GTK_OBJECT (eval
->spinbutton_rowend
),
576 g_signal_connect (GTK_OBJECT (eval
->spinbutton_rowend
),
578 G_CALLBACK (on_spinbutton_piv_int
),
579 eval
->spinbutton_rowend
);
583 * spinner for preshiftrow
585 eval
->spinbutton_adj_preshiftrow
=
586 gtk_adjustment_new (gl_piv_par
->pre_shift_row
,
587 (gint
) - (gl_image_par
->ncolumns
- 1),
588 gl_image_par
->ncolumns
- 1,
592 eval
->spinbutton_preshiftrow
=
593 gtk_spin_button_new (GTK_ADJUSTMENT (eval
->spinbutton_adj_preshiftrow
),
596 gtk_widget_ref (eval
->spinbutton_preshiftrow
);
597 gtk_object_set_data_full (GTK_OBJECT (main_window
),
598 "spinbutton_preshiftrow",
599 eval
->spinbutton_preshiftrow
,
600 (GtkDestroyNotify
) gtk_widget_unref
);
601 gtk_widget_show (eval
->spinbutton_preshiftrow
);
602 gtk_table_attach (GTK_TABLE (eval
->table_aoi
),
603 eval
->spinbutton_preshiftrow
,
608 (GtkAttachOptions
) (GTK_EXPAND
| GTK_FILL
),
609 (GtkAttachOptions
) (0),
613 gtk_object_set_data (GTK_OBJECT (eval
->spinbutton_preshiftrow
),
616 gtk_object_set_data (GTK_OBJECT (eval
->spinbutton_preshiftrow
),
618 "5" /* PRESHIFTROW */);
619 g_signal_connect (GTK_OBJECT (eval
->spinbutton_preshiftrow
),
621 G_CALLBACK (on_spinbutton_piv_int
),
622 eval
->spinbutton_preshiftrow
);
626 * radio buttons and spinners for interrogation size 1
629 eval
->hbox_intreg
= gtk_hbox_new (FALSE
, 0);
630 gtk_widget_ref (eval
->hbox_intreg
);
631 gtk_object_set_data_full (GTK_OBJECT (main_window
),
634 (GtkDestroyNotify
) gtk_widget_unref
);
635 gtk_widget_show (eval
->hbox_intreg
);
636 gtk_table_attach (GTK_TABLE (eval
->table
), eval
->hbox_intreg
,
641 (GtkAttachOptions
) (GTK_FILL
),
642 (GtkAttachOptions
) (GTK_EXPAND
| GTK_FILL
), 0, 0);
644 eval
->frame_2
= gtk_frame_new ( _("Final Int Size"));
645 gtk_widget_ref (eval
->frame_2
);
646 gtk_object_set_data_full (GTK_OBJECT (main_window
),
649 (GtkDestroyNotify
) gtk_widget_unref
);
650 gtk_widget_show (eval
->frame_2
);
651 gtk_box_pack_start (GTK_BOX (eval
->hbox_intreg
),
657 eval
->vbox_intsize_f
= gtk_vbox_new (FALSE
, 0);
658 gtk_widget_ref (eval
->vbox_intsize_f
);
659 gtk_object_set_data_full (GTK_OBJECT (main_window
),
661 eval
->vbox_intsize_f
,
662 (GtkDestroyNotify
) gtk_widget_unref
);
663 gtk_widget_show (eval
->vbox_intsize_f
);
664 gtk_container_add (GTK_CONTAINER (eval
->frame_2
),
665 eval
->vbox_intsize_f
);
669 * spinner for interrogation size 1
671 eval
->spinbutton_adj_intsize_f
=
672 gtk_adjustment_new (gl_piv_par
->int_size_f
,
673 GPIV_MIN_INTERR_SIZE
,
674 GPIV_MAX_INTERR_SIZE
,
678 eval
->spinbutton_intsize_f
=
679 gtk_spin_button_new (GTK_ADJUSTMENT (eval
->spinbutton_adj_intsize_f
),
682 gtk_widget_ref (eval
->spinbutton_intsize_f
);
683 /* gtk_spin_button_set_numeric (eval->spinbutton_intsize_f, */
684 /* GTK_TOGGLE_BUTTON (eval->spinbutton_intsize_f)->active); */
685 gtk_object_set_data_full (GTK_OBJECT (main_window
),
686 "spinbutton_intsize_f",
687 eval
->spinbutton_intsize_f
,
688 (GtkDestroyNotify
) gtk_widget_unref
);
689 gtk_widget_show (eval
->spinbutton_intsize_f
);
690 gtk_box_pack_start (GTK_BOX (eval
->vbox_intsize_f
),
691 eval
->spinbutton_intsize_f
,
694 gtk_object_set_data (GTK_OBJECT (eval
->spinbutton_intsize_f
),
697 gtk_object_set_data (GTK_OBJECT (eval
->spinbutton_intsize_f
),
699 "6" /* INT_SIZE_F */);
700 g_signal_connect (GTK_OBJECT (eval
->spinbutton_intsize_f
),
702 G_CALLBACK (on_spinbutton_piv_int
),
703 eval
->spinbutton_intsize_f
);
709 * radio buttons for interrogation size 1
712 /* eval->radiobutton_intsize_f_1 = */
713 /* gtk_radio_button_new_with_label (eval->int_size_f_group, _("8")); */
714 /* eval->int_size_f_group = */
715 /* gtk_radio_button_group (GTK_RADIO_BUTTON */
716 /* (eval->radiobutton_intsize_f_1)); */
717 /* gtk_widget_ref (eval->radiobutton_intsize_f_1); */
718 /* gtk_object_set_data_full (GTK_OBJECT (main_window), */
719 /* "radiobutton_intsize_f_1", */
720 /* eval->radiobutton_intsize_f_1, */
721 /* (GtkDestroyNotify) gtk_widget_unref); */
722 /* gtk_widget_show (eval->radiobutton_intsize_f_1); */
723 /* gtk_box_pack_start (GTK_BOX (eval->vbox_intsize_f), */
724 /* eval->radiobutton_intsize_f_1, FALSE, FALSE, 0); */
726 /* gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_f_1), "intsize_f", */
728 /* gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_f_1), "var_type", */
730 /* g_signal_connect (GTK_OBJECT (eval->radiobutton_intsize_f_1), "toggled", */
731 /* G_CALLBACK (on_eval->radiobutton_int), NULL); */
734 eval
->radiobutton_intsize_f_2
=
735 gtk_radio_button_new_with_label (eval
->int_size_f_group
,
737 eval
->int_size_f_group
=
738 gtk_radio_button_group (GTK_RADIO_BUTTON
739 (eval
->radiobutton_intsize_f_2
));
740 gtk_widget_ref (eval
->radiobutton_intsize_f_2
);
741 gtk_object_set_data_full (GTK_OBJECT (main_window
),
742 "radiobutton_intsize_f_2",
743 eval
->radiobutton_intsize_f_2
,
744 (GtkDestroyNotify
) gtk_widget_unref
);
745 gtk_widget_show (eval
->radiobutton_intsize_f_2
);
746 gtk_box_pack_start (GTK_BOX (eval
->vbox_intsize_f
),
747 eval
->radiobutton_intsize_f_2
,
752 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intsize_f_2
),
755 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intsize_f_2
),
758 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intsize_f_2
),
761 g_signal_connect (GTK_OBJECT (eval
->radiobutton_intsize_f_2
),
763 G_CALLBACK (on_radiobutton_piv_int
),
768 eval
->radiobutton_intsize_f_3
=
769 gtk_radio_button_new_with_label (eval
->int_size_f_group
,
771 eval
->int_size_f_group
=
772 gtk_radio_button_group (GTK_RADIO_BUTTON
773 (eval
->radiobutton_intsize_f_3
));
774 gtk_widget_ref (eval
->radiobutton_intsize_f_3
);
775 gtk_object_set_data_full (GTK_OBJECT (main_window
),
776 "radiobutton_intsize_f_3",
777 eval
->radiobutton_intsize_f_3
,
778 (GtkDestroyNotify
) gtk_widget_unref
);
779 gtk_widget_show (eval
->radiobutton_intsize_f_3
);
780 gtk_box_pack_start (GTK_BOX (eval
->vbox_intsize_f
),
781 eval
->radiobutton_intsize_f_3
,
786 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intsize_f_3
),
789 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intsize_f_3
),
792 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intsize_f_3
),
795 g_signal_connect (GTK_OBJECT (eval
->radiobutton_intsize_f_3
),
797 G_CALLBACK (on_radiobutton_piv_int
),
802 eval
->radiobutton_intsize_f_4
=
803 gtk_radio_button_new_with_label (eval
->int_size_f_group
,
805 eval
->int_size_f_group
=
806 gtk_radio_button_group (GTK_RADIO_BUTTON
807 (eval
->radiobutton_intsize_f_4
));
808 gtk_widget_ref (eval
->radiobutton_intsize_f_4
);
809 gtk_object_set_data_full (GTK_OBJECT (main_window
),
810 "radiobutton_intsize_f_4",
811 eval
->radiobutton_intsize_f_4
,
812 (GtkDestroyNotify
) gtk_widget_unref
);
813 gtk_widget_show (eval
->radiobutton_intsize_f_4
);
814 gtk_box_pack_start (GTK_BOX (eval
->vbox_intsize_f
),
815 eval
->radiobutton_intsize_f_4
,
820 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intsize_f_4
),
823 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intsize_f_4
),
826 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intsize_f_4
),
829 g_signal_connect (GTK_OBJECT (eval
->radiobutton_intsize_f_4
),
831 G_CALLBACK (on_radiobutton_piv_int
),
836 eval
->radiobutton_intsize_f_5
=
837 gtk_radio_button_new_with_label (eval
->int_size_f_group
,
839 eval
->int_size_f_group
=
840 gtk_radio_button_group (GTK_RADIO_BUTTON
841 (eval
->radiobutton_intsize_f_5
));
842 gtk_widget_ref (eval
->radiobutton_intsize_f_5
);
843 gtk_object_set_data_full (GTK_OBJECT (main_window
),
844 "radiobutton_intsize_f_5",
845 eval
->radiobutton_intsize_f_5
,
846 (GtkDestroyNotify
) gtk_widget_unref
);
847 gtk_widget_show (eval
->radiobutton_intsize_f_5
);
848 gtk_box_pack_start (GTK_BOX (eval
->vbox_intsize_f
),
849 eval
->radiobutton_intsize_f_5
,
854 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intsize_f_5
),
857 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intsize_f_5
),
860 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intsize_f_5
),
863 g_signal_connect (GTK_OBJECT (eval
->radiobutton_intsize_f_5
),
865 G_CALLBACK (on_radiobutton_piv_int
),
870 * radio buttons for interrogation size 2
873 eval
->frame_3
= gtk_frame_new ( _("Initial Int Size"));
874 gtk_widget_ref (eval
->frame_3
);
875 gtk_object_set_data_full (GTK_OBJECT (main_window
),
878 (GtkDestroyNotify
) gtk_widget_unref
);
879 gtk_widget_show (eval
->frame_3
);
880 gtk_box_pack_start (GTK_BOX (eval
->hbox_intreg
),
887 eval
->vbox_intsize_i
= gtk_vbox_new (FALSE
,
889 gtk_widget_ref (eval
->vbox_intsize_i
);
890 gtk_object_set_data_full (GTK_OBJECT (main_window
),
892 eval
->vbox_intsize_i
,
893 (GtkDestroyNotify
) gtk_widget_unref
);
894 gtk_widget_show (eval
->vbox_intsize_i
);
895 gtk_container_add (GTK_CONTAINER (eval
->frame_3
),
896 eval
->vbox_intsize_i
);
900 * spinner for interrogation size 2
902 eval
->spinbutton_adj_intsize_i
=
903 gtk_adjustment_new (gl_piv_par
->int_size_i
,
904 GPIV_MIN_INTERR_SIZE
,
905 GPIV_MAX_INTERR_SIZE
,
909 eval
->spinbutton_intsize_i
=
910 gtk_spin_button_new (GTK_ADJUSTMENT (eval
->spinbutton_adj_intsize_i
),
913 gtk_widget_ref (eval
->spinbutton_intsize_i
);
914 gtk_object_set_data_full (GTK_OBJECT (main_window
),
915 "spinbutton_intsize_i",
916 eval
->spinbutton_intsize_i
,
917 (GtkDestroyNotify
) gtk_widget_unref
);
918 gtk_widget_show (eval
->spinbutton_intsize_i
);
919 gtk_box_pack_start (GTK_BOX (eval
->vbox_intsize_i
),
920 eval
->spinbutton_intsize_i
,
925 gtk_object_set_data (GTK_OBJECT (eval
->spinbutton_intsize_i
),
928 gtk_object_set_data (GTK_OBJECT (eval
->spinbutton_intsize_i
),
930 "7" /* INT_SIZE_I */);
931 g_signal_connect (GTK_OBJECT (eval
->spinbutton_intsize_i
),
933 G_CALLBACK (on_spinbutton_piv_int
),
934 eval
->spinbutton_intsize_i
);
939 /* eval->radiobutton_intsize_i_1 = */
940 /* gtk_radio_button_new_with_label (eval->int_size_i_group, _("8")); */
941 /* eval->int_size_i_group = */
942 /* gtk_radio_button_group (GTK_RADIO_BUTTON */
943 /* (eval->radiobutton_intsize_i_1)); */
944 /* gtk_widget_ref (eval->radiobutton_intsize_i_1); */
945 /* gtk_object_set_data_full (GTK_OBJECT (main_window), */
946 /* "radiobutton_intsize_i_1", */
947 /* eval->radiobutton_intsize_i_1, */
948 /* (GtkDestroyNotify) gtk_widget_unref); */
949 /* gtk_widget_show (eval->radiobutton_intsize_i_1); */
950 /* gtk_box_pack_start (GTK_BOX (eval->vbox_intsize_i), */
951 /* eval->radiobutton_intsize_i_1, FALSE, FALSE, 0); */
953 /* gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_i_1),
955 /* gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_i_1), "intsize_i", */
957 /* gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_i_1), "var_type", */
959 /* g_signal_connect (GTK_OBJECT (eval->radiobutton_intsize_i_1), "toggled", */
960 /* G_CALLBACK (on_radiobutton_piv_int), NULL); */
963 eval
->radiobutton_intsize_i_2
=
964 gtk_radio_button_new_with_label (eval
->int_size_i_group
,
966 eval
->int_size_i_group
=
967 gtk_radio_button_group (GTK_RADIO_BUTTON
968 (eval
->radiobutton_intsize_i_2
));
969 gtk_widget_ref (eval
->radiobutton_intsize_i_2
);
970 gtk_object_set_data_full (GTK_OBJECT (main_window
),
971 "radiobutton_intsize_i_2",
972 eval
->radiobutton_intsize_i_2
,
973 (GtkDestroyNotify
) gtk_widget_unref
);
974 gtk_widget_show (eval
->radiobutton_intsize_i_2
);
975 gtk_box_pack_start (GTK_BOX (eval
->vbox_intsize_i
),
976 eval
->radiobutton_intsize_i_2
,
981 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intsize_i_2
),
984 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intsize_i_2
),
987 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intsize_i_2
),
990 g_signal_connect (GTK_OBJECT (eval
->radiobutton_intsize_i_2
),
992 G_CALLBACK (on_radiobutton_piv_int
),
997 eval
->radiobutton_intsize_i_3
=
998 gtk_radio_button_new_with_label (eval
->int_size_i_group
,
1000 eval
->int_size_i_group
=
1001 gtk_radio_button_group (GTK_RADIO_BUTTON
1002 (eval
->radiobutton_intsize_i_3
));
1003 gtk_widget_ref (eval
->radiobutton_intsize_i_3
);
1004 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1005 "radiobutton_intsize_i_3",
1006 eval
->radiobutton_intsize_i_3
,
1007 (GtkDestroyNotify
) gtk_widget_unref
);
1008 gtk_widget_show (eval
->radiobutton_intsize_i_3
);
1009 gtk_box_pack_start (GTK_BOX (eval
->vbox_intsize_i
),
1010 eval
->radiobutton_intsize_i_3
,
1015 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intsize_i_3
),
1018 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intsize_i_3
),
1021 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intsize_i_3
),
1024 g_signal_connect (GTK_OBJECT (eval
->radiobutton_intsize_i_3
),
1026 G_CALLBACK (on_radiobutton_piv_int
),
1031 eval
->radiobutton_intsize_i_4
=
1032 gtk_radio_button_new_with_label (eval
->int_size_i_group
,
1034 eval
->int_size_i_group
=
1035 gtk_radio_button_group (GTK_RADIO_BUTTON
1036 (eval
->radiobutton_intsize_i_4
));
1037 gtk_widget_ref (eval
->radiobutton_intsize_i_4
);
1038 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1039 "radiobutton_intsize_i_4",
1040 eval
->radiobutton_intsize_i_4
,
1041 (GtkDestroyNotify
) gtk_widget_unref
);
1042 gtk_widget_show (eval
->radiobutton_intsize_i_4
);
1043 gtk_box_pack_start (GTK_BOX (eval
->vbox_intsize_i
),
1044 eval
->radiobutton_intsize_i_4
,
1049 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intsize_i_4
),
1051 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intsize_i_4
),
1054 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intsize_i_4
),
1057 g_signal_connect (GTK_OBJECT (eval
->radiobutton_intsize_i_4
),
1059 G_CALLBACK (on_radiobutton_piv_int
),
1064 eval
->radiobutton_intsize_i_5
=
1065 gtk_radio_button_new_with_label (eval
->int_size_i_group
,
1067 eval
->int_size_i_group
=
1068 gtk_radio_button_group (GTK_RADIO_BUTTON
1069 (eval
->radiobutton_intsize_i_5
));
1070 gtk_widget_ref (eval
->radiobutton_intsize_i_5
);
1071 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1072 "radiobutton_intsize_i_5",
1073 eval
->radiobutton_intsize_i_5
,
1074 (GtkDestroyNotify
) gtk_widget_unref
);
1075 gtk_widget_show (eval
->radiobutton_intsize_i_5
);
1076 gtk_box_pack_start (GTK_BOX (eval
->vbox_intsize_i
),
1077 eval
->radiobutton_intsize_i_5
,
1082 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intsize_i_5
),
1085 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intsize_i_5
),
1088 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intsize_i_5
)
1091 g_signal_connect (GTK_OBJECT (eval
->radiobutton_intsize_i_5
),
1093 G_CALLBACK (on_radiobutton_piv_int
),
1098 * radio buttons for shifted distance of interrogation areas
1101 eval
->frame_4
= gtk_frame_new ( _("Shift"));
1102 gtk_widget_ref (eval
->frame_4
);
1103 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1106 (GtkDestroyNotify
) gtk_widget_unref
);
1107 gtk_widget_show (eval
->frame_4
);
1108 gtk_box_pack_start (GTK_BOX (eval
->hbox_intreg
),
1114 eval
->vbox_shift
= gtk_vbox_new (FALSE
,
1116 gtk_widget_ref (eval
->vbox_shift
);
1117 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1120 (GtkDestroyNotify
) gtk_widget_unref
);
1121 gtk_widget_show (eval
->vbox_shift
);
1122 gtk_container_add (GTK_CONTAINER (eval
->frame_4
),
1127 * spinner for interrogation shift
1129 eval
->spinbutton_adj_intshift
=
1130 gtk_adjustment_new(gl_piv_par
->int_shift
,
1131 GPIV_MIN_INTERR_SIZE
/ 2,
1132 GPIV_MAX_INTERR_SIZE
,
1136 eval
->spinbutton_intshift
=
1137 gtk_spin_button_new (GTK_ADJUSTMENT (eval
->spinbutton_adj_intshift
),
1140 gtk_widget_ref (eval
->spinbutton_intshift
);
1141 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1142 "spinbutton_intshift",
1143 eval
->spinbutton_intshift
,
1144 (GtkDestroyNotify
) gtk_widget_unref
);
1145 gtk_widget_show (eval
->spinbutton_intshift
);
1146 gtk_box_pack_start (GTK_BOX (eval
->vbox_shift
), eval
->spinbutton_intshift
,
1151 gtk_object_set_data (GTK_OBJECT (eval
->spinbutton_intshift
),
1154 gtk_object_set_data (GTK_OBJECT (eval
->spinbutton_intshift
),
1156 "8" /* INT_SHIFT */);
1157 g_signal_connect (GTK_OBJECT (eval
->spinbutton_intshift
),
1159 G_CALLBACK (on_spinbutton_piv_int
),
1160 eval
->spinbutton_intshift
);
1164 eval
->radiobutton_intshift_1
=
1165 gtk_radio_button_new_with_label (eval
->int_shift_group
,
1167 eval
->int_shift_group
=
1168 gtk_radio_button_group (GTK_RADIO_BUTTON
1169 (eval
->radiobutton_intshift_1
));
1170 gtk_widget_ref (eval
->radiobutton_intshift_1
);
1171 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1173 "radiobutton_intshift_1",
1174 eval
->radiobutton_intshift_1
,
1175 (GtkDestroyNotify
) gtk_widget_unref
);
1176 gtk_widget_show (eval
->radiobutton_intshift_1
);
1177 gtk_box_pack_start (GTK_BOX (eval
->vbox_shift
),
1178 eval
->radiobutton_intshift_1
,
1183 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intshift_1
),
1186 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intshift_1
),
1189 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intshift_1
),
1192 g_signal_connect (GTK_OBJECT (eval
->radiobutton_intshift_1
),
1194 G_CALLBACK (on_radiobutton_piv_int
),
1199 eval
->radiobutton_intshift_2
=
1200 gtk_radio_button_new_with_label (eval
->int_shift_group
,
1202 eval
->int_shift_group
=
1203 gtk_radio_button_group (GTK_RADIO_BUTTON
1204 (eval
->radiobutton_intshift_2
));
1205 gtk_widget_ref (eval
->radiobutton_intshift_2
);
1206 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1207 "radiobutton_intshift_2",
1208 eval
->radiobutton_intshift_2
,
1209 (GtkDestroyNotify
) gtk_widget_unref
);
1210 gtk_widget_show (eval
->radiobutton_intshift_2
);
1211 gtk_box_pack_start (GTK_BOX (eval
->vbox_shift
),
1212 eval
->radiobutton_intshift_2
,
1217 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intshift_2
),
1220 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intshift_2
),
1223 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intshift_2
),
1226 g_signal_connect (GTK_OBJECT (eval
->radiobutton_intshift_2
),
1228 G_CALLBACK (on_radiobutton_piv_int
),
1233 eval
->radiobutton_intshift_3
=
1234 gtk_radio_button_new_with_label (eval
->int_shift_group
,
1236 eval
->int_shift_group
=
1237 gtk_radio_button_group (GTK_RADIO_BUTTON
1238 (eval
->radiobutton_intshift_3
));
1239 gtk_widget_ref (eval
->radiobutton_intshift_3
);
1240 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1241 "radiobutton_intshift_3",
1242 eval
->radiobutton_intshift_3
,
1243 (GtkDestroyNotify
) gtk_widget_unref
);
1244 gtk_widget_show (eval
->radiobutton_intshift_3
);
1245 gtk_box_pack_start (GTK_BOX (eval
->vbox_shift
),
1246 eval
->radiobutton_intshift_3
,
1251 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intshift_3
),
1254 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intshift_3
),
1257 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intshift_3
),
1260 g_signal_connect (GTK_OBJECT (eval
->radiobutton_intshift_3
),
1262 G_CALLBACK (on_radiobutton_piv_int
),
1267 eval
->radiobutton_intshift_4
=
1268 gtk_radio_button_new_with_label (eval
->int_shift_group
,
1270 eval
->int_shift_group
=
1271 gtk_radio_button_group (GTK_RADIO_BUTTON
1272 (eval
->radiobutton_intshift_4
));
1273 gtk_widget_ref (eval
->radiobutton_intshift_4
);
1274 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1275 "radiobutton_intshift_4",
1276 eval
->radiobutton_intshift_4
,
1277 (GtkDestroyNotify
) gtk_widget_unref
);
1278 gtk_widget_show (eval
->radiobutton_intshift_4
);
1279 gtk_box_pack_start (GTK_BOX (eval
->vbox_shift
),
1280 eval
->radiobutton_intshift_4
,
1285 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intshift_4
),
1288 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intshift_4
),
1291 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intshift_4
),
1294 g_signal_connect (GTK_OBJECT (eval
->radiobutton_intshift_4
),
1296 G_CALLBACK (on_radiobutton_piv_int
),
1301 eval
->radiobutton_intshift_5
=
1302 gtk_radio_button_new_with_label (eval
->int_shift_group
,
1304 eval
->int_shift_group
=
1305 gtk_radio_button_group (GTK_RADIO_BUTTON
1306 (eval
->radiobutton_intshift_5
));
1307 gtk_widget_ref (eval
->radiobutton_intshift_5
);
1308 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1309 "radiobutton_intshift_5",
1310 eval
->radiobutton_intshift_5
,
1311 (GtkDestroyNotify
) gtk_widget_unref
);
1312 gtk_widget_show (eval
->radiobutton_intshift_5
);
1313 gtk_box_pack_start (GTK_BOX (eval
->vbox_shift
),
1314 eval
->radiobutton_intshift_5
,
1319 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intshift_5
),
1322 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intshift_5
),
1325 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_intshift_5
),
1328 g_signal_connect (GTK_OBJECT (eval
->radiobutton_intshift_5
),
1330 G_CALLBACK (on_radiobutton_piv_int
),
1335 * radio button for mouse selecting
1338 eval
->frame_1
= gtk_frame_new ( _("Mouse select"));
1339 gtk_widget_ref (eval
->frame_1
);
1340 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1343 (GtkDestroyNotify
) gtk_widget_unref
);
1344 gtk_widget_show (eval
->frame_1
);
1345 gtk_table_attach (GTK_TABLE (eval
->table
),
1351 (GtkAttachOptions
) (GTK_EXPAND
| GTK_FILL
),
1352 (GtkAttachOptions
) (GTK_FILL
),
1357 eval
->vbox_mouseselect
= gtk_vbox_new (FALSE
,
1359 gtk_widget_ref (eval
->vbox_mouseselect
);
1360 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1362 eval
->vbox_mouseselect
,
1363 (GtkDestroyNotify
) gtk_widget_unref
);
1364 gtk_widget_show (eval
->vbox_mouseselect
);
1365 gtk_container_add (GTK_CONTAINER (eval
->frame_1
),
1366 eval
->vbox_mouseselect
);
1369 eval
->radiobutton_mouse_0
=
1370 gtk_radio_button_new_with_label (gpiv
->mouse_sel_group
,
1372 gpiv
->mouse_sel_group
=
1373 gtk_radio_button_group (GTK_RADIO_BUTTON (eval
->radiobutton_mouse_0
));
1374 gtk_widget_ref (eval
->radiobutton_mouse_0
);
1375 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1376 "radiobutton_mouse_0",
1377 eval
->radiobutton_mouse_0
,
1378 (GtkDestroyNotify
) gtk_widget_unref
);
1379 gtk_widget_show (eval
->radiobutton_mouse_0
);
1380 gtk_box_pack_start (GTK_BOX (eval
->vbox_mouseselect
),
1381 eval
->radiobutton_mouse_0
,
1386 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_mouse_0
),
1389 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_mouse_0
),
1392 g_signal_connect (GTK_OBJECT (eval
->radiobutton_mouse_0
),
1394 G_CALLBACK (on_radiobutton_piv_mouse1_enter
),
1396 g_signal_connect (GTK_OBJECT (eval
->radiobutton_mouse_0
),
1398 G_CALLBACK (on_widget_leave
),
1400 g_signal_connect (GTK_OBJECT (eval
->radiobutton_mouse_0
),
1402 G_CALLBACK (on_radiobutton_piv_mouse
),
1407 eval
->radiobutton_mouse_1
=
1408 gtk_radio_button_new_with_label (gpiv
->mouse_sel_group
,
1410 gpiv
->mouse_sel_group
=
1411 gtk_radio_button_group (GTK_RADIO_BUTTON (eval
->radiobutton_mouse_1
));
1412 gtk_widget_ref (eval
->radiobutton_mouse_1
);
1413 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1414 "radiobutton_mouse_1",
1415 eval
->radiobutton_mouse_1
,
1416 (GtkDestroyNotify
) gtk_widget_unref
);
1417 gtk_widget_show (eval
->radiobutton_mouse_1
);
1418 gtk_box_pack_start (GTK_BOX (eval
->vbox_mouseselect
),
1419 eval
->radiobutton_mouse_1
,
1424 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_mouse_1
),
1427 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_mouse_1
),
1430 g_signal_connect (GTK_OBJECT (eval
->radiobutton_mouse_1
),
1432 G_CALLBACK (on_radiobutton_piv_mouse2_enter
),
1434 g_signal_connect (GTK_OBJECT (eval
->radiobutton_mouse_1
),
1436 G_CALLBACK (on_widget_leave
),
1438 g_signal_connect (GTK_OBJECT (eval
->radiobutton_mouse_1
),
1440 G_CALLBACK (on_radiobutton_piv_mouse
),
1445 eval
->radiobutton_mouse_2
=
1446 gtk_radio_button_new_with_label (gpiv
->mouse_sel_group
,
1448 gpiv
->mouse_sel_group
=
1449 gtk_radio_button_group (GTK_RADIO_BUTTON (eval
->radiobutton_mouse_2
));
1450 gtk_widget_ref (eval
->radiobutton_mouse_2
);
1451 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1452 "radiobutton_mouse_2",
1453 eval
->radiobutton_mouse_2
,
1454 (GtkDestroyNotify
) gtk_widget_unref
);
1455 gtk_widget_show (eval
->radiobutton_mouse_2
);
1456 gtk_box_pack_start (GTK_BOX (eval
->vbox_mouseselect
),
1457 eval
->radiobutton_mouse_2
,
1461 gtk_widget_hide (GTK_WIDGET (eval
->radiobutton_mouse_2
));
1463 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_mouse_2
),
1466 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_mouse_2
),
1468 "2" /* SINGLE_AREA_MS */);
1469 g_signal_connect (GTK_OBJECT (eval
->radiobutton_mouse_2
),
1471 G_CALLBACK (on_radiobutton_piv_mouse3_enter
),
1473 g_signal_connect (GTK_OBJECT (eval
->radiobutton_mouse_2
),
1475 G_CALLBACK (on_widget_leave
),
1477 g_signal_connect (GTK_OBJECT (eval
->radiobutton_mouse_2
),
1479 G_CALLBACK (on_radiobutton_piv_mouse
),
1484 eval
->radiobutton_mouse_3
=
1485 gtk_radio_button_new_with_label (gpiv
->mouse_sel_group
,
1487 gpiv
->mouse_sel_group
=
1488 gtk_radio_button_group (GTK_RADIO_BUTTON (eval
->radiobutton_mouse_3
));
1489 gtk_widget_ref (eval
->radiobutton_mouse_3
);
1490 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1491 "radiobutton_mouse_3",
1492 eval
->radiobutton_mouse_3
,
1493 (GtkDestroyNotify
) gtk_widget_unref
);
1494 gtk_widget_show (eval
->radiobutton_mouse_3
);
1495 gtk_box_pack_start (GTK_BOX (eval
->vbox_mouseselect
),
1496 eval
->radiobutton_mouse_3
,
1500 gtk_widget_hide (GTK_WIDGET (eval
->radiobutton_mouse_3
));
1502 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_mouse_3
),
1505 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_mouse_3
),
1507 "3" /* SINGLE_POINT_MS */);
1508 g_signal_connect (GTK_OBJECT (eval
->radiobutton_mouse_3
),
1510 G_CALLBACK (on_radiobutton_piv_mouse4_enter
),
1512 g_signal_connect (GTK_OBJECT (eval
->radiobutton_mouse_3
),
1514 G_CALLBACK (on_widget_leave
),
1516 g_signal_connect (GTK_OBJECT (eval
->radiobutton_mouse_3
),
1518 G_CALLBACK (on_radiobutton_piv_mouse
),
1523 eval
->radiobutton_mouse_4
=
1524 gtk_radio_button_new_with_label (gpiv
->mouse_sel_group
,
1526 gpiv
->mouse_sel_group
=
1527 gtk_radio_button_group (GTK_RADIO_BUTTON (eval
->radiobutton_mouse_4
));
1528 gtk_widget_ref (eval
->radiobutton_mouse_4
);
1529 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1530 "radiobutton_mouse_4",
1531 eval
->radiobutton_mouse_4
,
1532 (GtkDestroyNotify
) gtk_widget_unref
);
1533 gtk_widget_show (eval
->radiobutton_mouse_4
);
1534 gtk_box_pack_start (GTK_BOX (eval
->vbox_mouseselect
),
1535 eval
->radiobutton_mouse_4
,
1539 gtk_widget_hide (GTK_WIDGET (eval
->radiobutton_mouse_4
));
1541 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_mouse_4
),
1544 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_mouse_4
),
1547 g_signal_connect (GTK_OBJECT (eval
->radiobutton_mouse_4
),
1549 G_CALLBACK (on_radiobutton_piv_mouse5_enter
),
1551 g_signal_connect (GTK_OBJECT (eval
->radiobutton_mouse_4
),
1553 G_CALLBACK (on_widget_leave
),
1555 g_signal_connect (GTK_OBJECT (eval
->radiobutton_mouse_4
),
1557 G_CALLBACK (on_radiobutton_piv_mouse
),
1562 eval
->radiobutton_mouse_5
=
1563 gtk_radio_button_new_with_label (gpiv
->mouse_sel_group
,
1565 gpiv
->mouse_sel_group
=
1566 gtk_radio_button_group (GTK_RADIO_BUTTON (eval
->radiobutton_mouse_5
));
1567 gtk_widget_ref (eval
->radiobutton_mouse_5
);
1568 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1569 "radiobutton_mouse_5",
1570 eval
->radiobutton_mouse_5
,
1571 (GtkDestroyNotify
) gtk_widget_unref
);
1572 gtk_widget_show (eval
->radiobutton_mouse_5
);
1573 gtk_box_pack_start (GTK_BOX (eval
->vbox_mouseselect
),
1574 eval
->radiobutton_mouse_5
,
1579 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_mouse_5
),
1582 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_mouse_5
),
1584 "5" /* V_LINE_MS */);
1585 g_signal_connect (GTK_OBJECT (eval
->radiobutton_mouse_5
),
1587 G_CALLBACK (on_radiobutton_piv_mouse6_enter
),
1589 g_signal_connect (GTK_OBJECT (eval
->radiobutton_mouse_5
),
1591 G_CALLBACK (on_widget_leave
),
1593 g_signal_connect (GTK_OBJECT (eval
->radiobutton_mouse_5
),
1595 G_CALLBACK (on_radiobutton_piv_mouse
),
1600 eval
->radiobutton_mouse_6
=
1601 gtk_radio_button_new_with_label (gpiv
->mouse_sel_group
,
1603 gpiv
->mouse_sel_group
=
1604 gtk_radio_button_group (GTK_RADIO_BUTTON (eval
->radiobutton_mouse_6
));
1605 gtk_widget_ref (eval
->radiobutton_mouse_6
);
1606 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1607 "radiobutton_mouse_6",
1608 eval
->radiobutton_mouse_6
,
1609 (GtkDestroyNotify
) gtk_widget_unref
);
1610 gtk_widget_show (eval
->radiobutton_mouse_6
);
1611 gtk_box_pack_start (GTK_BOX (eval
->vbox_mouseselect
),
1612 eval
->radiobutton_mouse_6
,
1617 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_mouse_6
),
1620 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_mouse_6
),
1622 "6" /* H_LINE_MS */);
1623 g_signal_connect (GTK_OBJECT (eval
->radiobutton_mouse_6
),
1625 G_CALLBACK (on_radiobutton_piv_mouse7_enter
),
1627 g_signal_connect (GTK_OBJECT (eval
->radiobutton_mouse_6
),
1629 G_CALLBACK (on_widget_leave
),
1631 g_signal_connect (GTK_OBJECT (eval
->radiobutton_mouse_6
),
1633 G_CALLBACK (on_radiobutton_piv_mouse
),
1638 * radio buttons for sub-pixel interpolation scheme
1641 eval
->frame_5
= gtk_frame_new ( _("Sub-pixel Interpolation"));
1642 gtk_widget_ref (eval
->frame_5
);
1643 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1646 (GtkDestroyNotify
) gtk_widget_unref
);
1647 gtk_widget_show (eval
->frame_5
);
1648 gtk_table_attach (GTK_TABLE (eval
->table
),
1654 (GtkAttachOptions
) (GTK_EXPAND
| GTK_FILL
),
1655 (GtkAttachOptions
) (GTK_EXPAND
| GTK_FILL
),
1660 eval
->vbox10
= gtk_vbox_new (FALSE
,
1662 gtk_widget_ref (eval
->vbox10
);
1663 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1666 (GtkDestroyNotify
) gtk_widget_unref
);
1667 gtk_widget_show (eval
->vbox10
);
1668 gtk_container_add (GTK_CONTAINER (eval
->frame_5
),
1672 eval
->radiobutton_fit_none
=
1673 gtk_radio_button_new_with_label (eval
->vbox10_group
,
1675 eval
->vbox10_group
=
1676 gtk_radio_button_group (GTK_RADIO_BUTTON (eval
->radiobutton_fit_none
));
1677 gtk_widget_ref (eval
->radiobutton_fit_none
);
1678 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1679 "radiobutton_fit_none",
1680 eval
->radiobutton_fit_none
,
1681 (GtkDestroyNotify
) gtk_widget_unref
);
1682 gtk_widget_show (eval
->radiobutton_fit_none
);
1683 gtk_box_pack_start (GTK_BOX (eval
->vbox10
),
1684 eval
->radiobutton_fit_none
,
1689 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_fit_none
),
1692 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_fit_none
),
1695 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_fit_none
),
1698 g_signal_connect (GTK_OBJECT (eval
->radiobutton_fit_none
),
1700 G_CALLBACK (on_radiobutton_fit_enter
),
1702 g_signal_connect (GTK_OBJECT (eval
->radiobutton_fit_none
),
1704 G_CALLBACK (on_widget_leave
),
1707 g_signal_connect (GTK_OBJECT (eval
->radiobutton_fit_none
),
1709 G_CALLBACK (on_toggle_piv
),
1714 eval
->radiobutton_fit_gauss
=
1715 gtk_radio_button_new_with_label (eval
->vbox10_group
,
1717 eval
->vbox10_group
=
1718 gtk_radio_button_group (GTK_RADIO_BUTTON
1719 (eval
->radiobutton_fit_gauss
));
1720 gtk_widget_ref (eval
->radiobutton_fit_gauss
);
1721 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1722 "radiobutton_fit_gauss",
1723 eval
->radiobutton_fit_gauss
,
1724 (GtkDestroyNotify
) gtk_widget_unref
);
1725 gtk_widget_show (eval
->radiobutton_fit_gauss
);
1726 gtk_box_pack_start (GTK_BOX (eval
->vbox10
),
1727 eval
->radiobutton_fit_gauss
,
1732 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_fit_gauss
),
1735 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_fit_gauss
),
1738 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_fit_gauss
),
1741 g_signal_connect (GTK_OBJECT (eval
->radiobutton_fit_gauss
),
1743 G_CALLBACK (on_radiobutton_fit_enter
),
1745 g_signal_connect (GTK_OBJECT (eval
->radiobutton_fit_gauss
),
1747 G_CALLBACK (on_widget_leave
),
1749 g_signal_connect (GTK_OBJECT (eval
->radiobutton_fit_gauss
),
1751 G_CALLBACK (on_toggle_piv
),
1756 eval
->radiobutton_fit_power
=
1757 gtk_radio_button_new_with_label (eval
->vbox10_group
,
1759 eval
->vbox10_group
=
1760 gtk_radio_button_group (GTK_RADIO_BUTTON
1761 (eval
->radiobutton_fit_power
));
1762 gtk_widget_ref (eval
->radiobutton_fit_power
);
1763 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1764 "radiobutton_fit_power",
1765 eval
->radiobutton_fit_power
,
1766 (GtkDestroyNotify
) gtk_widget_unref
);
1767 gtk_widget_show (eval
->radiobutton_fit_power
);
1768 gtk_box_pack_start (GTK_BOX (eval
->vbox10
),
1769 eval
->radiobutton_fit_power
,
1774 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_fit_power
),
1777 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_fit_power
),
1780 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_fit_power
),
1783 g_signal_connect (GTK_OBJECT (eval
->radiobutton_fit_power
),
1785 G_CALLBACK (on_radiobutton_fit_enter
),
1787 g_signal_connect (GTK_OBJECT (eval
->radiobutton_fit_power
),
1789 G_CALLBACK (on_widget_leave
),
1791 g_signal_connect (GTK_OBJECT (eval
->radiobutton_fit_power
),
1793 G_CALLBACK (on_toggle_piv
),
1798 eval
->radiobutton_fit_gravity
=
1799 gtk_radio_button_new_with_label (eval
->vbox10_group
,
1801 eval
->vbox10_group
=
1802 gtk_radio_button_group (GTK_RADIO_BUTTON
1803 (eval
->radiobutton_fit_gravity
));
1804 gtk_widget_ref (eval
->radiobutton_fit_gravity
);
1805 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1806 "radiobutton_fit_gravity",
1807 eval
->radiobutton_fit_gravity
,
1808 (GtkDestroyNotify
) gtk_widget_unref
);
1809 gtk_widget_show (eval
->radiobutton_fit_gravity
);
1810 gtk_box_pack_start (GTK_BOX (eval
->vbox10
),
1811 eval
->radiobutton_fit_gravity
,
1816 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_fit_gravity
),
1819 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_fit_gravity
),
1822 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_fit_gravity
),
1825 g_signal_connect (GTK_OBJECT (eval
->radiobutton_fit_gravity
),
1827 G_CALLBACK (on_radiobutton_fit_enter
),
1829 g_signal_connect (GTK_OBJECT (eval
->radiobutton_fit_gravity
),
1831 G_CALLBACK (on_widget_leave
),
1833 g_signal_connect (GTK_OBJECT (eval
->radiobutton_fit_gravity
),
1835 G_CALLBACK (on_toggle_piv
),
1840 /* eval->radiobutton_fit_marquardt = gtk_radio_button_new_with_label (eval->vbox10_group,
1842 /* eval->vbox10_group = gtk_radio_button_group (GTK_RADIO_BUTTON (eval->radiobutton_fit_marquardt)); */
1843 /* gtk_widget_ref (eval->radiobutton_fit_marquardt); */
1844 /* gtk_object_set_data_full (GTK_OBJECT (main_window),
1845 "radiobutton_fit_marquardt",
1846 eval->radiobutton_fit_marquardt, */
1847 /* (GtkDestroyNotify) gtk_widget_unref); */
1848 /* gtk_widget_show (eval->radiobutton_fit_marquardt); */
1849 /* gtk_box_pack_start (GTK_BOX (eval->vbox10),
1850 eval->radiobutton_fit_marquardt,
1855 /* gtk_object_set_data (GTK_OBJECT (eval->radiobutton_fit_marquardt), */
1858 /* gtk_object_set_data (GTK_OBJECT (eval->radiobutton_fit_marquardt),
1861 /* gtk_object_set_data (GTK_OBJECT (eval->radiobutton_fit_marquardt), */
1864 /* g_signal_connect (GTK_OBJECT (eval->radiobutton_fit_marquardt),
1866 /* G_CALLBACK (on_toggle_piv), */
1872 * radio buttons for correlation peak number to be detected
1874 eval
->frame_6
= gtk_frame_new ( _("Peak #"));
1875 gtk_widget_ref (eval
->frame_6
);
1876 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1879 (GtkDestroyNotify
) gtk_widget_unref
);
1880 gtk_widget_show (eval
->frame_6
);
1881 gtk_table_attach (GTK_TABLE (eval
->table
),
1887 (GtkAttachOptions
) (GTK_EXPAND
| GTK_FILL
),
1888 (GtkAttachOptions
) (GTK_FILL
),
1892 eval
->vbox11
= gtk_vbox_new (FALSE
,
1894 gtk_widget_ref (eval
->vbox11
);
1895 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1898 (GtkDestroyNotify
) gtk_widget_unref
);
1899 gtk_widget_show (eval
->vbox11
);
1900 gtk_container_add (GTK_CONTAINER (eval
->frame_6
),
1903 eval
->radiobutton_peak_1
=
1904 gtk_radio_button_new_with_label (eval
->vbox11_group
,
1906 eval
->vbox11_group
=
1907 gtk_radio_button_group (GTK_RADIO_BUTTON (eval
->radiobutton_peak_1
));
1908 gtk_widget_ref (eval
->radiobutton_peak_1
);
1909 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1910 "radiobutton_peak_1",
1911 eval
->radiobutton_peak_1
,
1912 (GtkDestroyNotify
) gtk_widget_unref
);
1913 gtk_widget_show (eval
->radiobutton_peak_1
);
1914 gtk_box_pack_start (GTK_BOX (eval
->vbox11
),
1915 eval
->radiobutton_peak_1
,
1920 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_peak_1
),
1923 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_peak_1
),
1926 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_peak_1
),
1929 g_signal_connect (GTK_OBJECT (eval
->radiobutton_peak_1
),
1931 G_CALLBACK (on_radiobutton_peak_enter
),
1933 g_signal_connect (GTK_OBJECT (eval
->radiobutton_peak_1
),
1935 G_CALLBACK (on_widget_leave
),
1937 g_signal_connect (GTK_OBJECT (eval
->radiobutton_peak_1
),
1939 G_CALLBACK (on_toggle_piv
),
1944 eval
->radiobutton_peak_2
=
1945 gtk_radio_button_new_with_label (eval
->vbox11_group
,
1947 eval
->vbox11_group
=
1948 gtk_radio_button_group (GTK_RADIO_BUTTON (eval
->radiobutton_peak_2
));
1949 gtk_widget_ref (eval
->radiobutton_peak_2
);
1950 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1951 "radiobutton_peak_2",
1952 eval
->radiobutton_peak_2
,
1953 (GtkDestroyNotify
) gtk_widget_unref
);
1954 gtk_widget_show (eval
->radiobutton_peak_2
);
1955 gtk_box_pack_start (GTK_BOX (eval
->vbox11
),
1956 eval
->radiobutton_peak_2
,
1961 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_peak_2
),
1964 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_peak_2
),
1967 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_peak_2
),
1970 g_signal_connect (GTK_OBJECT (eval
->radiobutton_peak_2
),
1972 G_CALLBACK (on_radiobutton_peak_enter
),
1974 g_signal_connect (GTK_OBJECT (eval
->radiobutton_peak_2
),
1976 G_CALLBACK (on_widget_leave
),
1978 g_signal_connect (GTK_OBJECT (eval
->radiobutton_peak_2
),
1980 G_CALLBACK (on_toggle_piv
),
1985 eval
->radiobutton_peak_3
=
1986 gtk_radio_button_new_with_label (eval
->vbox11_group
,
1988 eval
->vbox11_group
=
1989 gtk_radio_button_group (GTK_RADIO_BUTTON (eval
->radiobutton_peak_3
));
1990 gtk_widget_ref (eval
->radiobutton_peak_3
);
1991 gtk_object_set_data_full (GTK_OBJECT (main_window
),
1992 "radiobutton_peak_3",
1993 eval
->radiobutton_peak_3
,
1994 (GtkDestroyNotify
) gtk_widget_unref
);
1995 gtk_widget_show (eval
->radiobutton_peak_3
);
1996 gtk_box_pack_start (GTK_BOX (eval
->vbox11
),
1997 eval
->radiobutton_peak_3
,
2002 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_peak_3
),
2005 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_peak_3
),
2008 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_peak_3
),
2011 g_signal_connect (GTK_OBJECT (eval
->radiobutton_peak_3
),
2013 G_CALLBACK (on_radiobutton_peak_enter
),
2015 g_signal_connect (GTK_OBJECT (eval
->radiobutton_peak_3
),
2017 G_CALLBACK (on_widget_leave
),
2019 g_signal_connect (GTK_OBJECT (eval
->radiobutton_peak_3
),
2021 G_CALLBACK (on_toggle_piv
),
2026 * additonal calculation schemes for correlation detection
2029 eval
->frame_7
= gtk_frame_new ( _("Interrogation scheme"));
2030 gtk_widget_ref (eval
->frame_7
);
2031 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2034 (GtkDestroyNotify
) gtk_widget_unref
);
2035 gtk_widget_show (eval
->frame_7
);
2036 gtk_table_attach (GTK_TABLE (eval
->table
),
2042 (GtkAttachOptions
) (GTK_EXPAND
| GTK_FILL
),
2043 (GtkAttachOptions
) (GTK_FILL
),
2048 eval
->vbox12
= gtk_vbox_new (FALSE
,
2050 gtk_widget_ref (eval
->vbox12
);
2051 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2054 (GtkDestroyNotify
) gtk_widget_unref
);
2055 gtk_widget_show (eval
->vbox12
);
2056 gtk_container_add (GTK_CONTAINER (eval
->frame_7
),
2060 /*----------------------------------------------------------------------------
2063 eval
->radiobutton_imgdeform
=
2064 gtk_radio_button_new_with_label (eval
->vbox12_group
,
2065 _("Image deformation"));
2066 eval
->vbox12_group
=
2067 gtk_radio_button_group (GTK_RADIO_BUTTON
2068 (eval
->radiobutton_imgdeform
));
2069 gtk_widget_ref (eval
->radiobutton_imgdeform
);
2070 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2071 "radiobutton_imgdeform",
2072 eval
->radiobutton_imgdeform
,
2073 (GtkDestroyNotify
) gtk_widget_unref
);
2074 gtk_widget_show (eval
->radiobutton_imgdeform
);
2075 gtk_box_pack_start (GTK_BOX (eval
->vbox12
),
2076 eval
->radiobutton_imgdeform
,
2081 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_imgdeform
),
2084 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_imgdeform
),
2087 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_imgdeform
),
2089 "4" /* GPIV_IMG_DEFORM */);
2090 g_signal_connect (GTK_OBJECT (eval
->radiobutton_imgdeform
),
2093 (on_radiobutton_interrogatescheme_imgdeform_enter
),
2095 g_signal_connect (GTK_OBJECT (eval
->radiobutton_imgdeform
),
2097 G_CALLBACK (on_widget_leave
),
2099 g_signal_connect (GTK_OBJECT (eval
->radiobutton_imgdeform
),
2101 G_CALLBACK (on_toggle_piv
),
2105 eval
->radiobutton_centraldiff
=
2106 gtk_radio_button_new_with_label (eval
->vbox12_group
,
2107 _("Central differential"));
2108 eval
->vbox12_group
=
2109 gtk_radio_button_group (GTK_RADIO_BUTTON
2110 (eval
->radiobutton_centraldiff
));
2111 gtk_widget_ref (eval
->radiobutton_centraldiff
);
2112 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2113 "radiobutton_centraldiff",
2114 eval
->radiobutton_centraldiff
,
2115 (GtkDestroyNotify
) gtk_widget_unref
);
2116 gtk_widget_show (eval
->radiobutton_centraldiff
);
2117 gtk_box_pack_start (GTK_BOX (eval
->vbox12
),
2118 eval
->radiobutton_centraldiff
,
2123 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_centraldiff
),
2126 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_centraldiff
),
2129 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_centraldiff
),
2131 "3" /* (GPIV_ZERO_OFF_CENTRAL) */);
2132 g_signal_connect (GTK_OBJECT (eval
->radiobutton_centraldiff
),
2134 G_CALLBACK (on_radiobutton_interrogatescheme_enter
),
2136 g_signal_connect (GTK_OBJECT (eval
->radiobutton_centraldiff
),
2138 G_CALLBACK (on_widget_leave
),
2140 g_signal_connect (GTK_OBJECT (eval
->radiobutton_centraldiff
),
2142 G_CALLBACK (on_toggle_piv
),
2146 eval
->radiobutton_zerooff
=
2147 gtk_radio_button_new_with_label (eval
->vbox12_group
,
2149 eval
->vbox12_group
=
2150 gtk_radio_button_group (GTK_RADIO_BUTTON (eval
->radiobutton_zerooff
));
2151 gtk_widget_ref (eval
->radiobutton_zerooff
);
2152 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2153 "radiobutton_zerooff",
2154 eval
->radiobutton_zerooff
,
2155 (GtkDestroyNotify
) gtk_widget_unref
);
2156 gtk_widget_show (eval
->radiobutton_zerooff
);
2157 gtk_box_pack_start (GTK_BOX (eval
->vbox12
),
2158 eval
->radiobutton_zerooff
,
2163 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_zerooff
),
2166 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_zerooff
),
2169 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_zerooff
),
2171 "2" /* GPIV_ZERO_OFF_FORWARD */);
2172 g_signal_connect (GTK_OBJECT (eval
->radiobutton_zerooff
),
2174 G_CALLBACK (on_radiobutton_interrogatescheme_enter
),
2176 g_signal_connect (GTK_OBJECT (eval
->radiobutton_zerooff
),
2178 G_CALLBACK (on_widget_leave
),
2180 g_signal_connect (GTK_OBJECT (eval
->radiobutton_zerooff
),
2182 G_CALLBACK (on_toggle_piv
),
2187 eval
->radiobutton_weightkernel
=
2188 gtk_radio_button_new_with_label (eval
->vbox12_group
,
2189 _("Weight Kernel"));
2190 eval
->vbox12_group
=
2191 gtk_radio_button_group (GTK_RADIO_BUTTON (eval
->radiobutton_weightkernel
));
2192 gtk_widget_ref (eval
->radiobutton_weightkernel
);
2193 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2194 "radiobutton_weightkernel",
2195 eval
->radiobutton_weightkernel
,
2196 (GtkDestroyNotify
) gtk_widget_unref
);
2197 gtk_widget_show (eval
->radiobutton_weightkernel
);
2198 gtk_box_pack_start (GTK_BOX (eval
->vbox12
),
2199 eval
->radiobutton_weightkernel
,
2204 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_weightkernel
),
2207 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_weightkernel
),
2210 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_weightkernel
),
2212 "1" /* GPIV_LK_WEIGHT */);
2213 g_signal_connect (GTK_OBJECT (eval
->radiobutton_weightkernel
),
2215 G_CALLBACK (on_radiobutton_interrogatescheme_enter
),
2217 g_signal_connect (GTK_OBJECT (eval
->radiobutton_weightkernel
),
2219 G_CALLBACK (on_widget_leave
),
2221 g_signal_connect (GTK_OBJECT (eval
->radiobutton_weightkernel
),
2223 G_CALLBACK (on_toggle_piv
),
2229 * radio buttons for cross-or auto correlation
2230 * defined in image header, not user definable
2233 eval
->frame_8
= gtk_frame_new ( _("Correlation"));
2234 gtk_widget_ref (eval
->frame_8
);
2235 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2238 (GtkDestroyNotify
) gtk_widget_unref
);
2239 gtk_widget_show (eval
->frame_8
);
2240 gtk_table_attach (GTK_TABLE (eval
->table
),
2246 (GtkAttachOptions
) (GTK_EXPAND
| GTK_FILL
),
2247 (GtkAttachOptions
) (GTK_FILL
),
2251 eval
->vbox13
= gtk_vbox_new (FALSE
,
2253 gtk_widget_ref (eval
->vbox13
);
2254 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2257 (GtkDestroyNotify
) gtk_widget_unref
);
2258 gtk_widget_show (eval
->vbox13
);
2259 gtk_container_add (GTK_CONTAINER (eval
->frame_8
),
2264 eval
->radiobutton_cross_1
=
2265 gtk_radio_button_new_with_label (eval
->vbox13_group
,
2267 eval
->vbox13_group
=
2268 gtk_radio_button_group (GTK_RADIO_BUTTON (eval
->radiobutton_cross_1
));
2269 gtk_widget_ref (eval
->radiobutton_cross_1
);
2270 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2271 "radiobutton_cross_1",
2272 eval
->radiobutton_cross_1
,
2273 (GtkDestroyNotify
) gtk_widget_unref
);
2274 gtk_widget_show (eval
->radiobutton_cross_1
);
2275 gtk_box_pack_start (GTK_BOX (eval
->vbox13
),
2276 eval
->radiobutton_cross_1
,
2281 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_cross_1
),
2284 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_cross_1
),
2287 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_cross_1
),
2290 g_signal_connect (GTK_OBJECT (eval
->radiobutton_cross_1
),
2292 G_CALLBACK (on_toggle_piv
),
2297 eval
->radiobutton_cross_2
=
2298 gtk_radio_button_new_with_label (eval
->vbox13_group
,
2300 eval
->vbox13_group
=
2301 gtk_radio_button_group (GTK_RADIO_BUTTON (eval
->radiobutton_cross_2
));
2302 gtk_widget_ref (eval
->radiobutton_cross_2
);
2303 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2304 "radiobutton_cross_2",
2305 eval
->radiobutton_cross_2
,
2306 (GtkDestroyNotify
) gtk_widget_unref
);
2307 gtk_widget_show (eval
->radiobutton_cross_2
);
2308 gtk_box_pack_start (GTK_BOX (eval
->vbox13
),
2309 eval
->radiobutton_cross_2
,
2314 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_cross_2
),
2317 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_cross_2
),
2320 gtk_object_set_data (GTK_OBJECT (eval
->radiobutton_cross_2
),
2323 g_signal_connect (GTK_OBJECT (eval
->radiobutton_cross_2
),
2325 G_CALLBACK (on_toggle_piv
),
2330 * Checkbutton for I.A. Gauss weighting
2332 eval
->checkbutton_weight_ia
=
2333 gtk_check_button_new_with_label ( _("Gauss weighting"));
2334 gtk_widget_ref (eval
->checkbutton_weight_ia
);
2335 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2336 "checkbutton_weight_ia",
2337 eval
->checkbutton_weight_ia
,
2338 (GtkDestroyNotify
) gtk_widget_unref
);
2339 gtk_widget_show (eval
->checkbutton_weight_ia
);
2340 gtk_box_pack_start (GTK_BOX (eval
->vbox13
),
2341 eval
->checkbutton_weight_ia
,
2346 gtk_object_set_data (GTK_OBJECT (eval
->checkbutton_weight_ia
),
2349 g_signal_connect (GTK_OBJECT (eval
->checkbutton_weight_ia
),
2351 G_CALLBACK (on_checkbutton_weight_ia_enter
),
2353 g_signal_connect (GTK_OBJECT (eval
->checkbutton_weight_ia
),
2355 G_CALLBACK (on_widget_leave
),
2357 g_signal_connect (GTK_OBJECT (eval
->checkbutton_weight_ia
),
2359 G_CALLBACK (on_checkbutton_weight_ia
),
2365 * Checkbutton for spof filtering
2367 eval
->checkbutton_spof
=
2368 gtk_check_button_new_with_label ( _("SPOF filtering"));
2369 gtk_widget_ref (eval
->checkbutton_spof
);
2370 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2372 eval
->checkbutton_spof
,
2373 (GtkDestroyNotify
) gtk_widget_unref
);
2374 gtk_widget_show (eval
->checkbutton_spof
);
2375 gtk_box_pack_start (GTK_BOX (eval
->vbox13
),
2376 eval
->checkbutton_spof
,
2381 gtk_object_set_data (GTK_OBJECT (eval
->checkbutton_spof
),
2384 g_signal_connect (GTK_OBJECT (eval
->checkbutton_spof
),
2386 G_CALLBACK (on_checkbutton_spof_enter
),
2388 g_signal_connect (GTK_OBJECT (eval
->checkbutton_spof
),
2390 G_CALLBACK (on_widget_leave
),
2392 g_signal_connect (GTK_OBJECT (eval
->checkbutton_spof
),
2394 G_CALLBACK (on_checkbutton_spof
),
2400 * Monitoring the process by displaying interrogation area's in correlation
2403 eval
->frame_monitor
=
2404 gtk_frame_new ( _("Interrogation areas and correlation"));
2405 gtk_widget_ref (eval
->frame_monitor
);
2406 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2408 eval
->frame_monitor
,
2409 (GtkDestroyNotify
) gtk_widget_unref
);
2410 gtk_widget_show (eval
->frame_monitor
);
2411 gtk_table_attach (GTK_TABLE (eval
->table
),
2412 eval
->frame_monitor
,
2417 (GtkAttachOptions
) (GTK_FILL
),
2418 (GtkAttachOptions
) (GTK_EXPAND
| GTK_FILL
),
2423 eval
->table_monitor
= gtk_table_new (2,
2426 gtk_widget_ref (eval
->table_monitor
);
2427 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2429 eval
->table_monitor
,
2430 (GtkDestroyNotify
) gtk_widget_unref
);
2431 gtk_widget_show (eval
->table_monitor
);
2432 gtk_container_add (GTK_CONTAINER (eval
->frame_monitor
),
2433 eval
->table_monitor
);
2437 * gnome canvas interrogation area1
2439 eval
->frame_monitor_int1
= gtk_frame_new ( _("Int. area 1"));
2440 gtk_widget_ref (eval
->frame_monitor_int1
);
2441 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2442 "frame_monitor_int1",
2443 eval
->frame_monitor_int1
,
2444 (GtkDestroyNotify
) gtk_widget_unref
);
2445 gtk_widget_show (eval
->frame_monitor_int1
);
2446 gtk_table_attach (GTK_TABLE (eval
->table_monitor
),
2447 eval
->frame_monitor_int1
,
2452 (GtkAttachOptions
) (GTK_FILL
),
2453 (GtkAttachOptions
) (GTK_EXPAND
| GTK_FILL
),
2456 gtk_widget_set_size_request (GTK_WIDGET (eval
->frame_monitor_int1
),
2457 GPIV_MAX_INTERR_SIZE
,
2458 GPIV_MAX_INTERR_SIZE
+ 25);
2463 gtk_widget_push_visual (gdk_rgb_get_visual ());
2464 gtk_widget_push_colormap (gdk_rgb_get_cmap ());
2465 eval
->canvas_monitor_int1
= gnome_canvas_new_aa ();
2467 gtk_widget_push_visual (gdk_imlib_get_visual ());
2468 gtk_widget_push_colormap (NULL
);
2469 eval
->canvas_monitor_int1
= gnome_canvas_new ();
2472 gtk_widget_pop_colormap ();
2473 gtk_widget_pop_visual ();
2474 gtk_widget_ref (eval
->canvas_monitor_int1
);
2475 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2476 "canvas_monitor_int1",
2477 eval
->canvas_monitor_int1
,
2478 (GtkDestroyNotify
) gtk_widget_unref
);
2479 gtk_widget_show (eval
->canvas_monitor_int1
);
2480 gtk_container_add (GTK_CONTAINER (eval
->frame_monitor_int1
),
2481 eval
->canvas_monitor_int1
);
2486 * gnome canvas interrogation area2
2488 eval
->frame_monitor_int2
= gtk_frame_new ( _("Int. area 2"));
2489 gtk_widget_ref (eval
->frame_monitor_int2
);
2490 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2491 "frame_monitor_int2",
2492 eval
->frame_monitor_int2
,
2493 (GtkDestroyNotify
) gtk_widget_unref
);
2494 gtk_widget_show (eval
->frame_monitor_int2
);
2495 gtk_table_attach (GTK_TABLE (eval
->table_monitor
),
2496 eval
->frame_monitor_int2
,
2501 (GtkAttachOptions
) (GTK_FILL
),
2502 (GtkAttachOptions
) (GTK_EXPAND
| GTK_FILL
),
2505 gtk_widget_set_size_request (GTK_WIDGET (eval
->frame_monitor_int2
),
2506 GPIV_MAX_INTERR_SIZE
,
2507 GPIV_MAX_INTERR_SIZE
+ 25);
2512 /* gtk_widget_push_visual (gdk_rgb_get_visual ()); */
2513 /* gtk_widget_push_colormap (gdk_rgb_get_cmap ()); */
2514 /* eval->canvas_monitor_int2 = gnome_canvas_new_aa (); */
2517 gtk_widget_push_visual (gdk_rgb_get_visual ());
2518 gtk_widget_push_colormap (gdk_rgb_get_cmap ());
2519 eval
->canvas_monitor_int2
= gnome_canvas_new_aa ();
2521 gtk_widget_push_visual (gdk_imlib_get_visual ());
2522 gtk_widget_push_colormap (NULL
);
2523 eval
->canvas_monitor_int2
= gnome_canvas_new ();
2526 gtk_widget_pop_colormap ();
2527 gtk_widget_pop_visual ();
2528 gtk_widget_ref (eval
->canvas_monitor_int2
);
2529 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2530 "canvas_monitor_int2",
2531 eval
->canvas_monitor_int2
,
2532 (GtkDestroyNotify
) gtk_widget_unref
);
2533 gtk_widget_show (eval
->canvas_monitor_int2
);
2534 gtk_container_add (GTK_CONTAINER (eval
->frame_monitor_int2
),
2535 eval
->canvas_monitor_int2
);
2539 * Gnome canvas display corr function
2541 eval
->frame_monitor_cov
= gtk_frame_new ( _("Correlation"));
2542 gtk_widget_ref (eval
->frame_monitor_cov
);
2543 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2544 "frame_monitor_cov",
2545 eval
->frame_monitor_cov
,
2546 (GtkDestroyNotify
) gtk_widget_unref
);
2547 gtk_widget_show (eval
->frame_monitor_cov
);
2548 gtk_table_attach (GTK_TABLE (eval
->table_monitor
),
2549 eval
->frame_monitor_cov
,
2554 (GtkAttachOptions
) (GTK_FILL
),
2555 (GtkAttachOptions
) (GTK_EXPAND
| GTK_FILL
),
2558 gtk_widget_set_size_request (GTK_WIDGET (eval
->frame_monitor_cov
),
2559 GPIV_MAX_INTERR_SIZE
,
2560 GPIV_MAX_INTERR_SIZE
+ 25);
2565 gtk_widget_push_visual (gdk_rgb_get_visual ());
2566 gtk_widget_push_colormap (gdk_rgb_get_cmap ());
2567 eval
->canvas_monitor_cov
= gnome_canvas_new_aa ();
2569 gtk_widget_push_visual (gdk_imlib_get_visual ());
2570 gtk_widget_push_colormap (NULL
);
2571 eval
->canvas_monitor_cov
= gnome_canvas_new ();
2574 gtk_widget_pop_colormap ();
2575 gtk_widget_pop_visual ();
2576 gtk_widget_ref (eval
->canvas_monitor_cov
);
2577 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2578 "canvas_monitor_cov",
2579 eval
->canvas_monitor_cov
,
2580 (GtkDestroyNotify
) gtk_widget_unref
);
2581 gtk_widget_show (eval
->canvas_monitor_cov
);
2582 gtk_container_add (GTK_CONTAINER (eval
->frame_monitor_cov
),
2583 eval
->canvas_monitor_cov
);
2587 * gnome canvas display values
2589 eval
->frame_monitor_vec
= gtk_frame_new ( _("Estimator"));
2590 gtk_widget_ref (eval
->frame_monitor_vec
);
2591 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2592 "frame_monitor_vec",
2593 eval
->frame_monitor_vec
,
2594 (GtkDestroyNotify
) gtk_widget_unref
);
2595 gtk_widget_show (eval
->frame_monitor_vec
);
2596 gtk_table_attach (GTK_TABLE (eval
->table_monitor
),
2597 eval
->frame_monitor_vec
,
2602 (GtkAttachOptions
) (GTK_FILL
),
2603 (GtkAttachOptions
) (GTK_EXPAND
| GTK_FILL
),
2606 gtk_widget_set_size_request (GTK_WIDGET (eval
->frame_monitor_vec
),
2607 GPIV_MAX_INTERR_SIZE
,
2608 GPIV_MAX_INTERR_SIZE
+ 25);
2612 gtk_widget_push_visual (gdk_rgb_get_visual ());
2613 gtk_widget_push_colormap (gdk_rgb_get_cmap ());
2614 eval
->canvas_monitor_vec
= gnome_canvas_new_aa ();
2616 gtk_widget_push_visual (gdk_imlib_get_visual ());
2617 gtk_widget_push_colormap (NULL
);
2618 eval
->canvas_monitor_vec
= gnome_canvas_new ();
2620 gtk_widget_pop_colormap ();
2621 gtk_widget_pop_visual ();
2622 gtk_widget_ref (eval
->canvas_monitor_vec
);
2623 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2624 "canvas_monitor_vec",
2625 eval
->canvas_monitor_vec
,
2626 (GtkDestroyNotify
) gtk_widget_unref
);
2627 gtk_widget_show (eval
->canvas_monitor_vec
);
2628 gtk_container_add (GTK_CONTAINER (eval
->frame_monitor_vec
),
2629 eval
->canvas_monitor_vec
);
2633 * Define button to switched on/off
2635 eval
->hbox_monitor
= gtk_hbox_new (FALSE
, 0);
2636 gtk_widget_ref (eval
->hbox_monitor
);
2637 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2640 (GtkDestroyNotify
) gtk_widget_unref
);
2641 gtk_widget_show (eval
->hbox_monitor
);
2642 gtk_table_attach (GTK_TABLE (eval
->table_monitor
),
2648 (GtkAttachOptions
) (GTK_EXPAND
| GTK_FILL
),
2649 (GtkAttachOptions
) (GTK_FILL
),
2653 eval
->checkbutton_monitor
=
2654 gtk_check_button_new_with_label ( _("Monitor"));
2655 gtk_widget_ref (eval
->checkbutton_monitor
);
2656 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2657 "checkbutton_monitor",
2658 eval
->checkbutton_monitor
,
2659 (GtkDestroyNotify
) gtk_widget_unref
);
2660 gtk_widget_show (eval
->checkbutton_monitor
);
2661 gtk_box_pack_start (GTK_BOX (eval
->hbox_monitor
),
2662 eval
->checkbutton_monitor
,
2667 gtk_object_set_data (GTK_OBJECT (eval
->checkbutton_monitor
),
2670 g_signal_connect (GTK_OBJECT (eval
->checkbutton_monitor
),
2672 G_CALLBACK (on_checkbutton_piv_monitor_enter
),
2674 g_signal_connect (GTK_OBJECT (eval
->checkbutton_monitor
),
2676 G_CALLBACK (on_widget_leave
),
2678 g_signal_connect (GTK_OBJECT (eval
->checkbutton_monitor
),
2680 G_CALLBACK (on_checkbutton_piv_monitor
),
2688 eval
->label_monitor_zoom
= gtk_label_new ( _("Zoom:"));
2689 gtk_widget_ref (eval
->label_monitor_zoom
);
2690 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2691 "eval_label_monitor_zoom",
2692 eval
->label_monitor_zoom
,
2693 (GtkDestroyNotify
) gtk_widget_unref
);
2694 gtk_widget_show (eval
->label_monitor_zoom
);
2695 gtk_box_pack_start (GTK_BOX (eval
->hbox_monitor
),
2696 eval
->label_monitor_zoom
,
2703 eval
->spinbutton_adj_monitor_zoom
=
2704 gtk_adjustment_new (gpiv_var
->piv_disproc_zoom
,
2713 eval
->spinbutton_monitor_zoom
=
2714 gtk_spin_button_new (GTK_ADJUSTMENT (eval
->spinbutton_adj_monitor_zoom
),
2717 gtk_widget_ref (eval
->spinbutton_monitor_zoom
);
2718 gtk_widget_show (eval
->spinbutton_monitor_zoom
);
2719 gtk_box_pack_start (GTK_BOX (eval
->hbox_monitor
),
2720 eval
->spinbutton_monitor_zoom
,
2724 gtk_entry_set_editable (GTK_ENTRY (eval
->spinbutton_monitor_zoom
),
2726 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (eval
->spinbutton_monitor_zoom
),
2729 gtk_object_set_data (GTK_OBJECT (eval
->spinbutton_monitor_zoom
),
2732 g_signal_connect (GTK_OBJECT (eval
->spinbutton_monitor_zoom
),
2734 G_CALLBACK (on_spinbutton_piv_monitor_zoom
),
2735 eval
->spinbutton_monitor_zoom
);
2740 * spinner for vector length
2742 eval
->label_monitor_vectorscale
= gtk_label_new ( _("Vector scale:"));
2743 gtk_widget_ref (eval
->label_monitor_vectorscale
);
2744 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2745 "eval_label_monitor_vectorscale",
2746 eval
->label_monitor_vectorscale
,
2747 (GtkDestroyNotify
) gtk_widget_unref
);
2748 gtk_widget_show (eval
->label_monitor_vectorscale
);
2749 gtk_box_pack_start (GTK_BOX (eval
->hbox_monitor
),
2750 eval
->label_monitor_vectorscale
,
2757 eval
->spinbutton_adj_monitor_vectorscale
=
2758 gtk_adjustment_new (gpiv_var
->piv_disproc_vlength
,
2767 eval
->spinbutton_monitor_vectorscale
=
2768 gtk_spin_button_new (GTK_ADJUSTMENT (eval
->spinbutton_adj_monitor_vectorscale
),
2771 gtk_widget_ref (eval
->spinbutton_monitor_vectorscale
);
2772 gtk_widget_show (eval
->spinbutton_monitor_vectorscale
);
2773 gtk_box_pack_start (GTK_BOX (eval
->hbox_monitor
),
2774 eval
->spinbutton_monitor_vectorscale
,
2778 gtk_entry_set_editable (GTK_ENTRY (eval
->spinbutton_monitor_vectorscale
),
2780 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (eval
->spinbutton_monitor_vectorscale
),
2783 gtk_object_set_data (GTK_OBJECT (eval
->spinbutton_monitor_vectorscale
),
2786 g_signal_connect (GTK_OBJECT (eval
->spinbutton_monitor_vectorscale
),
2788 G_CALLBACK (on_spinbutton_piv_monitor_vectorscale
),
2789 eval
->spinbutton_monitor_vectorscale
);
2794 * PIV activating button
2796 eval
->button
= gtk_button_new_with_label ( _("piv"));
2797 gtk_widget_ref (eval
->button
);
2798 gtk_object_set_data_full (GTK_OBJECT (main_window
),
2801 (GtkDestroyNotify
) gtk_widget_unref
);
2802 gtk_widget_show (eval
->button
);
2803 gtk_table_attach (GTK_TABLE (eval
->table
),
2809 (GtkAttachOptions
) (GTK_FILL
),
2810 (GtkAttachOptions
) (GTK_FILL
),
2813 gtk_tooltips_set_tip(gpiv
->tooltips
,
2815 _("Interrogates a PIV image (pair) resulting into estimators of the mean displacement of the particle images within each interrogation area"),
2818 gtk_object_set_data (GTK_OBJECT (eval
->button
),
2821 g_signal_connect (GTK_OBJECT (eval
->button
),
2823 G_CALLBACK (on_button_piv_enter
),
2825 g_signal_connect (GTK_OBJECT (eval
->button
),
2827 G_CALLBACK (on_widget_leave
),
2829 g_signal_connect (GTK_OBJECT (eval
->button
),
2831 G_CALLBACK (on_button_piv
),
2836 * Setting initial values
2840 /* if (gl_piv_par->int_size_f == 8) { */
2841 /* gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON */
2842 /* (eval->radiobutton_intsize_f_1),
2847 if (gl_piv_par
->int_size_f
== 16) {
2848 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2849 (eval
->radiobutton_intsize_f_2
),
2854 if (gl_piv_par
->int_size_f
== 32) {
2855 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2856 (eval
->radiobutton_intsize_f_3
),
2861 if (gl_piv_par
->int_size_f
== 64) {
2862 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2863 (eval
->radiobutton_intsize_f_4
),
2868 if (gl_piv_par
->int_size_f
== 128) {
2869 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2870 (eval
->radiobutton_intsize_f_5
),
2876 /* if (gl_piv_par->int_size_i == 8) { */
2877 /* gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON */
2878 /* (eval->radiobutton_intsize_i_1),
2883 if (gl_piv_par
->int_size_i
== 16) {
2884 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2885 (eval
->radiobutton_intsize_i_2
),
2890 if (gl_piv_par
->int_size_i
== 32) {
2891 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2892 (eval
->radiobutton_intsize_i_3
),
2897 if (gl_piv_par
->int_size_i
== 64) {
2898 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2899 (eval
->radiobutton_intsize_i_4
),
2904 if (gl_piv_par
->int_size_i
== 128) {
2905 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2906 (eval
->radiobutton_intsize_i_5
),
2913 if (gl_piv_par
->int_shift
== 8) {
2914 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2915 (eval
->radiobutton_intshift_1
),
2920 if (gl_piv_par
->int_shift
== 16) {
2921 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2922 (eval
->radiobutton_intshift_2
),
2927 if (gl_piv_par
->int_shift
== 32) {
2928 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2929 (eval
->radiobutton_intshift_3
),
2934 if (gl_piv_par
->int_shift
== 64) {
2935 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2936 (eval
->radiobutton_intshift_4
),
2941 if (gl_piv_par
->int_shift
== 128) {
2942 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2943 (eval
->radiobutton_intshift_5
),
2948 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
2949 (eval
->radiobutton_mouse_0
),
2953 if (gl_piv_par
->ifit
== 0) {
2954 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2955 (eval
->radiobutton_fit_none
),
2960 if (gl_piv_par
->ifit
== 1) {
2961 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2962 (eval
->radiobutton_fit_gauss
),
2967 if (gl_piv_par
->ifit
== 2) {
2968 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2969 (eval
->radiobutton_fit_power
),
2974 if (gl_piv_par
->ifit
== 3) {
2975 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2976 (eval
->radiobutton_fit_gravity
),
2981 /* if (ifit == -1) { */
2982 /* gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (eval->radiobutton_fit_marquardt),
2987 if (gl_piv_par
->peak
== 1) {
2988 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2989 (eval
->radiobutton_peak_1
),
2994 if (gl_piv_par
->peak
== 2) {
2995 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2996 (eval
->radiobutton_peak_2
),
3000 if (gl_piv_par
->peak
== 3) {
3001 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
3002 (eval
->radiobutton_peak_3
),
3006 if (gl_piv_par
->int_scheme
== GPIV_LK_WEIGHT
) {
3007 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
3008 (eval
->radiobutton_weightkernel
),
3012 if (gl_piv_par
->int_scheme
== GPIV_ZERO_OFF_FORWARD
) {
3013 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
3014 (eval
->radiobutton_zerooff
),
3018 if (gl_piv_par
->int_scheme
== GPIV_ZERO_OFF_CENTRAL
) {
3019 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
3020 (eval
->radiobutton_centraldiff
),
3024 if (gl_piv_par
->int_scheme
== GPIV_IMG_DEFORM
) {
3025 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
3026 (eval
->radiobutton_imgdeform
),
3030 if (gl_image_par
->x_corr
== 0) {
3031 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
3032 (eval
->radiobutton_cross_1
),
3035 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
3036 (eval
->radiobutton_cross_2
),
3041 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
3042 (eval
->checkbutton_weight_ia
),
3043 gl_piv_par
->gauss_weight_ia
);
3045 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
3046 (eval
->checkbutton_spof
),
3047 gl_piv_par
->spof_filter
);
3049 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
3050 (eval
->checkbutton_monitor
),
3051 gpiv_par
->display__process
);