paralellized with OMP and MPI
[gpiv.git] / src / preferences.c
blob4812af53b068042c7136dc36327c508090bbd74a
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 Gerber van der Graaf
10 This file is part of gpiv.
12 Gpiv is free software; you can redistribute it and/or modify
13 it under the terms of the GNU General Public License as published by
14 the Free Software Foundation; either version 2, or (at your option)
15 any later version.
17 This program is distributed in the hope that it will be useful,
18 but WITHOUT ANY WARRANTY; without even the implied warranty of
19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 GNU General Public License for more details.
22 You should have received a copy of the GNU General Public License
23 along with this program; if not, write to the Free Software Foundation,
24 Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26 ----------------------------------------------------------------------*/
29 * $Log: preferences.c,v $
30 * Revision 1.18 2008-10-09 14:43:37 gerber
31 * paralellized with OMP and MPI
33 * Revision 1.17 2008-04-28 12:00:58 gerber
34 * hdf-formatted files are now with .hdf extension (previously: .gpi)
36 * Revision 1.16 2007-12-19 08:42:35 gerber
37 * debugged
39 * Revision 1.15 2007-11-23 16:24:08 gerber
40 * release 0.5.0: Kafka
42 * Revision 1.14 2007-03-22 16:00:32 gerber
43 * Added image processing tabulator
45 * Revision 1.13 2007/02/05 15:17:09 gerber
46 * auto stretching, broadcast display settings to buffers from preferences
48 * Revision 1.12 2007-01-29 11:27:44 gerber
49 * added image formats png, gif, tif png, bmp, improved buffer display
51 * Revision 1.11 2006-09-18 07:27:06 gerber
52 * *** empty log message ***
54 * Revision 1.10 2006/01/31 14:28:13 gerber
55 * version 0.3.0
57 * Revision 1.8 2005/01/19 15:53:42 gerber
58 * Initiation of Data Acquisition (DAC); trigerring of lasers and camera
59 * by using RTAI and Realtime Linux, recording images from IEEE1394
60 * (Firewire) IIDC compliant camera's
62 * Revision 1.7 2004/10/15 19:24:05 gerber
63 * GPIV_ and Gpiv prefix to defines and structure names of libgpiv
65 * Revision 1.6 2004/06/14 21:19:23 gerber
66 * Image depth up to 16 bits.
67 * Improvement "single int" and "drag int" in Eval tab.
68 * Viewer's pop-up menu.
69 * Adaption for gpiv_matrix_* and gpiv_vector_*.
70 * Resizing console.
71 * See Changelog for further info.
73 * Revision 1.5 2003/09/01 11:17:15 gerber
74 * improved monitoring of interrogation process
76 * Revision 1.4 2003/08/22 15:24:52 gerber
77 * interactive spatial scaling
79 * Revision 1.3 2003/07/25 15:40:24 gerber
80 * removed/disabled setting of correlation in Eval tab, Correlation type in Image info tab
82 * Revision 1.2 2003/06/27 13:47:26 gerber
83 * display ruler, line/point evaluation
85 * Revision 1.1.1.1 2003/06/17 17:10:52 gerber
86 * Imported gpiv
90 #ifdef HAVE_CONFIG_H
91 # include <config.h>
92 #endif /* HAVE_CONFIG_H */
93 #include "support.h"
95 #include "gpiv_gui.h"
96 #include "utils.h"
97 #include "preferences.h"
98 #include "preferences_interface.h"
101 static void
102 apply_gpivpar_console (GpivConsole * gpiv);
104 static void
105 apply_gpivpar_display ();
108 void
109 on_checkbutton_gpivbuttons_activate(GtkWidget *widget,
110 gpointer data
112 /*-----------------------------------------------------------------------------
115 if (GTK_TOGGLE_BUTTON(widget)->active) {
116 default_par->console__view_gpivbuttons = 1;
117 } else {
118 default_par->console__view_gpivbuttons = 0;
124 void
125 on_checkbutton_tab_activate(GtkWidget *widget,
126 gpointer data
128 /*-----------------------------------------------------------------------------
131 if (GTK_TOGGLE_BUTTON(widget)->active) {
132 default_par->console__view_tabulator = 1;
133 } else {
134 default_par->console__view_tabulator = 0;
140 void
141 on_checkbutton_hdf_activate(GtkWidget *widget,
142 gpointer data
144 /*-----------------------------------------------------------------------------
147 if (GTK_TOGGLE_BUTTON(widget)->active) {
148 default_par->hdf = 1;
149 } else {
150 default_par->hdf = 0;
156 void
157 on_radiobutton_datafmt(GtkWidget *widget,
158 gpointer data
160 /*-----------------------------------------------------------------------------
163 gint select = atoi(gtk_object_get_data(GTK_OBJECT(widget),
164 "data_format"));
165 default_par->hdf = select;
166 if (gpiv_par->verbose) g_message("on_radiobutton_datafmt:: %d", default_par->hdf);
171 void
172 on_radiobutton_imgfmt(GtkWidget *widget,
173 gpointer data
175 /*-----------------------------------------------------------------------------
178 gint fmt_select = atoi(gtk_object_get_data(GTK_OBJECT(widget),
179 "image_format"));
180 gpiv_par->img_fmt = fmt_select;
182 if (fmt_select == IMG_FMT_PNG) {
183 if (gpiv_par->verbose) g_message("on_radiobutton_imgfmt:: img_fmt = IMG_FMT_PNG");
184 } else if (fmt_select == IMG_FMT_HDF) {
185 if (gpiv_par->verbose) g_message("on_radiobutton_imgfmt:: img_fmt = IMG_FMT_HDF");
186 } else if (fmt_select == IMG_FMT_RAW) {
187 if (gpiv_par->verbose) g_message("on_radiobutton_imgfmt:: img_fmt = IMG_FMT_RAW");
188 } else {
189 g_message("INVALID IMG_FMT");
195 void
196 on_checkbutton_xcorr_activate(GtkWidget *widget,
197 gpointer data
199 /*-----------------------------------------------------------------------------
202 if (GTK_TOGGLE_BUTTON(widget)->active) {
203 default_par->x_corr = 1;
204 } else {
205 default_par->x_corr = 0;
211 void
212 on_checkbutton_tooltips_activate(GtkWidget *widget,
213 gpointer data
215 /*-----------------------------------------------------------------------------
218 if (GTK_TOGGLE_BUTTON(widget)->active) {
219 default_par->console__show_tooltips = 1;
220 } else {
221 default_par->console__show_tooltips = 0;
227 #ifdef ENABLE_CAM
228 void
229 on_checkbutton_process_cam_activate(GtkWidget *widget,
230 gpointer data
232 /*-----------------------------------------------------------------------------
235 if (GTK_TOGGLE_BUTTON(widget)->active) {
236 default_par->process__cam = TRUE;
237 } else {
238 default_par->process__cam = FALSE;
241 #endif /* ENABLE_CAM */
244 #ifdef ENABLE_TRIG
245 void
246 on_checkbutton_process_trig_activate(GtkWidget *widget,
247 gpointer data
249 /*-----------------------------------------------------------------------------
252 if (GTK_TOGGLE_BUTTON(widget)->active) {
253 default_par->process__trig = TRUE;
254 } else {
255 default_par->process__trig = FALSE;
258 #endif /* ENABLE_TRIG */
261 #ifdef ENABLE_IMGPROC
262 void
263 on_checkbutton_process_imgproc_activate(GtkWidget *widget,
264 gpointer data
266 /*-----------------------------------------------------------------------------
269 if (GTK_TOGGLE_BUTTON(widget)->active) {
270 default_par->process__imgproc = TRUE;
271 } else {
272 default_par->process__imgproc = FALSE;
275 #endif /* ENABLE_IMGPROC */
278 void
279 on_checkbutton_process_piv_activate(GtkWidget *widget,
280 gpointer data
282 /*-----------------------------------------------------------------------------
285 if (GTK_TOGGLE_BUTTON(widget)->active) {
286 default_par->process__piv = TRUE;
287 } else {
288 default_par->process__piv = FALSE;
294 void
295 on_checkbutton_process_gradient_activate(GtkWidget *widget,
296 gpointer data
298 /*-----------------------------------------------------------------------------
301 if (GTK_TOGGLE_BUTTON(widget)->active) {
302 default_par->process__gradient = TRUE;
303 } else {
304 default_par->process__gradient = FALSE;
310 void
311 on_checkbutton_process_resstats_activate(GtkWidget *widget,
312 gpointer data
314 /*-----------------------------------------------------------------------------
317 if (GTK_TOGGLE_BUTTON(widget)->active) {
318 default_par->process__resstats = TRUE;
319 } else {
320 default_par->process__resstats = FALSE;
326 void
327 on_checkbutton_process_errvec_activate(GtkWidget *widget,
328 gpointer data
330 /*-----------------------------------------------------------------------------
333 if (GTK_TOGGLE_BUTTON(widget)->active) {
334 default_par->process__errvec = TRUE;
335 } else {
336 default_par->process__errvec = FALSE;
342 void
343 on_checkbutton_process_peaklck_activate(GtkWidget *widget,
344 gpointer data
346 /*-----------------------------------------------------------------------------
349 if (GTK_TOGGLE_BUTTON(widget)->active) {
350 default_par->process__peaklock = TRUE;
351 } else {
352 default_par->process__peaklock = FALSE;
358 void
359 on_checkbutton_process_subtract_activate(GtkWidget *widget,
360 gpointer data
362 /*-----------------------------------------------------------------------------
365 if (GTK_TOGGLE_BUTTON(widget)->active) {
366 default_par->process__subtract = TRUE;
367 } else {
368 default_par->process__subtract = FALSE;
374 void
375 on_checkbutton_process_scale_activate(GtkWidget *widget,
376 gpointer data
378 /*-----------------------------------------------------------------------------
381 if (GTK_TOGGLE_BUTTON(widget)->active) {
382 default_par->process__scale = TRUE;
383 } else {
384 default_par->process__scale = FALSE;
390 void
391 on_checkbutton_process_avg_activate(GtkWidget *widget,
392 gpointer data
394 /*-----------------------------------------------------------------------------
397 if (GTK_TOGGLE_BUTTON(widget)->active) {
398 default_par->process__average = TRUE;
399 } else {
400 default_par->process__average = FALSE;
406 void
407 on_checkbutton_process_vorstra_activate(GtkWidget *widget,
408 gpointer data
410 /*-----------------------------------------------------------------------------
413 if (GTK_TOGGLE_BUTTON(widget)->active) {
414 default_par->process__vorstra = TRUE;
415 } else {
416 default_par->process__vorstra = FALSE;
422 void
423 on_spinbutton_bins_activate(GtkWidget *widget,
424 gpointer data
426 /*-----------------------------------------------------------------------------
432 #ifdef ENABLE_MPI
433 void
434 on_spinbutton_nodes(GtkSpinButton *widget,
435 GtkWidget *entry
437 /*-----------------------------------------------------------------------------
440 default_par->mpi_nodes = gtk_spin_button_get_value_as_int (widget);
442 #endif
445 void
446 on_radiobutton_display_vecscale(GtkWidget *widget,
447 gpointer data
449 /*-----------------------------------------------------------------------------
452 default_par->display__vector_scale =
453 atoi(gtk_object_get_data(GTK_OBJECT(widget),
454 "vscale"));
459 void
460 on_radiobutton_display_veccolor(GtkWidget *widget,
461 gpointer data
463 /*-----------------------------------------------------------------------------
466 default_par->display__vector_color =
467 atoi(gtk_object_get_data(GTK_OBJECT(widget),
468 "vcolor"));
473 void
474 on_radiobutton_display_zoomscale(GtkWidget *widget,
475 gpointer data
477 /*-----------------------------------------------------------------------------
480 default_par->display__zoom_index =
481 atoi(gtk_object_get_data(GTK_OBJECT(widget),
482 "zscale"));
487 void
488 on_radiobutton_display_background(GtkWidget *widget,
489 gpointer data
491 /*-----------------------------------------------------------------------------
494 default_par->display__backgrnd =
495 atoi (gtk_object_get_data (GTK_OBJECT (widget), "bgcolor"));
496 if (gpiv_par->verbose) g_message ("on_radiobutton_display_background:: display__backgrnd = %d",
497 default_par->display__backgrnd);
502 void
503 on_checkbutton_display_display_intregs(GtkWidget *widget,
504 gpointer data
506 /*-----------------------------------------------------------------------------
510 if (GTK_TOGGLE_BUTTON(widget)->active) {
511 default_par->display__intregs = TRUE;
512 } else {
513 default_par->display__intregs = FALSE;
519 void
520 on_checkbutton_display_display_piv(GtkWidget *widget,
521 gpointer data
523 /*-----------------------------------------------------------------------------
526 if (GTK_TOGGLE_BUTTON(widget)->active) {
527 default_par->display__piv = TRUE;
528 } else {
529 default_par->display__piv = FALSE;
535 void
536 on_radiobutton_display_scalar(GtkWidget *widget,
537 gpointer data
539 /*-----------------------------------------------------------------------------
542 default_par->display__scalar =
543 atoi (gtk_object_get_data (GTK_OBJECT (widget), "scalar"));
544 if (gpiv_par->verbose) g_message ("on_radiobutton_display_scalar:: display__scalar = %d",
545 default_par->display__scalar);
550 void
551 on_checkbutton_display_view_menubar_activate (GtkWidget *widget,
552 gpointer data
554 /*-----------------------------------------------------------------------------
557 if (GTK_TOGGLE_BUTTON(widget)->active) {
558 default_par->display__view_menubar = 1;
559 } else {
560 default_par->display__view_menubar = 0;
566 void
567 on_checkbutton_display_view_rulers_activate (GtkWidget *widget,
568 gpointer data
570 /*-----------------------------------------------------------------------------
573 if (GTK_TOGGLE_BUTTON(widget)->active) {
574 default_par->display__view_rulers = 1;
575 } else {
576 default_par->display__view_rulers = 0;
582 void
583 on_checkbutton_display_stretch_auto_activate (GtkWidget *widget,
584 gpointer data
586 /*-----------------------------------------------------------------------------
589 if (GTK_TOGGLE_BUTTON(widget)->active) {
590 default_par->display__stretch_auto = TRUE;
591 } else {
592 default_par->display__stretch_auto = FALSE;
598 void
599 on_preferences_response(GtkDialog *dialog,
600 gint response,
601 gpointer data
603 /*-----------------------------------------------------------------------------
606 GpivConsole *gpiv = gtk_object_get_data(GTK_OBJECT(dialog), "gpiv");
607 Pref *pref = gtk_object_get_data(GTK_OBJECT(dialog), "pref");
608 g_assert( response == GTK_RESPONSE_OK
609 || response == GTK_RESPONSE_APPLY
610 || response == GTK_RESPONSE_CANCEL);
612 switch (response) {
613 case GTK_RESPONSE_OK:
614 apply_gpivpar(gpiv);
615 store_defaultpar();
616 gtk_widget_destroy(GTK_WIDGET (dialog));
617 break;
619 case GTK_RESPONSE_APPLY:
620 apply_gpivpar(gpiv);
621 break;
623 case GTK_RESPONSE_CANCEL:
624 gtk_widget_destroy(GTK_WIDGET (dialog));
625 break;
627 default:
628 g_warning("on_preferences_response: should not arrive here");
629 break;
636 void
637 apply_gpivpar (GpivConsole * gpiv)
638 /* ----------------------------------------------------------------------------
639 * Updates actual parameters
642 gint i;
644 apply_gpivpar_console(gpiv);
646 for (i = 0; i < nbufs; i++) {
647 display_act = display[i];
648 if (display_act != NULL) {
649 if (gpiv_par->verbose) g_message("apply_gpivpar:: ibuf = %d apply_gpivpar_display", i);
650 apply_gpivpar_display ();
655 static void
656 apply_gpivpar_console(GpivConsole *gpiv)
657 /* ----------------------------------------------------------------------------
658 * Updates actual parameters for the console
661 GtkWidget *settings_menu_gpiv0 =
662 gtk_object_get_data (GTK_OBJECT (gpiv->console), "settings_menu_gpiv0");
663 GtkWidget *settings_menu_gpiv1 =
664 gtk_object_get_data (GTK_OBJECT (gpiv->console), "settings_menu_gpiv1");
665 GtkWidget *help_menu_gpiv0 =
666 gtk_object_get_data (GTK_OBJECT (gpiv->console), "help_menu_gpiv0");
667 GtkWidget *help_menu_gpiv_popup0 =
668 gtk_object_get_data (GTK_OBJECT (gpiv->console), "help_menu_gpiv_popup0");
671 parameters_set(gpiv_par, FALSE);
672 cp_undef_parameters(default_par, gpiv_par);
675 if (default_par->console__view_gpivbuttons == 1) {
676 gtk_widget_show(gpiv->handlebox1);
677 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
678 (settings_menu_gpiv0), TRUE);
679 } else {
680 gtk_widget_hide(gpiv->handlebox1);
681 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
682 (settings_menu_gpiv0), FALSE);
685 if (default_par->console__view_tabulator == 1) {
686 gtk_widget_show(gpiv->notebook);
687 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
688 (settings_menu_gpiv1), TRUE);
689 } else {
690 gtk_widget_hide(gpiv->notebook);
691 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
692 (settings_menu_gpiv1), FALSE);
695 if (default_par->console__show_tooltips == 1) {
696 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
697 (help_menu_gpiv0), TRUE);
698 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
699 (help_menu_gpiv_popup0), TRUE);
700 } else {
701 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
702 (help_menu_gpiv0), FALSE);
703 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
704 (help_menu_gpiv_popup0), FALSE);
707 gtk_spin_button_set_value(GTK_SPIN_BUTTON
708 (gpiv->pivvalid->spinbutton_histo_bins),
709 default_par->console__nbins);
714 #ifdef ENABLE_CAM
715 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON
716 (gpiv->button_toolbar_cam),
717 default_par->process__cam);
718 #endif /* ENABLE_CAM */
720 #ifdef ENABLE_TRIG
721 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON
722 (gpiv->button_toolbar_trig),
723 default_par->process__trig);
724 #endif /* ENABLE_TRIG */
726 #ifdef ENABLE_IMGPROC
727 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON
728 (gpiv->button_toolbar_imgproc),
729 default_par->process__imgproc);
730 #endif /* ENABLE_IMGPROC */
732 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON
733 (gpiv->button_toolbar_piv),
734 default_par->process__piv);
736 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON
737 (gpiv->button_toolbar_gradient),
738 default_par->process__gradient);
740 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON
741 (gpiv->button_toolbar_resstats),
742 default_par->process__resstats);
744 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON
745 (gpiv->button_toolbar_errvec),
746 default_par->process__errvec);
748 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON
749 (gpiv->button_toolbar_peaklock),
750 default_par->process__peaklock);
752 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON
753 (gpiv->button_toolbar_scale),
754 default_par->process__scale);
756 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON
757 (gpiv->button_toolbar_average),
758 default_par->process__average);
760 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON
761 (gpiv->button_toolbar_subavg),
762 default_par->process__subtract);
764 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON
765 (gpiv->button_toolbar_vorstra),
766 default_par->process__vorstra);
771 static void
772 apply_gpivpar_display (void)
773 /* ----------------------------------------------------------------------------
774 * Updates actual parameters for the actual display
777 GtkWidget *view_menubar_popup_menu =
778 gtk_object_get_data(GTK_OBJECT(display_act->mwin),
779 "view_menubar_popup_menu");
780 GtkWidget *view_rulers_popup_menu =
781 gtk_object_get_data(GTK_OBJECT(display_act->mwin),
782 "view_rulers_popup_menu");
784 GtkWidget *stretch_auto_popup_menu =
785 gtk_object_get_data(GTK_OBJECT(display_act->mwin),
786 "stretch_auto_popup_menu");
790 /* for (i = 0; i < nbufs; i++) { */
791 /* display_act = display[i]; */
792 /* if (display_act != NULL) { */
793 if (display_act->pida->exist_piv
794 && display_act->display_piv) {
795 update_all_vectors(display_act->pida);
799 if (display_act->display_intregs) {
800 if (default_par->display__intregs == 1) {
801 create_all_intregs2(display_act);
802 create_all_intregs1(display_act);
803 } else {
804 hide_all_intregs1(display_act);
805 hide_all_intregs2(display_act);
810 if (display_act->pida->exist_piv) {
811 if (default_par->display__piv) {
812 create_all_vectors(display_act->pida);
813 } else {
814 hide_all_vectors(display_act->pida);
819 if (display_act->pida->exist_vor) {
820 if (default_par->display__scalar == SHOW_SC_VORTICITY) {
821 create_all_scalars (display_act, GPIV_VORTICITY);
822 } else {
823 hide_all_scalars (display_act, GPIV_VORTICITY);
828 if (display_act->pida->exist_sstrain) {
829 if (default_par->display__scalar == SHOW_SC_SSTRAIN) {
830 create_all_scalars (display_act, GPIV_S_STRAIN);
831 } else {
832 hide_all_scalars (display_act, GPIV_S_STRAIN);
837 if (display_act->pida->exist_nstrain) {
838 if (default_par->display__scalar == SHOW_SC_NSTRAIN) {
839 create_all_scalars (display_act, GPIV_N_STRAIN);
840 } else {
841 hide_all_scalars (display_act, GPIV_N_STRAIN);
845 if (default_par->display__view_menubar == 1) {
846 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM
847 (view_menubar_popup_menu),
848 TRUE);
849 } else {
850 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM
851 (view_menubar_popup_menu),
852 FALSE);
855 if (default_par->display__view_rulers == 1) {
856 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM
857 (view_rulers_popup_menu),
858 TRUE);
859 } else {
860 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM
861 (view_rulers_popup_menu),
862 FALSE);
865 if (default_par->display__stretch_auto == TRUE) {
866 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM
867 (stretch_auto_popup_menu),
868 TRUE);
869 } else {
870 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM
871 (stretch_auto_popup_menu),
872 FALSE);
879 void
880 store_defaultpar (void
882 /* ----------------------------------------------------------------------------
883 * Store parameters as defaults
886 gnome_config_push_prefix ("/gpiv/General/");
887 /* gnome_config_set_bool ("print_par", print_par); */
888 gnome_config_set_bool ("console__show_tooltips", default_par->console__show_tooltips);
889 gnome_config_set_bool ("console__view_gpivbuttons", default_par->console__view_gpivbuttons);
890 gnome_config_set_bool ("console__view_tabulator", default_par->console__view_tabulator);
891 gnome_config_set_int ("console__nbins", default_par->console__nbins);
892 gnome_config_set_bool ("img_fmt", default_par->img_fmt);
893 gnome_config_set_bool ("hdf", default_par->hdf);
894 #ifdef ENABLE_MPI
895 gnome_config_set_int ("mpi_nodes", default_par->mpi_nodes);
896 #endif /* ENABLE_MPI */
899 gnome_config_pop_prefix ();
900 gnome_config_push_prefix ("/gpiv/Image/");
901 gnome_config_set_bool ("x_corr", default_par->x_corr);
904 gnome_config_pop_prefix ();
905 gnome_config_push_prefix ("/gpiv/Processes/");
906 #ifdef ENABLE_CAM
907 gnome_config_set_bool ("process__cam", default_par->process__cam);
908 #endif /* ENABLE_CAM */
909 #ifdef ENABLE_TRIG
910 gnome_config_set_bool ("process__trig", default_par->process__trig);
911 #endif /* ENABLE_TRIG */
912 #ifdef ENABLE_IMGPROC
913 gnome_config_set_bool ("process__imgproc", default_par->process__imgproc);
914 #endif /* ENABLE_IMGPROC */
915 gnome_config_set_bool ("process__piv", default_par->process__piv);
916 gnome_config_set_bool ("process__gradient", default_par->process__gradient);
917 gnome_config_set_bool ("process__resstats", default_par->process__resstats);
918 gnome_config_set_bool ("process__errvec", default_par->process__errvec);
919 gnome_config_set_bool ("process__peaklock", default_par->process__peaklock);
920 gnome_config_set_bool ("process__scale", default_par->process__scale);
921 gnome_config_set_bool ("process__average", default_par->process__average);
922 gnome_config_set_bool ("process__subtract", default_par->process__subtract);
923 gnome_config_set_bool ("process__vorstra", default_par->process__vorstra);
926 gnome_config_pop_prefix ();
927 gnome_config_push_prefix ("/gpiv/Display/");
928 gnome_config_set_bool ("display__view_menubar", default_par->display__view_menubar);
929 gnome_config_set_bool ("display__view_rulers", default_par->display__view_rulers);
930 gnome_config_set_bool ("display__stretch_auto", default_par->display__stretch_auto);
931 gnome_config_set_int ("display__vector_scale", default_par->display__vector_scale);
932 gnome_config_set_int ("display__vector_color", default_par->display__vector_color);
933 gnome_config_set_int ("display__zoom_index", default_par->display__zoom_index);
934 gnome_config_set_int ("display__backgrnd", default_par->display__backgrnd);
935 gnome_config_set_bool ("display__intregs", default_par->display__intregs);
936 gnome_config_set_bool ("display__piv", default_par->display__piv);
937 gnome_config_set_int ("display__scalar", default_par->display__scalar);
940 gnome_config_pop_prefix ();
941 gnome_config_sync ();