bug repair: loading .png image, from Adrian Daerr
[gpiv.git] / src / piveval_interface.c
blobaa0cdb8241651c357e4e53e2c4d90bd0efb9eec2
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
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 * 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
51 * version 0.3.0
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_*.
69 * Resizing console.
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
82 * Imported gpiv
86 #ifdef HAVE_CONFIG_H
87 # include <config.h>
88 #endif
90 #include "gpiv_gui.h"
91 #include "utils.h"
92 #include "piveval_interface.h"
93 #include "piveval.h"
97 PivEval *
98 create_piveval (GnomeApp *main_window,
99 GtkWidget *container
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),
131 "vbox_label",
132 eval->vbox_label,
133 (GtkDestroyNotify) gtk_widget_unref);
134 gtk_widget_show (eval->vbox_label);
135 gtk_container_add (GTK_CONTAINER (container),
136 eval->vbox_label);
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),
141 "label_title",
142 eval->label_title,
143 (GtkDestroyNotify) gtk_widget_unref);
144 gtk_widget_show (eval->label_title);
145 gtk_box_pack_start (GTK_BOX (eval->vbox_label),
146 eval->label_title,
147 FALSE,
148 FALSE,
152 * Scrolled window
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),
158 "vbox_scroll",
159 eval->vbox_scroll,
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,
164 TRUE,
167 eval->scrolledwindow = gtk_scrolled_window_new (NULL,
168 NULL);
169 gtk_widget_ref (eval->scrolledwindow);
170 gtk_object_set_data_full (GTK_OBJECT (main_window),
171 "scrolledwindow",
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,
177 TRUE,
178 TRUE,
180 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (eval->scrolledwindow),
181 GTK_POLICY_NEVER,
182 GTK_POLICY_AUTOMATIC);
184 eval->viewport = gtk_viewport_new (NULL,
185 NULL);
186 gtk_widget_ref (eval->viewport);
187 gtk_object_set_data_full (GTK_OBJECT (main_window),
188 "viewport",
189 eval->viewport,
190 (GtkDestroyNotify) gtk_widget_unref);
191 gtk_widget_show (eval->viewport);
192 gtk_container_add (GTK_CONTAINER (eval->scrolledwindow),
193 eval->viewport);
194 gtk_widget_set_size_request (GTK_WIDGET (eval->scrolledwindow),
195 410,
196 375);
199 * main table for PIV
201 eval->table = gtk_table_new (2,
203 FALSE);
204 gtk_widget_ref (eval->table);
205 gtk_object_set_data_full (GTK_OBJECT (main_window),
206 "table",
207 eval->table,
208 (GtkDestroyNotify) gtk_widget_unref);
209 gtk_widget_show (eval->table);
210 gtk_container_add (GTK_CONTAINER (eval->viewport),
211 eval->table);
215 * table for entries of first, last and pre-shift columns/rows
217 eval->table_aoi = gtk_table_new (4,
219 FALSE);
220 gtk_widget_ref (eval->table_aoi);
221 gtk_object_set_data_full (GTK_OBJECT (main_window),
222 "table_aoi",
223 eval->table_aoi,
224 (GtkDestroyNotify) gtk_widget_unref);
225 gtk_widget_show (eval->table_aoi);
226 gtk_table_attach (GTK_TABLE (eval->table),
227 eval->table_aoi,
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),
242 "label_colstart",
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),
262 "label_colend",
263 eval->label_colend,
264 (GtkDestroyNotify) gtk_widget_unref);
265 gtk_widget_show (eval->label_colend);
266 gtk_table_attach (GTK_TABLE (eval->table_aoi),
267 eval->label_colend,
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),
282 "label_preshiftcol",
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),
302 "label_rowstart",
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),
322 "label_rowend",
323 eval->label_rowend,
324 (GtkDestroyNotify) gtk_widget_unref);
325 gtk_widget_show (eval->label_rowend);
326 gtk_table_attach (GTK_TABLE (eval->table_aoi),
327 eval->label_rowend,
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),
342 "label_preshiftrow",
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,
366 10,
367 10);
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),
390 TRUE);
392 gtk_object_set_data (GTK_OBJECT (eval->spinbutton_colstart),
393 "eval",
394 eval);
395 gtk_object_set_data (GTK_OBJECT (eval->spinbutton_colstart),
396 "var_type",
397 "0" /* COL_START */);
398 g_signal_connect (GTK_OBJECT (eval->spinbutton_colstart),
399 "changed",
400 G_CALLBACK (on_spinbutton_piv_int),
401 eval->spinbutton_colstart);
404 * spinner for colend
406 eval->spinbutton_adj_colend =
407 gtk_adjustment_new (gl_piv_par->col_end,
409 gl_image_par->ncolumns - 1,
412 10);
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),
419 "spinbutton_colend",
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),
434 TRUE);
436 gtk_object_set_data (GTK_OBJECT (eval->spinbutton_colend),
437 "eval",
438 eval);
439 gtk_object_set_data (GTK_OBJECT (eval->spinbutton_colend),
440 "var_type",
441 "1" /* COL_END */);
442 g_signal_connect (GTK_OBJECT (eval->spinbutton_colend),
443 "changed",
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,
456 10,
457 10);
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),
480 TRUE);
482 gtk_object_set_data (GTK_OBJECT (eval->spinbutton_preshiftcol),
483 "eval",
484 eval);
485 gtk_object_set_data (GTK_OBJECT (eval->spinbutton_preshiftcol),
486 "var_type",
487 "2" /* PRE_SHIFT_COL */);
488 g_signal_connect (GTK_OBJECT (eval->spinbutton_preshiftcol),
489 "changed",
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,
502 10,
503 10);
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),
525 TRUE);
527 gtk_object_set_data (GTK_OBJECT (eval->spinbutton_rowstart),
528 "eval",
529 eval);
530 gtk_object_set_data (GTK_OBJECT (eval->spinbutton_rowstart),
531 "var_type",
532 "3"/* (int *) ROWSTART */);
533 g_signal_connect (GTK_OBJECT (eval->spinbutton_rowstart),
534 "changed",
535 G_CALLBACK (on_spinbutton_piv_int),
536 eval->spinbutton_rowstart);
540 * spinner for rowend
542 eval->spinbutton_adj_rowend =
543 gtk_adjustment_new (gl_piv_par->row_end,
545 gl_image_par->nrows - 1,
547 10,
548 10);
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),
555 "spinbutton_rowend",
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),
571 "eval",
572 eval);
573 gtk_object_set_data (GTK_OBJECT (eval->spinbutton_rowend),
574 "var_type",
575 "4" /* ROWEND */);
576 g_signal_connect (GTK_OBJECT (eval->spinbutton_rowend),
577 "changed",
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,
590 10,
591 10);
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),
614 "eval",
615 eval);
616 gtk_object_set_data (GTK_OBJECT (eval->spinbutton_preshiftrow),
617 "var_type",
618 "5" /* PRESHIFTROW */);
619 g_signal_connect (GTK_OBJECT (eval->spinbutton_preshiftrow),
620 "changed",
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),
632 "hbox_intreg",
633 eval->hbox_intreg,
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),
647 "frame_2",
648 eval->frame_2,
649 (GtkDestroyNotify) gtk_widget_unref);
650 gtk_widget_show (eval->frame_2);
651 gtk_box_pack_start (GTK_BOX (eval->hbox_intreg),
652 eval->frame_2,
653 TRUE,
654 TRUE,
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),
660 "vbox_intsize_f",
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,
676 10,
677 10);
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,
692 FALSE, FALSE, 0);
694 gtk_object_set_data (GTK_OBJECT (eval->spinbutton_intsize_f),
695 "eval",
696 eval);
697 gtk_object_set_data (GTK_OBJECT (eval->spinbutton_intsize_f),
698 "var_type",
699 "6" /* INT_SIZE_F */);
700 g_signal_connect (GTK_OBJECT (eval->spinbutton_intsize_f),
701 "changed",
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", */
727 /* "8"); */
728 /* gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_f_1), "var_type", */
729 /* "0"); */
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,
736 _("16"));
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,
748 FALSE,
749 FALSE,
752 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_f_2),
753 "eval",
754 eval);
755 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_f_2),
756 "intsize_f",
757 "16");
758 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_f_2),
759 "var_type",
760 "0");
761 g_signal_connect (GTK_OBJECT (eval->radiobutton_intsize_f_2),
762 "toggled",
763 G_CALLBACK (on_radiobutton_piv_int),
764 NULL);
768 eval->radiobutton_intsize_f_3 =
769 gtk_radio_button_new_with_label (eval->int_size_f_group,
770 _("32"));
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,
782 FALSE,
783 FALSE,
786 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_f_3),
787 "eval",
788 eval);
789 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_f_3),
790 "intsize_f",
791 "32");
792 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_f_3),
793 "var_type",
794 "0");
795 g_signal_connect (GTK_OBJECT (eval->radiobutton_intsize_f_3),
796 "toggled",
797 G_CALLBACK (on_radiobutton_piv_int),
798 NULL);
802 eval->radiobutton_intsize_f_4 =
803 gtk_radio_button_new_with_label (eval->int_size_f_group,
804 _("64"));
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,
816 FALSE,
817 FALSE,
820 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_f_4),
821 "eval",
822 eval);
823 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_f_4),
824 "intsize_f",
825 "64");
826 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_f_4),
827 "var_type",
828 "0");
829 g_signal_connect (GTK_OBJECT (eval->radiobutton_intsize_f_4),
830 "toggled",
831 G_CALLBACK (on_radiobutton_piv_int),
832 NULL);
836 eval->radiobutton_intsize_f_5 =
837 gtk_radio_button_new_with_label (eval->int_size_f_group,
838 _("128"));
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,
850 FALSE,
851 FALSE,
854 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_f_5),
855 "eval",
856 eval);
857 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_f_5),
858 "intsize_f",
859 "128");
860 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_f_5),
861 "var_type",
862 "0");
863 g_signal_connect (GTK_OBJECT (eval->radiobutton_intsize_f_5),
864 "toggled",
865 G_CALLBACK (on_radiobutton_piv_int),
866 NULL);
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),
876 "frame_3",
877 eval->frame_3,
878 (GtkDestroyNotify) gtk_widget_unref);
879 gtk_widget_show (eval->frame_3);
880 gtk_box_pack_start (GTK_BOX (eval->hbox_intreg),
881 eval->frame_3,
882 TRUE,
883 TRUE,
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),
891 "vbox_intsize_i",
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,
908 10);
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,
921 FALSE,
922 FALSE,
925 gtk_object_set_data (GTK_OBJECT (eval->spinbutton_intsize_i),
926 "eval",
927 eval);
928 gtk_object_set_data (GTK_OBJECT (eval->spinbutton_intsize_i),
929 "var_type",
930 "7" /* INT_SIZE_I */);
931 g_signal_connect (GTK_OBJECT (eval->spinbutton_intsize_i),
932 "changed",
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),
954 "eval", eval); */
955 /* gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_i_1), "intsize_i", */
956 /* "8"); */
957 /* gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_i_1), "var_type", */
958 /* "1"); */
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,
965 _("16"));
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,
977 FALSE,
978 FALSE,
981 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_i_2),
982 "eval",
983 eval);
984 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_i_2),
985 "intsize_i",
986 "16");
987 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_i_2),
988 "var_type",
989 "1");
990 g_signal_connect (GTK_OBJECT (eval->radiobutton_intsize_i_2),
991 "toggled",
992 G_CALLBACK (on_radiobutton_piv_int),
993 NULL);
997 eval->radiobutton_intsize_i_3 =
998 gtk_radio_button_new_with_label (eval->int_size_i_group,
999 _("32"));
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,
1011 FALSE,
1012 FALSE,
1015 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_i_3),
1016 "eval",
1017 eval);
1018 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_i_3),
1019 "intsize_i",
1020 "32");
1021 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_i_3),
1022 "var_type",
1023 "1");
1024 g_signal_connect (GTK_OBJECT (eval->radiobutton_intsize_i_3),
1025 "toggled",
1026 G_CALLBACK (on_radiobutton_piv_int),
1027 NULL);
1031 eval->radiobutton_intsize_i_4 =
1032 gtk_radio_button_new_with_label (eval->int_size_i_group,
1033 _("64"));
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,
1045 FALSE,
1046 FALSE,
1049 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_i_4),
1050 "eval", eval);
1051 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_i_4),
1052 "intsize_i",
1053 "64");
1054 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_i_4),
1055 "var_type",
1056 "1");
1057 g_signal_connect (GTK_OBJECT (eval->radiobutton_intsize_i_4),
1058 "toggled",
1059 G_CALLBACK (on_radiobutton_piv_int),
1060 NULL);
1064 eval->radiobutton_intsize_i_5 =
1065 gtk_radio_button_new_with_label (eval->int_size_i_group,
1066 _("128"));
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,
1078 FALSE,
1079 FALSE,
1082 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_i_5),
1083 "eval",
1084 eval);
1085 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_i_5),
1086 "intsize_i",
1087 "128");
1088 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intsize_i_5)
1089 , "var_type",
1090 "1");
1091 g_signal_connect (GTK_OBJECT (eval->radiobutton_intsize_i_5),
1092 "toggled",
1093 G_CALLBACK (on_radiobutton_piv_int),
1094 NULL);
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),
1104 "frame_4",
1105 eval->frame_4,
1106 (GtkDestroyNotify) gtk_widget_unref);
1107 gtk_widget_show (eval->frame_4);
1108 gtk_box_pack_start (GTK_BOX (eval->hbox_intreg),
1109 eval->frame_4,
1110 TRUE,
1111 TRUE,
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),
1118 "vbox_shift",
1119 eval->vbox_shift,
1120 (GtkDestroyNotify) gtk_widget_unref);
1121 gtk_widget_show (eval->vbox_shift);
1122 gtk_container_add (GTK_CONTAINER (eval->frame_4),
1123 eval->vbox_shift);
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,
1135 10);
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,
1147 FALSE,
1148 FALSE,
1151 gtk_object_set_data (GTK_OBJECT (eval->spinbutton_intshift),
1152 "eval"
1153 , eval);
1154 gtk_object_set_data (GTK_OBJECT (eval->spinbutton_intshift),
1155 "var_type",
1156 "8" /* INT_SHIFT */);
1157 g_signal_connect (GTK_OBJECT (eval->spinbutton_intshift),
1158 "changed",
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,
1166 _("8"));
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,
1179 FALSE,
1180 FALSE,
1183 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intshift_1),
1184 "eval",
1185 eval);
1186 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intshift_1),
1187 "intshift",
1188 "8");
1189 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intshift_1),
1190 "var_type",
1191 "2");
1192 g_signal_connect (GTK_OBJECT (eval->radiobutton_intshift_1),
1193 "toggled",
1194 G_CALLBACK (on_radiobutton_piv_int),
1195 NULL);
1199 eval->radiobutton_intshift_2 =
1200 gtk_radio_button_new_with_label (eval->int_shift_group,
1201 _("16"));
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,
1213 FALSE,
1214 FALSE,
1217 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intshift_2),
1218 "eval",
1219 eval);
1220 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intshift_2),
1221 "intshift",
1222 "16");
1223 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intshift_2),
1224 "var_type",
1225 "2");
1226 g_signal_connect (GTK_OBJECT (eval->radiobutton_intshift_2),
1227 "toggled",
1228 G_CALLBACK (on_radiobutton_piv_int),
1229 NULL);
1233 eval->radiobutton_intshift_3 =
1234 gtk_radio_button_new_with_label (eval->int_shift_group,
1235 _("32"));
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,
1247 FALSE,
1248 FALSE,
1251 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intshift_3),
1252 "eval",
1253 eval);
1254 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intshift_3),
1255 "intshift",
1256 "32");
1257 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intshift_3),
1258 "var_type",
1259 "2");
1260 g_signal_connect (GTK_OBJECT (eval->radiobutton_intshift_3),
1261 "toggled",
1262 G_CALLBACK (on_radiobutton_piv_int),
1263 NULL);
1267 eval->radiobutton_intshift_4 =
1268 gtk_radio_button_new_with_label (eval->int_shift_group,
1269 _("64"));
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,
1281 FALSE,
1282 FALSE,
1285 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intshift_4),
1286 "eval",
1287 eval);
1288 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intshift_4),
1289 "intshift",
1290 "64");
1291 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intshift_4),
1292 "var_type",
1293 "2");
1294 g_signal_connect (GTK_OBJECT (eval->radiobutton_intshift_4),
1295 "toggled",
1296 G_CALLBACK (on_radiobutton_piv_int),
1297 NULL);
1301 eval->radiobutton_intshift_5 =
1302 gtk_radio_button_new_with_label (eval->int_shift_group,
1303 _("128"));
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,
1315 FALSE,
1316 FALSE,
1319 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intshift_5),
1320 "eval",
1321 eval);
1322 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intshift_5),
1323 "intshift",
1324 "128");
1325 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_intshift_5),
1326 "var_type",
1327 "2");
1328 g_signal_connect (GTK_OBJECT (eval->radiobutton_intshift_5),
1329 "toggled",
1330 G_CALLBACK (on_radiobutton_piv_int),
1331 NULL);
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),
1341 "frame_1",
1342 eval->frame_1,
1343 (GtkDestroyNotify) gtk_widget_unref);
1344 gtk_widget_show (eval->frame_1);
1345 gtk_table_attach (GTK_TABLE (eval->table),
1346 eval->frame_1,
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),
1361 "vbox_mouseselect",
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,
1371 _("None"));
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,
1382 FALSE,
1383 FALSE,
1386 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_mouse_0),
1387 "eval",
1388 eval);
1389 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_mouse_0),
1390 "mouse_select",
1391 "0" /* NO_MS */);
1392 g_signal_connect (GTK_OBJECT (eval->radiobutton_mouse_0),
1393 "enter",
1394 G_CALLBACK (on_radiobutton_piv_mouse1_enter),
1395 NULL);
1396 g_signal_connect (GTK_OBJECT (eval->radiobutton_mouse_0),
1397 "leave",
1398 G_CALLBACK (on_widget_leave),
1399 NULL);
1400 g_signal_connect (GTK_OBJECT (eval->radiobutton_mouse_0),
1401 "toggled",
1402 G_CALLBACK (on_radiobutton_piv_mouse),
1403 NULL);
1407 eval->radiobutton_mouse_1 =
1408 gtk_radio_button_new_with_label (gpiv->mouse_sel_group,
1409 _("Area"));
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,
1420 FALSE,
1421 FALSE,
1424 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_mouse_1),
1425 "eval",
1426 eval);
1427 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_mouse_1),
1428 "mouse_select",
1429 "1" /* AOI_MS */);
1430 g_signal_connect (GTK_OBJECT (eval->radiobutton_mouse_1),
1431 "enter",
1432 G_CALLBACK (on_radiobutton_piv_mouse2_enter),
1433 NULL);
1434 g_signal_connect (GTK_OBJECT (eval->radiobutton_mouse_1),
1435 "leave",
1436 G_CALLBACK (on_widget_leave),
1437 NULL);
1438 g_signal_connect (GTK_OBJECT (eval->radiobutton_mouse_1),
1439 "toggled",
1440 G_CALLBACK (on_radiobutton_piv_mouse),
1441 NULL);
1445 eval->radiobutton_mouse_2 =
1446 gtk_radio_button_new_with_label (gpiv->mouse_sel_group,
1447 _("Single int."));
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,
1458 FALSE,
1459 FALSE,
1461 gtk_widget_hide (GTK_WIDGET (eval->radiobutton_mouse_2));
1463 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_mouse_2),
1464 "eval",
1465 eval);
1466 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_mouse_2),
1467 "mouse_select",
1468 "2" /* SINGLE_AREA_MS */);
1469 g_signal_connect (GTK_OBJECT (eval->radiobutton_mouse_2),
1470 "enter",
1471 G_CALLBACK (on_radiobutton_piv_mouse3_enter),
1472 NULL);
1473 g_signal_connect (GTK_OBJECT (eval->radiobutton_mouse_2),
1474 "leave",
1475 G_CALLBACK (on_widget_leave),
1476 NULL);
1477 g_signal_connect (GTK_OBJECT (eval->radiobutton_mouse_2),
1478 "toggled",
1479 G_CALLBACK (on_radiobutton_piv_mouse),
1480 NULL);
1484 eval->radiobutton_mouse_3 =
1485 gtk_radio_button_new_with_label (gpiv->mouse_sel_group,
1486 _("Single point"));
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,
1497 FALSE,
1498 FALSE,
1500 gtk_widget_hide (GTK_WIDGET (eval->radiobutton_mouse_3));
1502 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_mouse_3),
1503 "eval",
1504 eval);
1505 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_mouse_3),
1506 "mouse_select",
1507 "3" /* SINGLE_POINT_MS */);
1508 g_signal_connect (GTK_OBJECT (eval->radiobutton_mouse_3),
1509 "enter",
1510 G_CALLBACK (on_radiobutton_piv_mouse4_enter),
1511 NULL);
1512 g_signal_connect (GTK_OBJECT (eval->radiobutton_mouse_3),
1513 "leave",
1514 G_CALLBACK (on_widget_leave),
1515 NULL);
1516 g_signal_connect (GTK_OBJECT (eval->radiobutton_mouse_3),
1517 "toggled",
1518 G_CALLBACK (on_radiobutton_piv_mouse),
1519 NULL);
1523 eval->radiobutton_mouse_4 =
1524 gtk_radio_button_new_with_label (gpiv->mouse_sel_group,
1525 _("Drag int."));
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,
1536 FALSE,
1537 FALSE,
1539 gtk_widget_hide (GTK_WIDGET (eval->radiobutton_mouse_4));
1541 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_mouse_4),
1542 "eval",
1543 eval);
1544 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_mouse_4),
1545 "mouse_select",
1546 "4" /* DRAG_MS */);
1547 g_signal_connect (GTK_OBJECT (eval->radiobutton_mouse_4),
1548 "enter",
1549 G_CALLBACK (on_radiobutton_piv_mouse5_enter),
1550 NULL);
1551 g_signal_connect (GTK_OBJECT (eval->radiobutton_mouse_4),
1552 "leave",
1553 G_CALLBACK (on_widget_leave),
1554 NULL);
1555 g_signal_connect (GTK_OBJECT (eval->radiobutton_mouse_4),
1556 "toggled",
1557 G_CALLBACK (on_radiobutton_piv_mouse),
1558 NULL);
1562 eval->radiobutton_mouse_5 =
1563 gtk_radio_button_new_with_label (gpiv->mouse_sel_group,
1564 _("Vert. Line"));
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,
1575 FALSE,
1576 FALSE,
1579 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_mouse_5),
1580 "eval",
1581 eval);
1582 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_mouse_5),
1583 "mouse_select",
1584 "5" /* V_LINE_MS */);
1585 g_signal_connect (GTK_OBJECT (eval->radiobutton_mouse_5),
1586 "enter",
1587 G_CALLBACK (on_radiobutton_piv_mouse6_enter),
1588 NULL);
1589 g_signal_connect (GTK_OBJECT (eval->radiobutton_mouse_5),
1590 "leave",
1591 G_CALLBACK (on_widget_leave),
1592 NULL);
1593 g_signal_connect (GTK_OBJECT (eval->radiobutton_mouse_5),
1594 "toggled",
1595 G_CALLBACK (on_radiobutton_piv_mouse),
1596 NULL);
1600 eval->radiobutton_mouse_6 =
1601 gtk_radio_button_new_with_label (gpiv->mouse_sel_group,
1602 _("Hor. Line"));
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,
1613 FALSE,
1614 FALSE,
1617 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_mouse_6),
1618 "eval",
1619 eval);
1620 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_mouse_6),
1621 "mouse_select",
1622 "6" /* H_LINE_MS */);
1623 g_signal_connect (GTK_OBJECT (eval->radiobutton_mouse_6),
1624 "enter",
1625 G_CALLBACK (on_radiobutton_piv_mouse7_enter),
1626 NULL);
1627 g_signal_connect (GTK_OBJECT (eval->radiobutton_mouse_6),
1628 "leave",
1629 G_CALLBACK (on_widget_leave),
1630 NULL);
1631 g_signal_connect (GTK_OBJECT (eval->radiobutton_mouse_6),
1632 "toggled",
1633 G_CALLBACK (on_radiobutton_piv_mouse),
1634 NULL);
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),
1644 "frame_5",
1645 eval->frame_5,
1646 (GtkDestroyNotify) gtk_widget_unref);
1647 gtk_widget_show (eval->frame_5);
1648 gtk_table_attach (GTK_TABLE (eval->table),
1649 eval->frame_5,
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),
1664 "vbox10",
1665 eval->vbox10,
1666 (GtkDestroyNotify) gtk_widget_unref);
1667 gtk_widget_show (eval->vbox10);
1668 gtk_container_add (GTK_CONTAINER (eval->frame_5),
1669 eval->vbox10);
1672 eval->radiobutton_fit_none =
1673 gtk_radio_button_new_with_label (eval->vbox10_group,
1674 _("None"));
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,
1685 FALSE,
1686 FALSE,
1689 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_fit_none),
1690 "eval",
1691 eval);
1692 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_fit_none),
1693 "ifit",
1694 "0");
1695 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_fit_none),
1696 "var_type",
1697 "0");
1698 g_signal_connect (GTK_OBJECT (eval->radiobutton_fit_none),
1699 "enter",
1700 G_CALLBACK (on_radiobutton_fit_enter),
1701 NULL);
1702 g_signal_connect (GTK_OBJECT (eval->radiobutton_fit_none),
1703 "leave",
1704 G_CALLBACK (on_widget_leave),
1705 NULL);
1707 g_signal_connect (GTK_OBJECT (eval->radiobutton_fit_none),
1708 "toggled",
1709 G_CALLBACK (on_toggle_piv),
1710 NULL);
1714 eval->radiobutton_fit_gauss =
1715 gtk_radio_button_new_with_label (eval->vbox10_group,
1716 _("Gauss"));
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,
1728 FALSE,
1729 FALSE,
1732 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_fit_gauss),
1733 "eval",
1734 eval);
1735 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_fit_gauss),
1736 "ifit",
1737 "1");
1738 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_fit_gauss),
1739 "var_type",
1740 "0");
1741 g_signal_connect (GTK_OBJECT (eval->radiobutton_fit_gauss),
1742 "enter",
1743 G_CALLBACK (on_radiobutton_fit_enter),
1744 NULL);
1745 g_signal_connect (GTK_OBJECT (eval->radiobutton_fit_gauss),
1746 "leave",
1747 G_CALLBACK (on_widget_leave),
1748 NULL);
1749 g_signal_connect (GTK_OBJECT (eval->radiobutton_fit_gauss),
1750 "toggled",
1751 G_CALLBACK (on_toggle_piv),
1752 NULL);
1756 eval->radiobutton_fit_power =
1757 gtk_radio_button_new_with_label (eval->vbox10_group,
1758 _("Power"));
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,
1770 FALSE,
1771 FALSE,
1774 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_fit_power),
1775 "eval",
1776 eval);
1777 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_fit_power),
1778 "ifit",
1779 "2");
1780 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_fit_power),
1781 "var_type",
1782 "0");
1783 g_signal_connect (GTK_OBJECT (eval->radiobutton_fit_power),
1784 "enter",
1785 G_CALLBACK (on_radiobutton_fit_enter),
1786 NULL);
1787 g_signal_connect (GTK_OBJECT (eval->radiobutton_fit_power),
1788 "leave",
1789 G_CALLBACK (on_widget_leave),
1790 NULL);
1791 g_signal_connect (GTK_OBJECT (eval->radiobutton_fit_power),
1792 "toggled",
1793 G_CALLBACK (on_toggle_piv),
1794 NULL);
1798 eval->radiobutton_fit_gravity =
1799 gtk_radio_button_new_with_label (eval->vbox10_group,
1800 _("Gravity"));
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,
1812 FALSE,
1813 FALSE,
1816 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_fit_gravity),
1817 "eval",
1818 eval);
1819 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_fit_gravity),
1820 "ifit",
1821 "3");
1822 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_fit_gravity),
1823 "var_type",
1824 "0");
1825 g_signal_connect (GTK_OBJECT (eval->radiobutton_fit_gravity),
1826 "enter",
1827 G_CALLBACK (on_radiobutton_fit_enter),
1828 NULL);
1829 g_signal_connect (GTK_OBJECT (eval->radiobutton_fit_gravity),
1830 "leave",
1831 G_CALLBACK (on_widget_leave),
1832 NULL);
1833 g_signal_connect (GTK_OBJECT (eval->radiobutton_fit_gravity),
1834 "toggled",
1835 G_CALLBACK (on_toggle_piv),
1836 NULL);
1840 /* eval->radiobutton_fit_marquardt = gtk_radio_button_new_with_label (eval->vbox10_group,
1841 _("Marquardt")); */
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,
1851 FALSE,
1852 FALSE,
1853 0); */
1855 /* gtk_object_set_data (GTK_OBJECT (eval->radiobutton_fit_marquardt), */
1856 /* "ifit",
1857 "4"); */
1858 /* gtk_object_set_data (GTK_OBJECT (eval->radiobutton_fit_marquardt),
1859 "eval",
1860 eval); */
1861 /* gtk_object_set_data (GTK_OBJECT (eval->radiobutton_fit_marquardt), */
1862 /* "var_type",
1863 "0"); */
1864 /* g_signal_connect (GTK_OBJECT (eval->radiobutton_fit_marquardt),
1865 "toggled", */
1866 /* G_CALLBACK (on_toggle_piv), */
1867 /* NULL); */
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),
1877 "frame_6",
1878 eval->frame_6,
1879 (GtkDestroyNotify) gtk_widget_unref);
1880 gtk_widget_show (eval->frame_6);
1881 gtk_table_attach (GTK_TABLE (eval->table),
1882 eval->frame_6,
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),
1896 "vbox11",
1897 eval->vbox11,
1898 (GtkDestroyNotify) gtk_widget_unref);
1899 gtk_widget_show (eval->vbox11);
1900 gtk_container_add (GTK_CONTAINER (eval->frame_6),
1901 eval->vbox11);
1903 eval->radiobutton_peak_1 =
1904 gtk_radio_button_new_with_label (eval->vbox11_group,
1905 _("1"));
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,
1916 FALSE,
1917 FALSE,
1920 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_peak_1),
1921 "eval",
1922 eval);
1923 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_peak_1),
1924 "peak",
1925 "1");
1926 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_peak_1),
1927 "var_type",
1928 "1");
1929 g_signal_connect (GTK_OBJECT (eval->radiobutton_peak_1),
1930 "enter",
1931 G_CALLBACK (on_radiobutton_peak_enter),
1932 NULL);
1933 g_signal_connect (GTK_OBJECT (eval->radiobutton_peak_1),
1934 "leave",
1935 G_CALLBACK (on_widget_leave),
1936 NULL);
1937 g_signal_connect (GTK_OBJECT (eval->radiobutton_peak_1),
1938 "toggled",
1939 G_CALLBACK (on_toggle_piv),
1940 NULL);
1944 eval->radiobutton_peak_2 =
1945 gtk_radio_button_new_with_label (eval->vbox11_group,
1946 _("2"));
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,
1957 FALSE,
1958 FALSE,
1961 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_peak_2),
1962 "eval",
1963 eval);
1964 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_peak_2),
1965 "peak",
1966 "2");
1967 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_peak_2),
1968 "var_type",
1969 "1");
1970 g_signal_connect (GTK_OBJECT (eval->radiobutton_peak_2),
1971 "enter",
1972 G_CALLBACK (on_radiobutton_peak_enter),
1973 NULL);
1974 g_signal_connect (GTK_OBJECT (eval->radiobutton_peak_2),
1975 "leave",
1976 G_CALLBACK (on_widget_leave),
1977 NULL);
1978 g_signal_connect (GTK_OBJECT (eval->radiobutton_peak_2),
1979 "toggled",
1980 G_CALLBACK (on_toggle_piv),
1981 NULL);
1985 eval->radiobutton_peak_3 =
1986 gtk_radio_button_new_with_label (eval->vbox11_group,
1987 _("3"));
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,
1998 FALSE,
1999 FALSE,
2002 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_peak_3),
2003 "eval",
2004 eval);
2005 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_peak_3),
2006 "peak",
2007 "3");
2008 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_peak_3),
2009 "var_type",
2010 "1");
2011 g_signal_connect (GTK_OBJECT (eval->radiobutton_peak_3),
2012 "enter",
2013 G_CALLBACK (on_radiobutton_peak_enter),
2014 NULL);
2015 g_signal_connect (GTK_OBJECT (eval->radiobutton_peak_3),
2016 "leave",
2017 G_CALLBACK (on_widget_leave),
2018 NULL);
2019 g_signal_connect (GTK_OBJECT (eval->radiobutton_peak_3),
2020 "toggled",
2021 G_CALLBACK (on_toggle_piv),
2022 NULL);
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),
2032 "frame_7",
2033 eval->frame_7,
2034 (GtkDestroyNotify) gtk_widget_unref);
2035 gtk_widget_show (eval->frame_7);
2036 gtk_table_attach (GTK_TABLE (eval->table),
2037 eval->frame_7,
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),
2052 "vbox12",
2053 eval->vbox12,
2054 (GtkDestroyNotify) gtk_widget_unref);
2055 gtk_widget_show (eval->vbox12);
2056 gtk_container_add (GTK_CONTAINER (eval->frame_7),
2057 eval->vbox12);
2060 /*----------------------------------------------------------------------------
2061 * Change order! */
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,
2077 FALSE,
2078 FALSE,
2079 0);
2081 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_imgdeform),
2082 "eval",
2083 eval);
2084 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_imgdeform),
2085 "var_type",
2086 "2" /* SCHEME */);
2087 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_imgdeform),
2088 "scheme",
2089 "4" /* GPIV_IMG_DEFORM */);
2090 g_signal_connect (GTK_OBJECT (eval->radiobutton_imgdeform),
2091 "enter",
2092 G_CALLBACK
2093 (on_radiobutton_interrogatescheme_imgdeform_enter),
2094 NULL);
2095 g_signal_connect (GTK_OBJECT (eval->radiobutton_imgdeform),
2096 "leave",
2097 G_CALLBACK (on_widget_leave),
2098 NULL);
2099 g_signal_connect (GTK_OBJECT (eval->radiobutton_imgdeform),
2100 "toggled",
2101 G_CALLBACK (on_toggle_piv),
2102 NULL);
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,
2119 FALSE,
2120 FALSE,
2121 0);
2123 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_centraldiff),
2124 "eval",
2125 eval);
2126 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_centraldiff),
2127 "var_type",
2128 "2" /* SCHEME */);
2129 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_centraldiff),
2130 "scheme",
2131 "3" /* (GPIV_ZERO_OFF_CENTRAL) */);
2132 g_signal_connect (GTK_OBJECT (eval->radiobutton_centraldiff),
2133 "enter",
2134 G_CALLBACK (on_radiobutton_interrogatescheme_enter),
2135 NULL);
2136 g_signal_connect (GTK_OBJECT (eval->radiobutton_centraldiff),
2137 "leave",
2138 G_CALLBACK (on_widget_leave),
2139 NULL);
2140 g_signal_connect (GTK_OBJECT (eval->radiobutton_centraldiff),
2141 "toggled",
2142 G_CALLBACK (on_toggle_piv),
2143 NULL);
2146 eval->radiobutton_zerooff =
2147 gtk_radio_button_new_with_label (eval->vbox12_group,
2148 _("Zero offset"));
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,
2159 FALSE,
2160 FALSE,
2163 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_zerooff),
2164 "eval",
2165 eval);
2166 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_zerooff),
2167 "var_type",
2168 "2" /* SCHEME */);
2169 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_zerooff),
2170 "scheme",
2171 "2" /* GPIV_ZERO_OFF_FORWARD */);
2172 g_signal_connect (GTK_OBJECT (eval->radiobutton_zerooff),
2173 "enter",
2174 G_CALLBACK (on_radiobutton_interrogatescheme_enter),
2175 NULL);
2176 g_signal_connect (GTK_OBJECT (eval->radiobutton_zerooff),
2177 "leave",
2178 G_CALLBACK (on_widget_leave),
2179 NULL);
2180 g_signal_connect (GTK_OBJECT (eval->radiobutton_zerooff),
2181 "toggled",
2182 G_CALLBACK (on_toggle_piv),
2183 NULL);
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,
2200 FALSE,
2201 FALSE,
2204 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_weightkernel),
2205 "eval",
2206 eval);
2207 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_weightkernel),
2208 "var_type",
2209 "2" /* SCHEME */);
2210 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_weightkernel),
2211 "scheme",
2212 "1" /* GPIV_LK_WEIGHT */);
2213 g_signal_connect (GTK_OBJECT (eval->radiobutton_weightkernel),
2214 "enter",
2215 G_CALLBACK (on_radiobutton_interrogatescheme_enter),
2216 NULL);
2217 g_signal_connect (GTK_OBJECT (eval->radiobutton_weightkernel),
2218 "leave",
2219 G_CALLBACK (on_widget_leave),
2220 NULL);
2221 g_signal_connect (GTK_OBJECT (eval->radiobutton_weightkernel),
2222 "toggled",
2223 G_CALLBACK (on_toggle_piv),
2224 NULL);
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),
2236 "frame_8",
2237 eval->frame_8,
2238 (GtkDestroyNotify) gtk_widget_unref);
2239 gtk_widget_show (eval->frame_8);
2240 gtk_table_attach (GTK_TABLE (eval->table),
2241 eval->frame_8,
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),
2255 "vbox13",
2256 eval->vbox13,
2257 (GtkDestroyNotify) gtk_widget_unref);
2258 gtk_widget_show (eval->vbox13);
2259 gtk_container_add (GTK_CONTAINER (eval->frame_8),
2260 eval->vbox13);
2264 eval->radiobutton_cross_1 =
2265 gtk_radio_button_new_with_label (eval->vbox13_group,
2266 _("Auto"));
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,
2277 FALSE,
2278 FALSE,
2281 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_cross_1),
2282 "eval",
2283 eval);
2284 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_cross_1),
2285 "x_corr",
2286 "0");
2287 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_cross_1),
2288 "var_type",
2289 "5");
2290 g_signal_connect (GTK_OBJECT (eval->radiobutton_cross_1),
2291 "toggled",
2292 G_CALLBACK (on_toggle_piv),
2293 NULL);
2297 eval->radiobutton_cross_2 =
2298 gtk_radio_button_new_with_label (eval->vbox13_group,
2299 _("Cross"));
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,
2310 FALSE,
2311 FALSE,
2314 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_cross_2),
2315 "eval",
2316 eval);
2317 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_cross_2),
2318 "x_corr",
2319 "1");
2320 gtk_object_set_data (GTK_OBJECT (eval->radiobutton_cross_2),
2321 "var_type",
2322 "5");
2323 g_signal_connect (GTK_OBJECT (eval->radiobutton_cross_2),
2324 "toggled",
2325 G_CALLBACK (on_toggle_piv),
2326 NULL);
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,
2342 FALSE,
2343 FALSE,
2346 gtk_object_set_data (GTK_OBJECT (eval->checkbutton_weight_ia),
2347 "eval",
2348 eval);
2349 g_signal_connect (GTK_OBJECT (eval->checkbutton_weight_ia),
2350 "enter",
2351 G_CALLBACK (on_checkbutton_weight_ia_enter),
2352 NULL);
2353 g_signal_connect (GTK_OBJECT (eval->checkbutton_weight_ia),
2354 "leave",
2355 G_CALLBACK (on_widget_leave),
2356 NULL);
2357 g_signal_connect (GTK_OBJECT (eval->checkbutton_weight_ia),
2358 "toggled",
2359 G_CALLBACK (on_checkbutton_weight_ia),
2360 NULL);
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),
2371 "checkbutton_spof",
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,
2377 FALSE,
2378 FALSE,
2381 gtk_object_set_data (GTK_OBJECT (eval->checkbutton_spof),
2382 "eval",
2383 eval);
2384 g_signal_connect (GTK_OBJECT (eval->checkbutton_spof),
2385 "enter",
2386 G_CALLBACK (on_checkbutton_spof_enter),
2387 NULL);
2388 g_signal_connect (GTK_OBJECT (eval->checkbutton_spof),
2389 "leave",
2390 G_CALLBACK (on_widget_leave),
2391 NULL);
2392 g_signal_connect (GTK_OBJECT (eval->checkbutton_spof),
2393 "toggled",
2394 G_CALLBACK (on_checkbutton_spof),
2395 NULL);
2400 * Monitoring the process by displaying interrogation area's in correlation
2401 * function
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),
2407 "frame_monitor",
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,
2425 FALSE);
2426 gtk_widget_ref (eval->table_monitor);
2427 gtk_object_set_data_full (GTK_OBJECT (main_window),
2428 "table_monitor",
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);
2462 #ifdef CANVAS_AA
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 ();
2466 #else
2467 gtk_widget_push_visual (gdk_imlib_get_visual ());
2468 gtk_widget_push_colormap (NULL);
2469 eval->canvas_monitor_int1 = gnome_canvas_new ();
2470 #endif
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 (); */
2516 #ifdef CANVAS_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 ();
2520 #else
2521 gtk_widget_push_visual (gdk_imlib_get_visual ());
2522 gtk_widget_push_colormap (NULL);
2523 eval->canvas_monitor_int2 = gnome_canvas_new ();
2524 #endif
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);
2564 #ifdef CANVAS_AA
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 ();
2568 #else
2569 gtk_widget_push_visual (gdk_imlib_get_visual ());
2570 gtk_widget_push_colormap (NULL);
2571 eval->canvas_monitor_cov = gnome_canvas_new ();
2572 #endif
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);
2611 #ifdef CANVAS_AA
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 ();
2615 #else
2616 gtk_widget_push_visual (gdk_imlib_get_visual ());
2617 gtk_widget_push_colormap (NULL);
2618 eval->canvas_monitor_vec = gnome_canvas_new ();
2619 #endif
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),
2638 "hbox_monitor",
2639 eval->hbox_monitor,
2640 (GtkDestroyNotify) gtk_widget_unref);
2641 gtk_widget_show (eval->hbox_monitor);
2642 gtk_table_attach (GTK_TABLE (eval->table_monitor),
2643 eval->hbox_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,
2663 TRUE,
2664 TRUE,
2667 gtk_object_set_data (GTK_OBJECT (eval->checkbutton_monitor),
2668 "eval",
2669 eval);
2670 g_signal_connect (GTK_OBJECT (eval->checkbutton_monitor),
2671 "enter",
2672 G_CALLBACK (on_checkbutton_piv_monitor_enter),
2673 NULL);
2674 g_signal_connect (GTK_OBJECT (eval->checkbutton_monitor),
2675 "leave",
2676 G_CALLBACK (on_widget_leave),
2677 NULL);
2678 g_signal_connect (GTK_OBJECT (eval->checkbutton_monitor),
2679 "clicked",
2680 G_CALLBACK (on_checkbutton_piv_monitor),
2681 NULL);
2686 * spinner for zoom
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,
2697 TRUE,
2698 TRUE,
2703 eval->spinbutton_adj_monitor_zoom =
2704 gtk_adjustment_new (gpiv_var->piv_disproc_zoom,
2705 0.5,
2707 0.5,
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,
2721 TRUE,
2722 TRUE,
2724 gtk_entry_set_editable (GTK_ENTRY (eval->spinbutton_monitor_zoom),
2725 TRUE);
2726 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (eval->spinbutton_monitor_zoom),
2727 TRUE);
2729 gtk_object_set_data (GTK_OBJECT (eval->spinbutton_monitor_zoom),
2730 "eval",
2731 eval);
2732 g_signal_connect (GTK_OBJECT (eval->spinbutton_monitor_zoom),
2733 "changed",
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,
2751 TRUE,
2752 TRUE,
2757 eval->spinbutton_adj_monitor_vectorscale =
2758 gtk_adjustment_new (gpiv_var->piv_disproc_vlength,
2763 32);
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,
2775 TRUE,
2776 TRUE,
2778 gtk_entry_set_editable (GTK_ENTRY (eval->spinbutton_monitor_vectorscale),
2779 TRUE);
2780 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (eval->spinbutton_monitor_vectorscale),
2781 TRUE);
2783 gtk_object_set_data (GTK_OBJECT (eval->spinbutton_monitor_vectorscale),
2784 "eval",
2785 eval);
2786 g_signal_connect (GTK_OBJECT (eval->spinbutton_monitor_vectorscale),
2787 "changed",
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),
2799 "button",
2800 eval->button,
2801 (GtkDestroyNotify) gtk_widget_unref);
2802 gtk_widget_show (eval->button);
2803 gtk_table_attach (GTK_TABLE (eval->table),
2804 eval->button,
2809 (GtkAttachOptions) (GTK_FILL),
2810 (GtkAttachOptions) (GTK_FILL),
2813 gtk_tooltips_set_tip(gpiv->tooltips,
2814 eval->button,
2815 _("Interrogates a PIV image (pair) resulting into estimators of the mean displacement of the particle images within each interrogation area"),
2816 NULL);
2818 gtk_object_set_data (GTK_OBJECT (eval->button),
2819 "eval",
2820 eval);
2821 g_signal_connect (GTK_OBJECT (eval->button),
2822 "enter",
2823 G_CALLBACK (on_button_piv_enter),
2824 NULL);
2825 g_signal_connect (GTK_OBJECT (eval->button),
2826 "leave",
2827 G_CALLBACK (on_widget_leave),
2828 NULL);
2829 g_signal_connect (GTK_OBJECT (eval->button),
2830 "clicked",
2831 G_CALLBACK (on_button_piv),
2832 NULL);
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),
2843 TRUE); */
2844 /* } */
2847 if (gl_piv_par->int_size_f == 16) {
2848 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2849 (eval->radiobutton_intsize_f_2),
2850 TRUE);
2854 if (gl_piv_par->int_size_f == 32) {
2855 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2856 (eval->radiobutton_intsize_f_3),
2857 TRUE);
2861 if (gl_piv_par->int_size_f == 64) {
2862 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2863 (eval->radiobutton_intsize_f_4),
2864 TRUE);
2868 if (gl_piv_par->int_size_f == 128) {
2869 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2870 (eval->radiobutton_intsize_f_5),
2871 TRUE);
2876 /* if (gl_piv_par->int_size_i == 8) { */
2877 /* gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON */
2878 /* (eval->radiobutton_intsize_i_1),
2879 TRUE); */
2880 /* } */
2883 if (gl_piv_par->int_size_i == 16) {
2884 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2885 (eval->radiobutton_intsize_i_2),
2886 TRUE);
2890 if (gl_piv_par->int_size_i == 32) {
2891 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2892 (eval->radiobutton_intsize_i_3),
2893 TRUE);
2897 if (gl_piv_par->int_size_i == 64) {
2898 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2899 (eval->radiobutton_intsize_i_4),
2900 TRUE);
2904 if (gl_piv_par->int_size_i == 128) {
2905 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2906 (eval->radiobutton_intsize_i_5),
2907 TRUE);
2913 if (gl_piv_par->int_shift == 8) {
2914 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2915 (eval->radiobutton_intshift_1),
2916 TRUE);
2920 if (gl_piv_par->int_shift == 16) {
2921 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2922 (eval->radiobutton_intshift_2),
2923 TRUE);
2927 if (gl_piv_par->int_shift == 32) {
2928 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2929 (eval->radiobutton_intshift_3),
2930 TRUE);
2934 if (gl_piv_par->int_shift == 64) {
2935 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2936 (eval->radiobutton_intshift_4),
2937 TRUE);
2941 if (gl_piv_par->int_shift == 128) {
2942 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2943 (eval->radiobutton_intshift_5),
2944 TRUE);
2948 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
2949 (eval->radiobutton_mouse_0),
2950 TRUE);
2953 if (gl_piv_par->ifit == 0) {
2954 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2955 (eval->radiobutton_fit_none),
2956 TRUE);
2960 if (gl_piv_par->ifit == 1) {
2961 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2962 (eval->radiobutton_fit_gauss),
2963 TRUE);
2967 if (gl_piv_par->ifit == 2) {
2968 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2969 (eval->radiobutton_fit_power),
2970 TRUE);
2974 if (gl_piv_par->ifit == 3) {
2975 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2976 (eval->radiobutton_fit_gravity),
2977 TRUE);
2981 /* if (ifit == -1) { */
2982 /* gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (eval->radiobutton_fit_marquardt),
2983 TRUE); */
2984 /* } */
2987 if (gl_piv_par->peak == 1) {
2988 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2989 (eval->radiobutton_peak_1),
2990 TRUE);
2994 if (gl_piv_par->peak == 2) {
2995 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
2996 (eval->radiobutton_peak_2),
2997 TRUE);
3000 if (gl_piv_par->peak == 3) {
3001 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
3002 (eval->radiobutton_peak_3),
3003 TRUE);
3006 if (gl_piv_par->int_scheme == GPIV_LK_WEIGHT) {
3007 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
3008 (eval->radiobutton_weightkernel),
3009 TRUE);
3012 if (gl_piv_par->int_scheme == GPIV_ZERO_OFF_FORWARD) {
3013 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
3014 (eval->radiobutton_zerooff),
3015 TRUE);
3018 if (gl_piv_par->int_scheme == GPIV_ZERO_OFF_CENTRAL) {
3019 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
3020 (eval->radiobutton_centraldiff),
3021 TRUE);
3024 if (gl_piv_par->int_scheme == GPIV_IMG_DEFORM) {
3025 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
3026 (eval->radiobutton_imgdeform),
3027 TRUE);
3030 if (gl_image_par->x_corr == 0) {
3031 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
3032 (eval->radiobutton_cross_1),
3033 TRUE);
3034 } else {
3035 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON
3036 (eval->radiobutton_cross_2),
3037 TRUE);
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);
3054 return eval;