0001
0002 function varargout = register(varargin)
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071 gui_Singleton = 0;
0072 gui_State = struct('gui_Name', mfilename, ...
0073 'gui_Singleton', gui_Singleton, ...
0074 'gui_OpeningFcn', @register_OpeningFcn, ...
0075 'gui_OutputFcn', @register_OutputFcn, ...
0076 'gui_LayoutFcn', [] , ...
0077 'gui_Callback', []);
0078 if nargin & isstr(varargin{1})
0079 gui_State.gui_Callback = str2func(varargin{1});
0080 end
0081
0082 if nargout
0083 [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
0084 else
0085 gui_mainfcn(gui_State, varargin{:});
0086 end
0087
0088
0089
0090 function register_OpeningFcn(hObject, eventdata, handles, varargin)
0091
0092
0093
0094
0095
0096
0097
0098 handles.output = hObject;
0099
0100
0101 guidata(hObject, handles);
0102
0103 if strcmp(get(hObject,'Visible'),'off')
0104 initialize_gui(hObject, handles);
0105 end
0106
0107
0108 set(handles.resume, 'cdata', playbutton);
0109 set(handles.pause, 'cdata', stopbutton);
0110 set(handles.register_1d, 'cdata', registerbutton);
0111 set(handles.help_button, 'cdata', helpbutton);
0112 set(handles.abort, 'cdata', abortbutton);
0113 set(handles.reset, 'cdata', resetbutton);
0114
0115
0116
0117
0118 function varargout = register_OutputFcn(hObject, eventdata, handles)
0119
0120
0121
0122
0123
0124
0125 varargout{1} = handles.output;
0126
0127 function register = registerbutton
0128
0129 register = iconize(imread('reg.jpg'));
0130 register(register>240) = .69*255;
0131
0132
0133 function stop = stopbutton
0134
0135 stop = iconize(imread('stop.jpg'));
0136 stop(stop>240) = .69*255;
0137
0138
0139
0140
0141 function play = playbutton
0142
0143 play = iconize(imread('play.jpg'));
0144 play(play>240) = .69*255;
0145
0146
0147 function abort = abortbutton
0148
0149 abort = iconize(imread('abort.jpg'));
0150 abort(abort>240) = .69*255;
0151
0152
0153 function reset = resetbutton
0154
0155 reset = iconize(imread('reset.jpg'));
0156 reset(reset>240) = .69*255;
0157
0158
0159 function help = helpbutton
0160
0161 help = iconize(imread('help.jpg'));
0162 help(help>240) = .69*255;
0163
0164
0165
0166
0167 function out = iconize(a)
0168
0169
0170
0171 [r,c,d] = size(a);
0172 r_skip = ceil(r/25);
0173 c_skip = ceil(c/25);
0174
0175
0176 out = a(1:r_skip:end,1:c_skip:end,:);
0177
0178
0179
0180
0181 function register_1d_Callback(hObject, eventdata, handles)
0182
0183
0184
0185
0186 if ((str2num(get(handles.save_pixels, 'String')) == 0)...
0187 & (get(handles.save_video_option, 'Value') == 1) ),
0188 set(handles.show_pixels_throughout_option, 'Value', 1);
0189 set(handles.show_pixels, 'String', '1');
0190
0191 end
0192
0193 if ((str2num(get(handles.save_pixels, 'String')) == 3)...
0194 & (get(handles.save_video_option, 'Value') == 1) ),
0195 set(handles.repeatedly_show_model_option, 'Value', 1);
0196 set(handles.repeatedly_show_model, 'String', '1');
0197
0198 end
0199
0200
0201 if ((str2num(get(handles.save_pixels, 'String')) == 1)...
0202 & (str2num(get(handles.save_video, 'String')) == 1)),
0203 set(handles.show_plots_throughout_option, 'Value', 1);
0204 set(handles.show_plot, 'String', '1');
0205
0206 end
0207
0208 if ((str2num(get(handles.save_pixels, 'String')) == 2)...
0209 & (str2num(get(handles.save_video, 'String')) == 1)),
0210 set(handles.show_mesh_throughout_option, 'Value', 1);
0211 set(handles.show_mesh, 'String', '1');
0212
0213 end
0214
0215
0216 if ((str2num(get(handles.overlap_scores, 'String')) == 1)...
0217 & (str2num(get(handles.all_objective_functions, 'String')) == 1)),
0218 set(handles.always_score_by_model_option, 'Value', 1);
0219 set(handles.show_score_vs_iteration_option, 'Value', 1);
0220 set(handles.always_score_by_model, 'String', 1);
0221 set(handles.show_score_vs_iteration, 'String', 1);
0222
0223 end
0224
0225
0226 if (str2num(get(handles.use_filename, 'String')) == 0),
0227 movie_name_to_pass = 'Undefined.avi';
0228
0229
0230 else
0231 movie_name_to_pass = get(handles.file_for_video_box, 'String');
0232 end
0233
0234 original_base_handle = get(handles.filename_handle, 'String');
0235
0236
0237
0238
0239 range_minimum = str2num(getappdata(0,'minimum_value'));
0240 range_maximum = str2num(getappdata(0,'maximum_value'));
0241 range_step = str2num(getappdata(0,'step_size'));
0242 automation_type = getappdata(0, 'automation_type');
0243
0244
0245
0246 if (range_minimum > range_maximum),
0247 error('Minimum cannot be greater than maximum.');
0248
0249
0250 end
0251
0252
0253 for i = range_minimum:range_step:range_maximum,
0254
0255 if (strcmp(automation_type, 'None')),
0256
0257
0258
0259
0260
0261 elseif (strcmp(automation_type, 'Number of Knot-points')),
0262 set(handles.knot_points, 'String', num2str(i));
0263 set(handles.filename_handle, 'String', [[original_base_handle], ['-'], [num2str(i)]]);
0264 elseif (strcmp(automation_type, 'Number of Modes')),
0265 set(handles.number_of_modes_display, 'String', num2str(i));
0266 set(handles.filename_handle, 'String', [[original_base_handle], ['-'], [num2str(i)]]);
0267 elseif (strcmp(automation_type, 'Model Weight')),
0268 set(handles.model_weight_constant_value, 'String', num2str(i));
0269 set(handles.filename_handle, 'String', [[original_base_handle], ['-'], [num2str(i)]]);
0270 elseif (strcmp(automation_type, 'Smoothing')),
0271 set(handles.window, 'String', num2str(i));
0272 set(handles.filename_handle, 'String', [[original_base_handle], ['-'], [num2str(i)]]);
0273 elseif (strcmp(automation_type, 'Perturbation')),
0274 setappdata(0, 'perturbation_offset', num2str(i));
0275 set(handles.filename_handle, 'String', [[original_base_handle], ['-'], [num2str(i)]]);
0276 end
0277
0278 if (strcmp(which([[get(handles.filename_handle, 'String')],['.mat']]), '') == 0),
0279
0280 set(handles.filename_handle, 'String',[[get(handles.filename_handle, 'String')],['-'], num2str(ceil(rand * 999))]);
0281
0282 end
0283
0284 if (strcmp(get(handles.filename_handle, 'String'), '')),
0285
0286 set(handles.filename_handle, 'String', [['Undefined'],['-'], num2str(ceil(rand * 999))]);
0287
0288 end
0289
0290 set(handles.status_bar, 'String', 'Registration in progress...');
0291
0292
0293 set(handles.pause, 'Enable', 'on');
0294 set(handles.resume, 'Enable', 'off');
0295
0296
0297
0298 [status] = build_1d_bump_model(get(handles.spline_type_display, 'String')...
0299 , get(handles.placement_method_display, 'String')...
0300 , get(handles.objective_function_display, 'String')...
0301 , str2num(get(handles.apply_corrective_offset, 'String'))...
0302 , str2num(get(handles.save_video, 'String'))...
0303 , str2num(get(handles.show_plot, 'String'))...
0304 , str2num(get(handles.save_pixels, 'String'))...
0305 , str2num(get(handles.hierarchical_text, 'String'))...
0306 , str2num(get(handles.use_defaults, 'String'))...
0307 , str2num(get(handles.show_statistics, 'String'))...
0308 , str2num(get(handles.repeatedly_show_model, 'String'))...
0309 , str2num(get(handles.show_pixels, 'String'))...
0310 , str2num(get(handles.show_score_vs_iteration, 'String'))...
0311 , str2num(get(handles.show_final_model, 'String'))...
0312 , str2num(get(handles.find_specificity, 'String'))...
0313 , str2num(get(handles.show_score_while_optimising, 'String'))...
0314 , movie_name_to_pass...
0315 , str2num(get(handles.window, 'String'))...
0316 , str2num(get(handles.average_smoothing, 'String'))...
0317 , str2num(get(handles.gaussian_smoothing, 'String'))...
0318 , str2num(get(handles.bump_width, 'String'))...
0319 , str2num(get(handles.bump_width_variation, 'String'))...
0320 , str2num(get(handles.bump_height, 'String'))...
0321 , str2num(get(handles.bump_height_variation, 'String'))...
0322 , str2num(get(handles.bump_position_freedom, 'String'))...
0323 , str2num(get(handles.initial_diminish_factor, 'String'))...
0324 , str2num(get(handles.smoothness_factor, 'String'))...
0325 , str2num(get(handles.plot_before_and_after, 'String'))...
0326 , str2num(get(handles.number_of_bins, 'String'))...
0327 , str2num(get(handles.determinant, 'String'))...
0328 , str2num(get(handles.always_score_by_model, 'String'))...
0329 , get(handles.filename_handle, 'String')...
0330 , str2num(get(handles.number_of_modes_display, 'String'))...
0331 , (str2num(get(handles.model_weight_constant_value, 'String')) / 100)...
0332 , get(handles.text108, 'String') ...
0333 , (str2num(get(handles.variatyion_kept_display, 'String')) / 100)...
0334 , str2num(get(handles.all_objective_functions, 'String'))...
0335 , get(handles.pdf, 'String')...
0336 , str2num(get(handles.save_data, 'String'))...
0337 , str2num(get(handles.load_data, 'String'))...
0338 , str2num(get(handles.save_bumps_flag, 'String'))...
0339 , str2num(get(handles.draw_warp_curve, 'String'))...
0340 , str2num(get(handles.overlap_scores, 'String'))...
0341 , str2num(get(handles.show_target, 'String'))...
0342 , get(handles.format, 'String')...
0343 , get(handles.filter_type, 'String')...
0344 , str2num(get(handles.level, 'String'))...
0345 , get(handles.model_score_type, 'String')...
0346 , str2num(get(handles.gen_iters, 'String'))...
0347 , str2num(get(handles.spec_iters, 'String'))...
0348 , str2num(get(handles.draw_curve_by_images, 'String'))...
0349 , str2num(get(handles.show_mesh, 'String'))...
0350 , get(handles.mesh_type, 'String')...
0351 , str2num(getappdata(0, 'exit_handle'))...
0352 , str2num(getappdata(0, 'show_score_figures'))...
0353 , str2num(getappdata(0, 'close_handle'))...
0354 , str2num(get(handles.frames_per_second, 'String'))...
0355 , str2num(getappdata(0, 'show_score_bar'))...
0356 , str2num(get(handles.knot_points, 'String'))...
0357 , str2num(get(handles.show_warp_targets, 'String'))...
0358 , str2num(get(handles.show_registration_target_flag, 'String'))...
0359 , str2num(get(handles.produce_record, 'String'))...
0360 , str2num(get(handles.initialise_warps_close_to_target, 'String'))...
0361 , str2num(get(handles.save_in_log, 'String'))...
0362 , getappdata(0, 'perturbation_method')...
0363 , str2num(getappdata(0, 'perturbation_offset'))...
0364 , str2num(get(handles.force_reference, 'String'))...
0365 , str2num(get(handles.cycle, 'String')) ...
0366 , get(handles.verbose_optimiser_flag, 'String') ...
0367 , str2num(get(handles.save_stats, 'String')) ...
0368 , str2num(getappdata(0, 'number_of_modes')) ...
0369 , str2num(getappdata(0, 'std')) ...
0370 , str2num(get(handles.show_warps_while_optimising_flag, 'String')) ...
0371 , get(handles.description, 'String') ...
0372 , str2num(getappdata(0, 'find_perfect_warp')) ...
0373 , str2num(getappdata(0, 'force_first_reference')) ...
0374 , str2num(getappdata(0, 'display_shape_model')) ...
0375 , str2num(getappdata(0, 'display_intensity_model')) ...
0376 , str2num(getappdata(0, 'plot_alignment')) ...
0377 , getappdata(0, 'error_verbosity') ...
0378 , str2num(getappdata(0, 'precision_required'))...
0379 , str2num(getappdata(0, 'background_colour_red'))...
0380 , str2num(getappdata(0, 'background_colour_green'))...
0381 , str2num(getappdata(0, 'background_colour_blue'))...
0382 , str2num(getappdata(0, 'dynamic_precision'))...
0383 , getappdata(0, 'automatic_precision_type')...
0384 , str2num(getappdata(0, 'rotate_surface')) ...
0385 , str2num(getappdata(0, 'draw_final_warps')) ...
0386 , getappdata(0, 'distance_type') ...
0387 , str2num(getappdata(0, 'retain_original_peak')) ...
0388 , getappdata(0, 'peak_type') ...
0389 , str2num(getappdata(0, 'add_points')) ...
0390 , str2num(getappdata(0, 'add_points_cycle')) ...
0391 );
0392
0393
0394
0395
0396 set(handles.pause, 'Enable', 'off');
0397 set(handles.resume, 'Enable', 'off');
0398
0399
0400 set(handles.status_bar, 'String', status);
0401
0402
0403
0404 end
0405
0406
0407
0408
0409 function initialize_gui(fig_handle, handles)
0410
0411
0412
0413
0414
0415
0416
0417
0418 if (strcmp(getenv('OS'), 'Linux')),
0419 set(handles.Main_window, 'Name', [['AART - Victoria University of Manchester - '], [get_month], ' ', [get_year], ' - Version ', [get_version], ' - ', [getenv('OS')], ' on ', [get_host], '@ ', [get_domain]]);
0420
0421 else
0422 set(handles.Main_window, 'Name', [['AART - Victoria University of Manchester - '], [get_month], ' ', [get_year], ' - Version ', [get_version], ' - ', [getenv('OS')]]);
0423 end
0424
0425 set(handles.force_reference , 'String', '1');
0426 set(handles.force_reference_button, 'Value', 1);
0427
0428 set(handles.save_in_log_button, 'Value', 1);
0429 set(handles.save_in_log, 'String', '1');
0430
0431
0432
0433 set(handles.frames_per_second_slider, 'Value', 15);
0434 set(handles.smoothing_slider, 'Value', 0);
0435 set(handles.spec_slider, 'Value', 25);
0436 set(handles.gen_slider, 'Value', 25);
0437 set(handles.knotpoints_slider, 'Value', 5);
0438
0439
0440
0441 set(handles.base_height_slider, 'Value', 0.2);
0442 set(handles.base_width_slider, 'Value', 0.5);
0443 set(handles.height_variation_slider, 'Value', 0.7);
0444 set(handles.width_variation_slider, 'Value', 0.2);
0445 set(handles.position_freedom_slider, 'Value', 0.9);
0446 set(handles.smoothness_slider, 'Value', 17);
0447 set(handles.cycle_slider, 'Value', 1);
0448
0449 set(handles.rotate_surface, 'Value', 0);
0450
0451 set(handles.dynamic_precision, 'Checked', 'off');
0452 setappdata(0, 'dynamic_precision', '0');
0453
0454 setappdata(0, 'draw_final_warps', '0');
0455
0456 setappdata(0, 'distance_type', 'sum_of_squared_distances');
0457 set(handles.Sum_of_Squared_Distances, 'Checked', 'on');
0458 set(handles.Absolute_Distances, 'Checked', 'off');
0459
0460 setappdata(0, 'retain_original_peak', '0');
0461 set(handles.retain_original_peak_menu, 'Checked', 'off');
0462
0463
0464
0465 setappdata(0, 'close_handle', '0');
0466 setappdata(0, 'exit_handle', '0');
0467 setappdata(0, 'show_score_figures', '0');
0468 setappdata(0, 'show_score_bar', '0');
0469
0470
0471 setappdata(0, 'peak_type', 'average_position');
0472 set(handles.peak_type_average_menu, 'Checked', 'on');
0473 set(handles.peak_type_initial_menu, 'Checked', 'off');
0474
0475
0476
0477 setappdata(0, 'perturbation_offset', '0');
0478
0479 setappdata(0, 'number_of_modes', '2');
0480 setappdata(0, 'std', '2');
0481
0482 setappdata(0, 'perturbation_method', 'random noise');
0483
0484 setappdata(0, 'automation_type', 'None');
0485 setappdata(0, 'minimum_value', '1');
0486 setappdata(0, 'maximum_value', '1');
0487 setappdata(0, 'step_size', '1');
0488
0489
0490
0491 setappdata(0, 'precision_required', '1e - 7');
0492 set(handles.precision_5, 'Checked', 'off');
0493 set(handles.precision_6, 'Checked', 'off');
0494 set(handles.precision_7, 'Checked', 'on');
0495 set(handles.precision_8, 'Checked', 'off');
0496 set(handles.precision_9, 'Checked', 'off');
0497 set(handles.precision_10, 'Checked', 'off');
0498 set(handles.precision_12, 'Checked', 'off');
0499 set(handles.precision_15, 'Checked', 'off');
0500 set(handles.precision_3, 'Checked', 'off');
0501 set(handles.precision_4, 'Checked', 'off');
0502
0503 setappdata(0, 'automatic_precision_type', 'default');
0504
0505 setappdata(0, 'find_perfect_warp', '1');
0506 set(handles.find_perfect_warp_menu, 'Checked', 'on');
0507
0508 setappdata(0, 'force_first_reference', '2');
0509
0510 setappdata(0, 'error_verbosity', 'normal');
0511 set(handles.verbosity_low, 'Checked', 'off');
0512 set(handles.verbosity_normal, 'Checked', 'on');
0513 set(handles.verbosity_high, 'Checked', 'off');
0514
0515
0516
0517 set(handles.show_icons, 'Checked', 'on');
0518 set(handles.hide_icons, 'Checked', 'off');
0519
0520 setappdata(0, 'display_shape_model', '0');
0521 set(handles.display_shape_model_menu, 'Checked', 'off');
0522
0523
0524 setappdata(0, 'display_intensity_model', '0');
0525 set(handles.display_intensity_model_menu, 'Checked', 'off');
0526
0527 setappdata(0, 'add_points', '0');
0528 set(handles.add_points_menu, 'Checked', 'off');
0529 setappdata(0, 'add_points_cycle', '1');
0530
0531 setappdata(0, 'plot_alignment', '0');
0532
0533
0534 set(handles.save_model_option, 'Value', 0);
0535 set(handles.save_model_option, 'Enable', 'off');
0536 set(handles.score_model_by_menu, 'Enable', 'off');
0537 set(handles.cycle, 'Enable', 'off');
0538 set(handles.cycle_slider, 'Enable', 'off');
0539 set(handles.cycle_label, 'Enable', 'off');
0540
0541 set(handles.save_stats, 'String', '1');
0542 set(handles.save_stats_menu, 'Checked', 'on');
0543
0544 set(handles.show_target, 'String', '0');
0545 set(handles.show_target_option, 'Enable', 'off');
0546
0547 set(handles.single_point_option, 'Value', 1);
0548 set(handles.multi_point_option, 'Value', 0);
0549
0550 set(handles.random_option, 'Value', 0);
0551 set(handles.edges_option, 'Value', 0);
0552 set(handles.grid_option, 'Value', 0);
0553 set(handles.alternating_grid_option, 'Value', 0);
0554
0555 set(handles.random_and_Scale_option, 'Value', 1);
0556 set(handles.overlap_grid_option, 'Value', 0);
0557 set(handles.edges_and_scale_option, 'Value', 0);
0558
0559 set(handles.apply_corrective_offset_option, 'Value', 0);
0560 set(handles.show_plots_throughout_option, 'Value', 0);
0561 set(handles.show_pixels_throughout_option, 'Value', 0);
0562 set(handles.show_mesh_throughout_option, 'Value', 0);
0563
0564 set(handles.save_video_option, 'Value', 0);
0565 set(handles.find_specificity_option, 'Value', 0);
0566 set(handles.repeatedly_show_model_option, 'Value', 0);
0567
0568 set(handles.show_warps_while_optimising_flag, 'String', '0');
0569 set(handles.show_warps_while_optimising, 'Checked', 'off');
0570
0571
0572 set(handles.show_target_option, 'Value', 0);
0573
0574 set(handles.default_auto, 'Checked', 'on');
0575 set(handles.smart_auto, 'Checked', 'off');
0576
0577 set(handles.save_mesh_option, 'Value', 0);
0578 set(handles.show_statistics_option, 'Value', 0);
0579 set(handles.save_plots_option, 'Value', 0);
0580 set(handles.save_pixels_option, 'Value', 1);
0581 set(handles.show_mesh, 'String', '0');
0582
0583 set(handles.smoothing_disabled_option, 'Value', 1);
0584 set(handles.gaussian_smoothing_option, 'Value', 0);
0585 set(handles.average_smoothing_option, 'Value', 0);
0586
0587
0588 set(handles.default_attributes, 'Value', 1);
0589 set(handles.specify_attributes, 'Value', 0);
0590
0591 set(handles.sequential_msd_option, 'Value', 0);
0592 set(handles.sequential_model_option, 'Value', 0);
0593 set(handles.joint_msd_option, 'Value', 0);
0594 set(handles.joint_model_option, 'Value', 1);
0595 set(handles.show_final_model_option, 'Value', 0);
0596 set(handles.show_score_vs_iteration_option, 'Value', 0);
0597 set(handles.show_score_while_optimising_option, 'Value', 0);
0598 set(handles.sequential_mi_option, 'Value', 0);
0599 set(handles.sequential_nmi_option, 'Value', 0);
0600 set(handles.joint_mi_option, 'Value', 0);
0601 set(handles.joint_nmi_option, 'Value', 0);
0602 set(handles.mixed_msd_model_option, 'Value', 0);
0603 set(handles.model_post_msd_option, 'Value', 0);
0604 set(handles.tfceccv, 'Value', 0);
0605
0606
0607 set(handles.filename_option, 'Value', 0);
0608
0609 set(handles.export_default, 'Checked', 'off');
0610 set(handles.disable_save, 'Checked', 'off');
0611 set(handles.save_handle, 'Checked', 'on');
0612
0613 set(handles.enable_samples, 'Checked', 'on');
0614 set(handles.disable_samples, 'Checked', 'off');
0615 set(handles.determinant, 'String', '1');
0616
0617 set(handles.base_height_text, 'Enable', 'off');
0618 set(handles.width_variation_text, 'Enable', 'off');
0619 set(handles.height_variation_text, 'Enable', 'off');
0620
0621 set(handles.base_width_text, 'Enable', 'off');
0622 set(handles.position_freedom_text, 'Enable', 'off');
0623 set(handles.smoothness_text, 'Enable', 'off');
0624
0625 set(handles.attr_height, 'Enable', 'off');
0626 set(handles.attr_low_var, 'Enable', 'off');
0627 set(handles.attr_typical, 'Enable', 'off');
0628
0629 set(handles.wavelet_option, 'Value', 0);
0630
0631
0632
0633 set(handles.format, 'String', 'png');
0634
0635 set(handles.png, 'Checked', 'on');
0636 set(handles.bmp, 'Checked', 'off');
0637 set(handles.tiff, 'Checked', 'off');
0638 set(handles.jpeg, 'Checked', 'off');
0639 set(handles.hdf, 'Checked', 'off');
0640 set(handles.pcx, 'Checked', 'off');
0641 set(handles.xwd, 'Checked', 'off');
0642 set(handles.ras, 'Checked', 'off');
0643 set(handles.pbm, 'Checked', 'off');
0644 set(handles.pgm, 'Checked', 'off');
0645 set(handles.ppm, 'Checked', 'off');
0646 set(handles.pnm, 'Checked', 'off');
0647
0648
0649
0650
0651 set(handles.sequential_mi_option_menu, 'Checked', 'off');
0652 set(handles.sequential_nmi_option_menu, 'Checked', 'off');
0653 set(handles.joint_msd_option_menu, 'Checked', 'off');
0654 set(handles.joint_model_option_menu, 'Checked', 'on');
0655 set(handles.sequential_msd_option_menu, 'Checked', 'off');
0656 set(handles.sequential_model_option_menu, 'Checked', 'off');
0657 set(handles.mixed_msd_model_option_menu, 'Checked', 'off');
0658 set(handles.model_post_msd_option_menu, 'Checked', 'off');
0659 set(handles.joint_mi_option_menu, 'Checked', 'off');
0660 set(handles.joint_nmi_option_menu, 'Checked', 'off');
0661 set(handles.button_all_objective_functions_menu, 'Checked', 'off');
0662 set(handles.tfceccv_menu, 'Checked', 'off');
0663 set(handles.wavelet_option_menu, 'Checked', 'off');
0664 set(handles.model_pairs_menu, 'Checked', 'off');
0665 set(handles.seq_model_pairs_menu, 'Checked', 'off');
0666
0667
0668
0669 set(handles.compression_type_title, 'Enable', 'off');
0670 set(handles.compression_level_title, 'Enable', 'off');
0671 set(handles.compression, 'Enable', 'off');
0672 set(handles.compression_level, 'Enable', 'off');
0673
0674
0675
0676 set(handles.overlap_scores_option, 'Enable', 'off');
0677 set(handles.base_height_slider, 'Enable', 'off');
0678 set(handles.position_freedom_slider, 'Enable', 'off');
0679
0680 set(handles.height_variation_slider, 'Enable', 'off');
0681 set(handles.width_variation_slider, 'Enable', 'off');
0682 set(handles.base_width_slider, 'Enable', 'off');
0683 set(handles.smoothness_slider, 'Enable', 'off');
0684
0685 set(handles.pause, 'Enable', 'off');
0686 set(handles.resume, 'Enable', 'off');
0687
0688 set(handles.PDF, 'Enable', 'off');
0689 set(handles.Kernel_title, 'Enable', 'off');
0690 set(handles.window_size, 'String', '');
0691
0692 set(handles.large_test, 'Checked', 'off');
0693 set(handles.large_set, 'Checked', 'off');
0694
0695 set(handles.progress_bar_menu, 'Checked', 'on');
0696 set(handles.hierarchical_text_menu, 'Checked', 'off');
0697 set(handles.quiet_menu, 'Checked', 'off');
0698 set(handles.cycle, 'String', '1');
0699 set(handles.load_data, 'String', '6');
0700
0701 setappdata(0, 'rotate_surface', '0');
0702
0703
0704
0705 set(handles.open_flat, 'Checked', 'off');
0706 set(handles.open_disable, 'Checked', 'off');
0707 set(handles.handle_open, 'Checked', 'off');
0708 set(handles.open_default, 'Checked', 'off');
0709 set(handles.ellipse, 'Checked', 'on');
0710 set(handles.open_default, 'Checked', 'off');
0711 set(handles.open_plain, 'Checked', 'off');
0712 set(handles.open_plainran, 'Checked', 'off');
0713 set(handles.generate_simple_bump, 'Checked', 'off');
0714
0715 set(handles.verbose_optimiser_flag, 'String', 'off');
0716
0717 set(handles.save_bumps_flag, 'String', '0');
0718 set(handles.save_bumps, 'Checked', 'off');
0719 set(handles.save_data, 'String', '1');
0720
0721 set(handles.produce_record_button, 'Value', 0);
0722
0723 set(handles.draw_warp_curve, 'String', '0');
0724
0725 set(handles.overlap_scores, 'String', '0');
0726 set(handles.overlap_scores_option, 'Value', 0);
0727
0728 set(handles.spec_iters, 'String', '25');
0729 set(handles.gen_iters, 'String', '25');
0730
0731 set(handles.initialise_warps_close_to_target, 'String', '0');
0732 set(handles.initialise_warps_close_to_target_button, 'Value', 0);
0733
0734 set(handles.knot_points, 'String', '5');
0735 set(handles.show_warp_targets, 'String', '0');
0736
0737 set(handles.random_option, 'Enable', 'off');
0738 set(handles.edges_option, 'Enable', 'off');
0739 set(handles.grid_option, 'Enable', 'off');
0740 set(handles.alternating_grid_option, 'Enable', 'off');
0741 set(handles.random_and_Scale_option, 'Enable', 'on');
0742 set(handles.overlap_grid_option, 'Enable', 'on');
0743 set(handles.edges_and_scale_option, 'Enable', 'on');
0744
0745
0746 set(handles.save_mesh_option, 'Enable', 'off');
0747 set(handles.save_plots_option, 'Enable', 'off');
0748 set(handles.save_pixels_option, 'Enable', 'off');
0749
0750
0751
0752 set(handles.smoothing_slider, 'Enable', 'off');
0753 set(handles.samples_flag, 'String', '1');
0754 set(handles.bump_width, 'String', '0.5');
0755 set(handles.bump_width_variation, 'String', '0.2');
0756 set(handles.bump_height, 'String', '0.2');
0757 set(handles.bump_height_variation, 'String', '0.7');
0758 set(handles.bump_position_freedom, 'String', '0.9');
0759 set(handles.initial_diminish_factor, 'String', '1');
0760 set(handles.smoothness_factor, 'String', '17');
0761
0762 set(handles.window, 'String', '');
0763 set(handles.frames_per_second, 'String', '15');
0764
0765 set(handles.plot_alignment_button, 'Value', 0);
0766
0767 set(handles.rotate_surface, 'Enable', 'on');
0768
0769 set(handles.model_score_type, 'String', 'Default');
0770 set(handles.gaussian_smoothing, 'String', '0');
0771 set(handles.average_smoothing, 'String', '0');
0772 set(handles.use_filename, 'String', '0');
0773 set(handles.produce_record, 'String', '0');
0774
0775 set(handles.draw_curve_by_images, 'String', '0');
0776 set(handles.apply_corrective_offset, 'String', '0');
0777 set(handles.show_plot, 'String', '0');
0778 set(handles.show_pixels, 'String', '0');
0779 set(handles.show_registration_target_flag, 'String', '0');
0780 set(handles.show_registration_target, 'Enable', 'off');
0781 set(handles.show_registration_target, 'value', 0);
0782
0783 set(handles.save_video, 'String', '0');
0784 set(handles.find_specificity, 'String', '0');
0785 set(handles.repeatedly_show_model, 'String', '0');
0786
0787 set(handles.show_final_model, 'String', '0');
0788 set(handles.show_score_vs_iteration, 'String', '0');
0789 set(handles.show_score_while_optimising, 'String', '0');
0790
0791 set(handles.show_statistics, 'String', '0');
0792 set(handles.save_pixels, 'String', '0');
0793 set(handles.use_defaults, 'String', '1');
0794
0795 set(handles.perturb_option_button, 'Enable', 'off');
0796 set(handles.perturb_option_menuentry, 'Enable', 'off');
0797
0798 set(handles.hierarchical_text, 'String', '1');
0799 set(handles.plot_before_and_after, 'String', '0');
0800 set(handles.always_score_by_model, 'String', '0');
0801
0802 set(handles.constant, 'Value', 1);
0803 set(handles.edge, 'Value', 0);
0804 set(handles.variance, 'Value', 0);
0805
0806
0807
0808 setappdata(0, 'background_colour_red', '1');
0809 setappdata(0, 'background_colour_green', '1');
0810 setappdata(0, 'background_colour_blue', '1');
0811
0812 set(handles.text108, 'String', 'constant');
0813 set(handles.model_weight_constant_value, 'String', '0');
0814 set(handles.model_weight_constant_value, 'Enable', 'on');
0815
0816 set(handles.constant_value_text, 'Enable', 'on');
0817 set(handles.number_of_bins_text, 'Enable', 'off');
0818 set(handles.number_of_bins_slider, 'Enable', 'off');
0819
0820 set(handles.number_of_bins, 'Enable', 'off');
0821 set(handles.number_of_modes_slider, 'Value', 20);
0822 set(handles.model_weight_slider, 'Value', 0);
0823 set(handles.model_weight_slider, 'Enable', 'on');
0824
0825 set(handles.variation_kept_slider, 'Value', 98);
0826 set(handles.button_all_objective_functions, 'Value', 0);
0827 set(handles.number_of_bins_slider, 'Value', 50);
0828
0829 set(handles.random_reference_menu, 'Checked', 'off');
0830 set(handles.first_reference_menu, 'Checked', 'off');
0831 set(handles.second_reference_menu, 'Checked', 'off');
0832 set(handles.reference_nearest_to_average_menu, 'Checked', 'on');
0833 set(handles.lowest_reference_menu, 'Checked', 'off');
0834 set(handles.highest_reference_menu, 'Checked', 'off');
0835
0836
0837 set(handles.all_objective_functions, 'String', '0');
0838 set(handles.number_of_bins, 'String', '50');
0839 set(handles.file_for_video_box, 'Enable', 'off');
0840
0841 set(handles.filename_option, 'Enable', 'off');
0842 set(handles.show_plots_at_end_option, 'Value', 0);
0843 set(handles.always_score_by_model_option, 'Value', 0);
0844
0845 set(handles.verbose_disabled, 'Checked', 'on');
0846 set(handles.verbose_iteration, 'Checked', 'off');
0847 set(handles.verbose_notify, 'Checked', 'off');
0848 set(handles.verbose_final, 'Checked', 'off');
0849
0850 set(handles.filename_handle, 'String', 'Default');
0851 set(handles.description, 'String', 'Default');
0852
0853
0854 set(handles.overnight1, 'Checked', 'off');
0855 set(handles.overnight2, 'Checked', 'off');
0856 set(handles.overnight3, 'Checked', 'off');
0857
0858 set(handles.normal_test, 'Checked', 'off')
0859 set(handles.max_test, 'Checked', 'off')
0860 set(handles.user_menus, 'Checked', 'on');
0861 set(handles.default_parameters, 'Checked', 'off');
0862
0863 set(handles.file_for_video_box, 'String', 'Default.avi');
0864 set(handles.spline_type_display, 'String', 'single_point');
0865 set(handles.placement_method_display, 'String', 'random_and_scale');
0866 set(handles.mesh_type, 'String', 'Illuminated Surface');
0867
0868
0869
0870 set(handles.Register, 'Accelerator', 'R');
0871 set(handles.Reset, 'Accelerator', 'E');
0872 set(handles.Exit, 'Accelerator', 'Q');
0873 set(handles.Quit_MATLAB, 'Accelerator', 'Z');
0874 set(handles.clear_status_bar, 'Accelerator', 'T');
0875 set(handles.show_warps_while_optimising, 'Accelerator', 'D');
0876
0877 set(handles.display_shape_model_menu, 'Accelerator', 'G');
0878 set(handles.display_intensity_model_menu, 'Accelerator', 'I');
0879 set(handles.user_menus, 'Accelerator', '1');
0880 set(handles.default_parameters, 'Accelerator', '2');
0881 set(handles.normal_test, 'Accelerator', '3');
0882 set(handles.large_test, 'Accelerator', '4');
0883 set(handles.max_test, 'Accelerator', '5');
0884 set(handles.large_set, 'Accelerator', '6');
0885 set(handles.overnight1, 'Accelerator', '7');
0886 set(handles.overnight2, 'Accelerator', '8');
0887 set(handles.overnight3, 'Accelerator', '9');
0888
0889 set(handles.find_perfect_warp_menu, 'Accelerator', 'F');
0890 set(handles.save_stats_menu, 'Accelerator', 'M');
0891 set(handles.perturb_option_menuentry, 'Accelerator', 'B');
0892 set(handles.automation_menu, 'Accelerator', 'A');
0893 set(handles.advanced, 'Accelerator', 'K');
0894 set(handles.bug, 'Accelerator', 'U');
0895 set(handles.aart_on_line, 'Accelerator', 'N');
0896 set(handles.Using_AART, 'Accelerator', 'H');
0897
0898 set(handles.objective_function_display, 'String', 'model_opt_together');
0899 message = [['Autonomous Appearance-based Registration Test-bed '];
0900 [' '];
0901 ['Imaging Science and Biomedical Engineering '];
0902 [' '];
0903 ['Victoria University of Manchester ']];
0904
0905
0906
0907
0908 set(handles.status_bar, 'String', message);
0909
0910
0911
0912
0913
0914 background = imread('backgroundlarge.jpg');
0915
0916 axes(handles.background);
0917 axis off;
0918 imshow(background,[0,255]);
0919
0920 axes(handles.isbe_logo);
0921 isbe = imread('isbe.tif');
0922
0923
0924
0925
0926
0927
0928
0929
0930
0931
0932
0933
0934
0935
0936 imshow(isbe,[0,255]);
0937
0938
0939
0940
0941 axes(handles.aart_logo);
0942 isbe = imread('aartsm.tif');
0943 imshow(isbe,[0,255]);
0944
0945 samples = imread('samples.tif');
0946
0947 axes(handles.samples);
0948 axis off;
0949 imshow(samples,[0,255]);
0950
0951
0952
0953
0954
0955
0956
0957
0958
0959
0960
0961
0962
0963 function scheme_20_set_experiment_Callback(hObject, eventdata, handles)
0964
0965 set(handles.determinant, 'String', '2');
0966 set(handles.show_target_option, 'Enable', 'on');
0967 set(handles.show_registration_target, 'Enable', 'on');
0968
0969 set(handles.show_registration_target, 'Value', 1);
0970 set(handles.show_registration_target_flag, 'String', '1');
0971
0972 set(handles.show_score_vs_iteration_option, 'Value', 1);
0973 set(handles.show_score_vs_iteration, 'String', '1');
0974
0975 set(handles.show_plots_at_end_option, 'Value', 1);
0976 set(handles.plot_before_and_after, 'String', '1');
0977
0978 set(handles.overnight1, 'Checked', 'on');
0979 set(handles.overnight2, 'Checked', 'off');
0980 set(handles.overnight3, 'Checked', 'off');
0981 set(handles.user_menus, 'Checked', 'off');
0982 set(handles.default_parameters, 'Checked', 'off');
0983 set(handles.max_test, 'Checked', 'off');
0984 set(handles.normal_test, 'Checked', 'off');
0985 set(handles.large_test, 'Checked', 'off');
0986 set(handles.large_set, 'Checked', 'off');
0987 set(handles.use_defaults, 'String', '6');
0988
0989
0990 function scheme_regular_set_auto_Callback(hObject, eventdata, handles)
0991
0992 set(handles.determinant, 'String', '2');
0993 set(handles.show_target_option, 'Enable', 'on');
0994 set(handles.show_registration_target, 'Enable', 'on');
0995
0996 set(handles.show_registration_target, 'Value', 1);
0997 set(handles.show_registration_target_flag, 'String', '1');
0998
0999 set(handles.show_score_vs_iteration_option, 'Value', 1);
1000 set(handles.show_score_vs_iteration, 'String', '1');
1001
1002 set(handles.show_plots_at_end_option, 'Value', 1);
1003 set(handles.plot_before_and_after, 'String', '1');
1004
1005 set(handles.overnight1, 'Checked', 'off');
1006 set(handles.overnight2, 'Checked', 'on');
1007 set(handles.overnight3, 'Checked', 'off');
1008 set(handles.user_menus, 'Checked', 'off');
1009 set(handles.default_parameters, 'Checked', 'off');
1010 set(handles.max_test, 'Checked', 'off');
1011 set(handles.normal_test, 'Checked', 'off');
1012 set(handles.large_test, 'Checked', 'off');
1013 set(handles.large_set, 'Checked', 'off');
1014 set(handles.use_defaults, 'String', '7');
1015
1016 set(handles.dynamic_precision, 'Checked', 'on');
1017 setappdata(0, 'dynamic_precision', '1');
1018
1019
1020
1021
1022 function draw_data(hObject, eventdata, handles)
1023 if (str2num(get(handles.samples_flag, 'String')) == 1),
1024 n_examples = 6;
1025 resolution = 50;
1026
1027
1028
1029
1030
1031 [imagelist, images, points] = make_1d_bump(n_examples, resolution, str2num(get(handles.bump_width, 'String')),...
1032 str2num(get(handles.bump_width_variation, 'String')), str2num(get(handles.bump_height, 'String')),...
1033 str2num(get(handles.bump_height_variation, 'String')), str2num(get(handles.bump_position_freedom, 'String')),...
1034 str2num(get(handles.initial_diminish_factor, 'String'))...
1035 , str2num(get(handles.smoothness_factor, 'String')), 0, get(handles.format, 'String'));
1036
1037 colour = [0.2,0.2,0.2];
1038
1039
1040 axes(handles.samples);
1041 plot([0]);
1042 hold on;
1043 for i=1:n_examples,
1044 if (colour ==[0.2,0.2,0.2]),
1045 colour = [0.4,0.4,0.4];
1046 elseif (colour ==[0.4,0.4,0.4]),
1047 colour = [0.6,0.6,0.6];
1048 else
1049 colour = [0.2,0.2,0.2];
1050 end
1051 plot(images(:,i),'color', colour);
1052 end
1053 axis off;
1054
1055 axis([0 resolution 0 1]);
1056 hold off;
1057 end
1058
1059
1060
1061 function random_option_Callback(hObject, eventdata, handles)
1062
1063 set(handles.random_option, 'Value', 1);
1064 set(handles.edges_option, 'Value', 0);
1065 set(handles.grid_option, 'Value', 0);
1066 set(handles.random_and_Scale_option, 'Value', 0);
1067 set(handles.overlap_grid_option, 'Value', 0);
1068 set(handles.edges_and_scale_option, 'Value', 0);
1069 set(handles.alternating_grid_option, 'Value', 0);
1070
1071 set(handles.placement_method_display, 'String', 'random');
1072
1073
1074
1075
1076 function edges_option_Callback(hObject, eventdata, handles)
1077
1078 set(handles.random_option, 'Value', 0);
1079 set(handles.edges_option, 'Value', 1);
1080 set(handles.grid_option, 'Value', 0);
1081 set(handles.random_and_Scale_option, 'Value', 0);
1082 set(handles.overlap_grid_option, 'Value', 0);
1083 set(handles.edges_and_scale_option, 'Value', 0);
1084 set(handles.alternating_grid_option, 'Value', 0);
1085
1086 set(handles.placement_method_display, 'String', 'edge');
1087
1088
1089
1090
1091
1092 function grid_option_Callback(hObject, eventdata, handles)
1093
1094 set(handles.random_option, 'Value', 0);
1095 set(handles.edges_option, 'Value', 0);
1096 set(handles.grid_option, 'Value', 1);
1097 set(handles.random_and_Scale_option, 'Value', 0);
1098 set(handles.overlap_grid_option, 'Value', 0);
1099 set(handles.edges_and_scale_option, 'Value', 0);
1100 set(handles.alternating_grid_option, 'Value', 0);
1101
1102 set(handles.placement_method_display, 'String', 'grid');
1103
1104
1105
1106
1107
1108 function random_and_Scale_option_Callback(hObject, eventdata, handles)
1109
1110 set(handles.random_option, 'Value', 0);
1111 set(handles.edges_option, 'Value', 0);
1112 set(handles.grid_option, 'Value', 0);
1113 set(handles.random_and_Scale_option, 'Value', 1);
1114 set(handles.overlap_grid_option, 'Value', 0);
1115 set(handles.edges_and_scale_option, 'Value', 0);
1116 set(handles.alternating_grid_option, 'Value', 0);
1117
1118 set(handles.placement_method_display, 'String', 'random_and_scale');
1119
1120
1121
1122 function alternating_grid_option_Callback(hObject, eventdata, handles)
1123
1124 set(handles.random_option, 'Value', 0);
1125 set(handles.edges_option, 'Value', 0);
1126 set(handles.grid_option, 'Value', 0);
1127 set(handles.random_and_Scale_option, 'Value', 0);
1128 set(handles.overlap_grid_option, 'Value', 0);
1129 set(handles.edges_and_scale_option, 'Value', 0);
1130 set(handles.alternating_grid_option, 'Value', 1);
1131
1132 set(handles.placement_method_display, 'String', 'alternating_grid');
1133
1134
1135
1136 function single_point_option_Callback(hObject, eventdata, handles)
1137
1138 set(handles.single_point_option, 'Value', 1);
1139 set(handles.multi_point_option, 'Value', 0);
1140
1141
1142 set(handles.random_option, 'Enable', 'off');
1143 set(handles.edges_option, 'Enable', 'off');
1144 set(handles.grid_option, 'Enable', 'off');
1145 set(handles.alternating_grid_option, 'Enable', 'off');
1146
1147 set(handles.random_and_Scale_option, 'Enable', 'on');
1148 set(handles.overlap_grid_option, 'Enable', 'on');
1149 set(handles.edges_and_scale_option, 'Enable', 'on');
1150
1151 set(handles.random_and_Scale_option, 'Value', 1);
1152 set(handles.random_option, 'Value', 0);
1153 set(handles.edges_option, 'Value', 0);
1154 set(handles.grid_option, 'Value', 0);
1155 set(handles.overlap_grid_option, 'Value', 0);
1156 set(handles.edges_and_scale_option, 'Value', 0);
1157 set(handles.alternating_grid_option, 'Value', 0);
1158 set(handles.placement_method_display, 'String', 'random_and_scale');
1159 set(handles.spline_type_display, 'String', 'single_point');
1160
1161
1162
1163 function multi_point_option_Callback(hObject, eventdata, handles)
1164
1165 set(handles.single_point_option, 'Value', 0);
1166 set(handles.multi_point_option, 'Value', 1);
1167 set(handles.spline_type_display, 'String', 'multi_point');
1168 set(handles.random_option, 'Enable', 'on');
1169 set(handles.edges_option, 'Enable', 'on');
1170 set(handles.grid_option, 'Enable', 'on');
1171 set(handles.random_and_Scale_option, 'Enable', 'off');
1172 set(handles.overlap_grid_option, 'Enable', 'off');
1173 set(handles.edges_and_scale_option, 'Enable', 'off');
1174 set(handles.alternating_grid_option, 'Enable', 'on');
1175 set(handles.random_and_Scale_option, 'Value', 0);
1176 set(handles.random_option, 'Value', 1);
1177 set(handles.edges_option, 'Value', 0);
1178 set(handles.grid_option, 'Value', 0);
1179 set(handles.overlap_grid_option, 'Value', 0);
1180 set(handles.edges_and_scale_option, 'Value', 0);
1181 set(handles.alternating_grid_option, 'Value', 0);
1182 set(handles.placement_method_display, 'String', 'random');
1183
1184
1185
1186
1187 function overlap_grid_option_Callback(hObject, eventdata, handles)
1188
1189 set(handles.random_option, 'Value', 0);
1190 set(handles.edges_option, 'Value', 0);
1191 set(handles.grid_option, 'Value', 0);
1192 set(handles.random_and_Scale_option, 'Value', 0);
1193 set(handles.overlap_grid_option, 'Value', 1);
1194 set(handles.edges_and_scale_option, 'Value', 0);
1195 set(handles.alternating_grid_option, 'Value', 0);
1196
1197 set(handles.placement_method_display, 'String', 'overlap_grid');
1198
1199
1200
1201
1202 function edges_and_scale_option_Callback(hObject, eventdata, handles)
1203
1204 set(handles.random_option, 'Value', 0);
1205 set(handles.edges_option, 'Value', 0);
1206 set(handles.grid_option, 'Value', 0);
1207 set(handles.random_and_Scale_option, 'Value', 0);
1208 set(handles.overlap_grid_option, 'Value', 0);
1209 set(handles.edges_and_scale_option, 'Value', 1);
1210 set(handles.alternating_grid_option, 'Value', 0);
1211
1212 set(handles.placement_method_display, 'String', 'edge_and_scale');
1213
1214
1215
1216
1217 function apply_corrective_offset_option_Callback(hObject, eventdata, handles)
1218
1219 if (get(handles.apply_corrective_offset_option,'Value') == 0),
1220 set(handles.apply_corrective_offset_option, 'Value', 0);
1221 set(handles.apply_corrective_offset, 'String', '0');
1222 else
1223 set(handles.apply_corrective_offset_option, 'Value', 1);
1224 set(handles.apply_corrective_offset, 'String', '1');
1225 end
1226
1227
1228
1229
1230 function show_plots_throughout_option_Callback(hObject, eventdata, handles)
1231
1232 if (get(handles.show_plots_throughout_option,'Value') == 0),
1233 set(handles.show_plots_throughout_option, 'Value', 0);
1234 set(handles.show_plot, 'String', '0');
1235 else
1236 set(handles.show_plots_throughout_option, 'Value', 1);
1237 set(handles.show_plot, 'String', '1');
1238 end
1239
1240
1241
1242
1243 function show_pixels_throughout_option_Callback(hObject, eventdata, handles)
1244
1245 if (get(handles.show_pixels_throughout_option,'Value') == 0),
1246 set(handles.show_pixels_throughout_option, 'Value', 0);
1247 set(handles.show_pixels, 'String', '0');
1248 else
1249 set(handles.show_pixels_throughout_option, 'Value', 1);
1250 set(handles.show_pixels, 'String', '1');
1251 end
1252
1253
1254
1255
1256 function save_video_option_Callback(hObject, eventdata, handles)
1257
1258 if (get(handles.save_video_option,'Value') == 0),
1259 set(handles.save_video_option, 'Value', 0);
1260 set(handles.save_video, 'String', '0');
1261 set(handles.save_plots_option, 'Enable', 'off');
1262 set(handles.save_pixels_option, 'Enable', 'off');
1263 set(handles.save_mesh_option, 'Enable', 'off');
1264 set(handles.save_model_option, 'Enable', 'off');
1265 set(handles.filename_option, 'Enable', 'off');
1266 else
1267 set(handles.save_video_option, 'Value', 1);
1268 set(handles.save_video, 'String', '1');
1269 set(handles.save_plots_option, 'Enable', 'on');
1270 set(handles.save_model_option, 'Enable', 'on');
1271 set(handles.save_mesh_option, 'Enable', 'on');
1272 set(handles.save_pixels_option, 'Enable', 'on');
1273 set(handles.filename_option, 'Enable', 'on');
1274 end
1275
1276 if (get(handles.filename_option,'Value') == 0),
1277 set(handles.file_for_video_box, 'Enable', 'off');
1278 else
1279 set(handles.file_for_video_box, 'Enable', 'on');
1280 end
1281
1282
1283
1284
1285
1286 function find_specificity_option_Callback(hObject, eventdata, handles)
1287
1288 if (get(handles.find_specificity_option,'Value') == 0),
1289 set(handles.find_specificity_option, 'Value', 0);
1290 set(handles.find_specificity, 'String', '0');
1291 else
1292 set(handles.find_specificity_option, 'Value', 1);
1293 set(handles.find_specificity, 'String', '1');
1294 end
1295
1296
1297
1298
1299 function repeatedly_show_model_option_Callback(hObject, eventdata, handles)
1300
1301 if (get(handles.repeatedly_show_model_option,'Value') == 0),
1302 set(handles.repeatedly_show_model_option, 'Value', 0);
1303 set(handles.repeatedly_show_model, 'String', '0');
1304 else
1305 set(handles.repeatedly_show_model_option, 'Value', 1);
1306 set(handles.repeatedly_show_model, 'String', '1');
1307 end
1308
1309
1310
1311
1312 function show_final_model_option_Callback(hObject, eventdata, handles)
1313 if (get(handles.show_final_model_option,'Value') == 0),
1314 set(handles.show_final_model_option, 'Value', 0);
1315 set(handles.show_final_model, 'String', '0');
1316 else
1317 set(handles.show_final_model_option, 'Value', 1);
1318 set(handles.show_final_model, 'String', '1');
1319 end
1320
1321
1322
1323
1324 function show_score_vs_iteration_option_Callback(hObject, eventdata, handles)
1325
1326 if (get(handles.show_score_vs_iteration_option,'Value') == 0),
1327 set(handles.show_score_vs_iteration_option, 'Value', 0);
1328 set(handles.show_score_vs_iteration, 'String', '0');
1329 else
1330 set(handles.show_score_vs_iteration_option, 'Value', 1);
1331 set(handles.show_score_vs_iteration, 'String', '1');
1332 end
1333
1334
1335
1336
1337
1338 function show_score_while_optimising_option_Callback(hObject, eventdata, handles)
1339
1340 if (get(handles.show_score_while_optimising_option,'Value') == 0),
1341 set(handles.show_score_while_optimising_option, 'Value', 0);
1342 set(handles.show_score_while_optimising, 'String', '0');
1343 else
1344 set(handles.show_score_while_optimising_option, 'Value', 1);
1345 set(handles.show_score_while_optimising, 'String', '1');
1346 end
1347
1348
1349
1350 function show_statistics_option_Callback(hObject, eventdata, handles)
1351
1352 if (get(handles.show_statistics_option,'Value') == 0),
1353 set(handles.show_statistics_option, 'Value', 0);
1354 set(handles.show_statistics, 'String', '0');
1355 else
1356 set(handles.show_statistics_option, 'Value', 1);
1357 set(handles.show_statistics, 'String', '1');
1358 end
1359
1360
1361
1362
1363 function save_plots_option_Callback(hObject, eventdata, handles)
1364
1365 set(handles.save_plots_option, 'Value', 1);
1366 set(handles.save_pixels_option, 'Value', 0);
1367 set(handles.save_mesh_option, 'Value', 0);
1368 set(handles.save_model_option, 'Value', 0);
1369
1370 set(handles.save_pixels, 'String', '1');
1371
1372
1373
1374
1375 function save_pixels_option_Callback(hObject, eventdata, handles)
1376
1377
1378 set(handles.save_plots_option, 'Value', 0);
1379 set(handles.save_pixels_option, 'Value', 1);
1380 set(handles.save_mesh_option, 'Value', 0);
1381 set(handles.save_model_option, 'Value', 0);
1382
1383 set(handles.save_pixels, 'String', '0');
1384
1385
1386
1387
1388
1389
1390 function Help_Callback(hObject, eventdata, handles)
1391
1392
1393
1394
1395
1396 function File_Callback(hObject, eventdata, handles)
1397
1398
1399
1400
1401
1402 function Exit_Callback(hObject, eventdata, handles)
1403
1404
1405 close;
1406
1407
1408
1409
1410 function About_Callback(hObject, eventdata, handles)
1411
1412 message = [['Autonomous Appearance-based Registration Test-bed '];
1413 ['Imaging Science and Biomedical Engineering '];
1414 ['Victoria University of Manchester '];
1415 ['Version ',[get_version],' '];
1416 [' '];
1417 ['Primary implementation: Katherine Smith '];
1418 [' '];
1419 ['Modifications and package assembly: Roy Schestowitz'];
1420 [' '];
1421 ['Project supervisor: Chris Taylor '];
1422 [' ']];
1423
1424
1425 msgbox(message ,'About AART');
1426
1427
1428
1429 function reset_Callback(hObject, eventdata, handles)
1430
1431
1432
1433
1434 initialize_gui(hObject, handles);
1435
1436
1437
1438
1439
1440 function Matlab_Help_Callback(hObject, eventdata, handles)
1441
1442
1443
1444 helpdesk;
1445
1446
1447
1448 function filename_option_Callback(hObject, eventdata, handles)
1449
1450 if (get(handles.filename_option,'Value') == 0),
1451 set(handles.filename_option, 'Value', 0);
1452 set(handles.use_filename, 'String', '0');
1453 set(handles.file_for_video_box, 'Enable', 'off');
1454 else
1455 set(handles.filename_option, 'Value', 1);
1456 set(handles.use_filename, 'String', '1');
1457 set(handles.file_for_video_box, 'Enable', 'on');
1458 end
1459
1460
1461
1462
1463
1464 function file_for_video_box_CreateFcn(hObject, eventdata, handles)
1465
1466
1467 if ispc
1468 set(hObject,'BackgroundColor','white');
1469 else
1470 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
1471 end
1472
1473
1474
1475
1476
1477 function file_for_video_box_Callback(hObject, eventdata, handles)
1478
1479
1480
1481
1482
1483 function smoothing_disabled_option_Callback(hObject, eventdata, handles)
1484
1485 set(handles.smoothing_disabled_option, 'Value', 1);
1486 set(handles.gaussian_smoothing_option, 'Value', 0);
1487 set(handles.average_smoothing_option, 'Value', 0);
1488 set(handles.gaussian_smoothing, 'String', '0');
1489 set(handles.average_smoothing, 'String', '0');
1490 set(handles.smoothing_slider, 'Enable', 'off');
1491 set(handles.window_size, 'String', '');
1492 set(handles.window, 'String', '');
1493
1494
1495
1496
1497
1498 function gaussian_smoothing_option_Callback(hObject, eventdata, handles)
1499
1500 set(handles.smoothing_disabled_option, 'Value', 0);
1501 set(handles.gaussian_smoothing_option, 'Value', 1);
1502 set(handles.average_smoothing_option, 'Value', 0);
1503 set(handles.gaussian_smoothing, 'String', '1');
1504 set(handles.average_smoothing, 'String', '0');
1505 set(handles.smoothing_slider, 'Enable', 'on');
1506 set(handles.window, 'String', num2str(ceil(get(handles.smoothing_slider, 'Value'))));
1507 set(handles.window_size, 'String', 'Sigma:');
1508
1509
1510
1511
1512
1513 function average_smoothing_option_Callback(hObject, eventdata, handles)
1514
1515
1516 set(handles.smoothing_disabled_option, 'Value', 0);
1517 set(handles.gaussian_smoothing_option, 'Value', 0);
1518 set(handles.average_smoothing_option, 'Value', 1);
1519 set(handles.average_smoothing, 'String', '1');
1520 set(handles.gaussian_smoothing, 'String', '0');
1521 set(handles.smoothing_slider, 'Enable', 'on');
1522 set(handles.window, 'String', num2str(ceil(get(handles.smoothing_slider, 'Value'))));
1523 set(handles.window_size, 'String', 'Window size:');
1524
1525
1526
1527
1528
1529 function smoothing_slider_CreateFcn(hObject, eventdata, handles)
1530
1531
1532 usewhitebg = 1;
1533 if usewhitebg
1534 set(hObject,'BackgroundColor',[.9 .9 .9]);
1535 else
1536 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
1537 end
1538
1539
1540
1541
1542
1543
1544 function smoothing_slider_Callback(hObject, eventdata, handles)
1545
1546
1547 set(handles.window, 'String', num2str(ceil(get(handles.smoothing_slider, 'Value'))));
1548
1549
1550
1551
1552
1553
1554 function status_bar_CreateFcn(hObject, eventdata, handles)
1555
1556
1557 if ispc
1558 set(hObject,'BackgroundColor','white');
1559 else
1560 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
1561 end
1562
1563
1564
1565
1566
1567
1568 function status_bar_Callback(hObject, eventdata, handles)
1569
1570
1571
1572
1573
1574 function popupmenu2_CreateFcn(hObject, eventdata, handles)
1575
1576 if ispc
1577 set(hObject,'BackgroundColor','white');
1578 else
1579 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
1580 end
1581
1582 function popupmenu2_Callback(hObject, eventdata, handles)
1583
1584 function popupmenu3_CreateFcn(hObject, eventdata, handles)
1585
1586 if ispc
1587 set(hObject,'BackgroundColor','white');
1588 else
1589 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
1590 end
1591
1592
1593
1594
1595
1596 function popupmenu3_Callback(hObject, eventdata, handles)
1597
1598
1599
1600
1601 function default_attributes_Callback(hObject, eventdata, handles)
1602
1603
1604
1605 set(handles.default_attributes, 'Value', 1);
1606 set(handles.specify_attributes, 'Value', 0);
1607
1608 set(handles.attr_height, 'Enable', 'off');
1609 set(handles.attr_low_var, 'Enable', 'off');
1610 set(handles.attr_typical, 'Enable', 'off');
1611
1612 set(handles.base_height_slider, 'Enable', 'off');
1613 set(handles.position_freedom_slider, 'Enable', 'off');
1614 set(handles.height_variation_slider, 'Enable', 'off');
1615 set(handles.width_variation_slider, 'Enable', 'off');
1616 set(handles.base_width_slider, 'Enable', 'off');
1617 set(handles.smoothness_slider, 'Enable', 'off');
1618 set(handles.base_height_text, 'Enable', 'off');
1619 set(handles.width_variation_text, 'Enable', 'off');
1620 set(handles.height_variation_text, 'Enable', 'off');
1621 set(handles.base_width_text, 'Enable', 'off');
1622 set(handles.position_freedom_text, 'Enable', 'off');
1623 set(handles.smoothness_text, 'Enable', 'off');
1624
1625 set(handles.bump_width, 'String', '0.5');
1626 set(handles.bump_width_variation, 'String', '0.2');
1627 set(handles.bump_height, 'String', '0.2');
1628 set(handles.bump_height_variation, 'String', '0.7');
1629 set(handles.bump_position_freedom, 'String', '0.9');
1630 set(handles.initial_diminish_factor, 'String', '1');
1631 set(handles.smoothness_factor, 'String', '17');
1632
1633
1634
1635
1636 draw_data(hObject, eventdata, handles);
1637
1638
1639
1640
1641
1642 function specify_attributes_Callback(hObject, eventdata, handles)
1643
1644 set(handles.default_attributes, 'Value', 0);
1645 set(handles.specify_attributes, 'Value', 1);
1646 set(handles.base_height_text, 'Enable', 'on');
1647 set(handles.width_variation_text, 'Enable', 'on');
1648 set(handles.height_variation_text, 'Enable', 'on');
1649 set(handles.base_width_text, 'Enable', 'on');
1650 set(handles.position_freedom_text, 'Enable', 'on');
1651 set(handles.smoothness_text, 'Enable', 'on');
1652 set(handles.base_height_slider, 'Enable', 'on');
1653 set(handles.position_freedom_slider, 'Enable', 'on');
1654 set(handles.height_variation_slider, 'Enable', 'on');
1655 set(handles.width_variation_slider, 'Enable', 'on');
1656 set(handles.base_width_slider, 'Enable', 'on');
1657 set(handles.smoothness_slider, 'Enable', 'on');
1658
1659 set(handles.attr_height, 'Enable', 'on');
1660 set(handles.attr_low_var, 'Enable', 'on');
1661 set(handles.attr_typical, 'Enable', 'on');
1662
1663 set(handles.bump_height, 'String', num2str(get(handles.base_height_slider, 'Value')));
1664 set(handles.bump_position_freedom, 'String', num2str(get(handles.position_freedom_slider, 'Value')));
1665 set(handles.bump_height_variation, 'String', num2str(get(handles.height_variation_slider, 'Value')));
1666 set(handles.bump_width_variation, 'String', num2str(get(handles.width_variation_slider, 'Value')));
1667 set(handles.bump_width, 'String', num2str(get(handles.base_width_slider, 'Value')));
1668 set(handles.smoothness_factor, 'String', num2str(get(handles.smoothness_slider, 'Value')));
1669
1670 draw_data(hObject, eventdata, handles);
1671
1672
1673
1674
1675 function popupmenu4_CreateFcn(hObject, eventdata, handles)
1676
1677 if ispc
1678 set(hObject,'BackgroundColor','white');
1679 else
1680 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
1681 end
1682
1683
1684
1685
1686 function radiobutton44_Callback(hObject, eventdata, handles)
1687
1688
1689
1690
1691
1692 function radiobutton45_Callback(hObject, eventdata, handles)
1693
1694
1695
1696
1697
1698 function base_height_slider_CreateFcn(hObject, eventdata, handles)
1699
1700 usewhitebg = 1;
1701 if usewhitebg
1702 set(hObject,'BackgroundColor',[.9 .9 .9]);
1703 else
1704 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
1705 end
1706
1707
1708
1709
1710
1711
1712 function base_height_slider_Callback(hObject, eventdata, handles)
1713
1714 set(handles.bump_height, 'String', num2str(get(handles.base_height_slider, 'Value')));
1715 draw_data(hObject, eventdata, handles);
1716
1717
1718
1719
1720
1721
1722 function position_freedom_slider_CreateFcn(hObject, eventdata, handles)
1723
1724 usewhitebg = 1;
1725 if usewhitebg
1726 set(hObject,'BackgroundColor',[.9 .9 .9]);
1727 else
1728 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
1729 end
1730
1731
1732
1733
1734 function position_freedom_slider_Callback(hObject, eventdata, handles)
1735
1736 set(handles.bump_position_freedom, 'String', num2str(get(handles.position_freedom_slider, 'Value')));
1737 draw_data(hObject, eventdata, handles);
1738
1739
1740
1741
1742
1743 function height_variation_slider_CreateFcn(hObject, eventdata, handles)
1744
1745 usewhitebg = 1;
1746 if usewhitebg
1747 set(hObject,'BackgroundColor',[.9 .9 .9]);
1748 else
1749 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
1750 end
1751
1752
1753
1754
1755 function height_variation_slider_Callback(hObject, eventdata, handles)
1756
1757 set(handles.bump_height_variation, 'String', num2str(get(handles.height_variation_slider, 'Value')));
1758 draw_data(hObject, eventdata, handles);
1759
1760
1761
1762 function width_variation_slider_CreateFcn(hObject, eventdata, handles)
1763
1764
1765 usewhitebg = 1;
1766 if usewhitebg
1767 set(hObject,'BackgroundColor',[.9 .9 .9]);
1768 else
1769 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
1770 end
1771
1772
1773
1774
1775
1776 function width_variation_slider_Callback(hObject, eventdata, handles)
1777
1778 set(handles.bump_width_variation, 'String', num2str(get(handles.width_variation_slider, 'Value')));
1779 draw_data(hObject, eventdata, handles);
1780
1781
1782
1783
1784 function base_width_slider_CreateFcn(hObject, eventdata, handles)
1785
1786
1787 usewhitebg = 1;
1788 if usewhitebg
1789 set(hObject,'BackgroundColor',[.9 .9 .9]);
1790 else
1791 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
1792 end
1793
1794
1795
1796
1797
1798 function base_width_slider_Callback(hObject, eventdata, handles)
1799
1800 set(handles.bump_width, 'String', num2str(get(handles.base_width_slider, 'Value')));
1801 draw_data(hObject, eventdata, handles);
1802
1803
1804
1805 function Using_AART_Callback(hObject, eventdata, handles)
1806
1807 web http://www.danielsorogon.com/Webmaster/Projects/AART/help.htm
1808
1809
1810
1811
1812
1813
1814 function Quit_MATLAB_Callback(hObject, eventdata, handles)
1815
1816 exit;
1817
1818
1819
1820
1821 function bug_Callback(hObject, eventdata, handles)
1822
1823
1824 web http://www.danielsorogon.com/Webmaster/fback.htm
1825
1826
1827
1828
1829 function view_Callback(hObject, eventdata, handles)
1830
1831
1832
1833
1834
1835 function tools_Callback(hObject, eventdata, handles)
1836
1837
1838
1839
1840 function smoothness_slider_CreateFcn(hObject, eventdata, handles)
1841
1842 usewhitebg = 1;
1843 if usewhitebg
1844 set(hObject,'BackgroundColor',[.9 .9 .9]);
1845 else
1846 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
1847 end
1848
1849
1850
1851
1852 function smoothness_slider_Callback(hObject, eventdata, handles)
1853
1854 set(handles.smoothness_factor, 'String', num2str(get(handles.smoothness_slider, 'Value')));
1855 draw_data(hObject, eventdata, handles);
1856
1857
1858
1859
1860 function exit_button_Callback(hObject, eventdata, handles)
1861
1862 close;
1863
1864
1865
1866
1867
1868 function show_plots_at_end_option_Callback(hObject, eventdata, handles)
1869
1870
1871 if (get(handles.show_plots_at_end_option,'Value') == 0),
1872 set(handles.show_plots_at_end_option, 'Value', 0);
1873 set(handles.plot_before_and_after, 'String', '0');
1874 else
1875 set(handles.show_plots_at_end_option, 'Value', 1);
1876 set(handles.plot_before_and_after, 'String', '1');
1877 end
1878
1879
1880
1881
1882
1883 function aart_on_line_Callback(hObject, eventdata, handles)
1884
1885 web http://www.danielsorogon.com/Webmaster/Projects/AART
1886
1887
1888
1889
1890
1891 function number_of_bins_slider_CreateFcn(hObject, eventdata, handles)
1892
1893 usewhitebg = 1;
1894 if usewhitebg
1895 set(hObject,'BackgroundColor',[.9 .9 .9]);
1896 else
1897 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
1898 end
1899
1900
1901
1902
1903
1904 function number_of_bins_slider_Callback(hObject, eventdata, handles)
1905
1906
1907 set(handles.number_of_bins, 'String', num2str(ceil(get(handles.number_of_bins_slider, 'Value'))));
1908
1909
1910
1911
1912
1913
1914 function always_score_by_model_option_Callback(hObject, eventdata, handles)
1915
1916 set(handles.always_score_by_model, 'String', '0');
1917 if (get(handles.always_score_by_model_option,'Value') == 0),
1918 set(handles.always_score_by_model_option, 'Value', 0);
1919 set(handles.always_score_by_model, 'String', '0');
1920 set(handles.score_model_by_menu, 'Enable', 'off');
1921 set(handles.cycle, 'Enable', 'off');
1922 set(handles.cycle_slider, 'Enable', 'off');
1923 set(handles.cycle_label, 'Enable', 'off');
1924 else
1925 set(handles.always_score_by_model_option, 'Value', 1);
1926 set(handles.always_score_by_model, 'String', '1');
1927 set(handles.score_model_by_menu, 'Enable', 'on');
1928 set(handles.cycle, 'Enable', 'on');
1929 set(handles.cycle_slider, 'Enable', 'on');
1930 set(handles.cycle_label, 'Enable', 'on');
1931 end
1932
1933
1934
1935
1936 function filename_handle_CreateFcn(hObject, eventdata, handles)
1937
1938 if ispc
1939 set(hObject,'BackgroundColor','white');
1940 else
1941 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
1942 end
1943
1944
1945
1946
1947
1948 function filename_handle_Callback(hObject, eventdata, handles)
1949
1950
1951
1952
1953 function pause_Callback(hObject, eventdata, handles)
1954
1955
1956 set(handles.pause, 'Enable', 'off');
1957 set(handles.resume, 'Enable', 'on');
1958 set(handles.status_bar, 'String', 'Registration paused');
1959 uiwait;
1960
1961
1962
1963
1964 function resume_Callback(hObject, eventdata, handles)
1965
1966
1967 set(handles.pause, 'Enable', 'on');
1968 set(handles.resume, 'Enable', 'off');
1969 uiresume;
1970 set(handles.status_bar, 'String', 'Registration in progress...');
1971
1972
1973
1974 function help_button_Callback(hObject, eventdata, handles)
1975
1976 web http://www.danielsorogon.com/Webmaster/Projects/AART/help.htm
1977
1978
1979
1980 function constant_Callback(hObject, eventdata, handles)
1981
1982 set(handles.constant, 'Value', 1);
1983 set(handles.edge, 'Value', 0);
1984 set(handles.variance, 'Value', 0);
1985 set(handles.text108, 'String', 'constant');
1986 set(handles.model_weight_slider, 'Enable', 'on');
1987
1988 set(handles.model_weight_constant_value, 'Enable', 'on');
1989 set(handles.constant_value_text, 'Enable', 'on');
1990
1991
1992
1993
1994
1995 function edge_Callback(hObject, eventdata, handles)
1996
1997
1998 set(handles.constant, 'Value', 0);
1999 set(handles.edge, 'Value', 1);
2000 set(handles.variance, 'Value', 0);
2001 set(handles.text108, 'String', 'edge');
2002 set(handles.model_weight_slider, 'Enable', 'off');
2003 set(handles.model_weight_constant_value, 'Enable', 'off');
2004 set(handles.constant_value_text, 'Enable', 'off');
2005
2006
2007
2008
2009
2010 function variance_Callback(hObject, eventdata, handles)
2011
2012
2013 set(handles.constant, 'Value', 0);
2014 set(handles.edge, 'Value', 0);
2015 set(handles.variance, 'Value', 1);
2016 set(handles.text108, 'String', 'variance');
2017 set(handles.model_weight_slider, 'Enable', 'off');
2018
2019 set(handles.model_weight_constant_value, 'Enable', 'off');
2020 set(handles.constant_value_text, 'Enable', 'off');
2021
2022
2023
2024
2025 function number_of_modes_slider_CreateFcn(hObject, eventdata, handles)
2026
2027 usewhitebg = 1;
2028 if usewhitebg
2029 set(hObject,'BackgroundColor',[.9 .9 .9]);
2030 else
2031 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
2032 end
2033
2034
2035
2036 function number_of_modes_slider_Callback(hObject, eventdata, handles)
2037
2038
2039 set(handles.number_of_modes_display, 'String', num2str(ceil(get(handles.number_of_modes_slider, 'Value'))));
2040
2041
2042
2043 function model_weight_slider_CreateFcn(hObject, eventdata, handles)
2044
2045 usewhitebg = 1;
2046 if usewhitebg
2047 set(hObject,'BackgroundColor',[.9 .9 .9]);
2048 else
2049 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
2050 end
2051
2052
2053
2054 function model_weight_slider_Callback(hObject, eventdata, handles)
2055
2056 set(handles.model_weight_constant_value, 'String', num2str(get(handles.model_weight_slider, 'Value')));
2057
2058
2059
2060
2061 function variation_kept_slider_CreateFcn(hObject, eventdata, handles)
2062
2063
2064
2065 usewhitebg = 1;
2066 if usewhitebg
2067 set(hObject,'BackgroundColor',[.9 .9 .9]);
2068 else
2069 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
2070 end
2071
2072
2073
2074 function variation_kept_slider_Callback(hObject, eventdata, handles)
2075
2076
2077 set(handles.variatyion_kept_display, 'String', num2str(get(handles.variation_kept_slider, 'Value')));
2078
2079
2080
2081
2082
2083
2084 function data_samples_Callback(hObject, eventdata, handles)
2085
2086
2087
2088
2089
2090
2091 function disable_samples_Callback(hObject, eventdata, handles)
2092
2093 set(handles.samples_flag, 'String', '0');
2094 set(handles.enable_samples, 'Checked', 'off');
2095 set(handles.disable_samples, 'Checked', 'on');
2096 samples = imread('samples.tif');
2097 axes(handles.samples);
2098 axis off;
2099 imshow(samples,[0,255]);
2100
2101
2102
2103
2104
2105 function enable_samples_Callback(hObject, eventdata, handles)
2106
2107 set(handles.samples_flag, 'String', '1');
2108 draw_data(hObject, eventdata, handles);
2109
2110 set(handles.enable_samples, 'Checked', 'on');
2111 set(handles.disable_samples, 'Checked', 'off');
2112
2113
2114
2115
2116
2117 function Evaluation_menu_CreateFcn(hObject, eventdata, handles)
2118
2119
2120 if ispc
2121 set(hObject,'BackgroundColor','white');
2122 else
2123 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
2124 end
2125
2126
2127
2128
2129
2130 function Evaluation_menu_Callback(hObject, eventdata, handles)
2131
2132 contents = get(hObject,'String');
2133 if (strcmp(contents{get(hObject,'Value')},'Determinant')),
2134 set(handles.show_target_option, 'Enable', 'off');
2135 set(handles.show_registration_target, 'Enable', 'off');
2136 set(handles.show_registration_target, 'Value', 0);
2137 set(handles.show_target_option, 'Value', 0);
2138 set(handles.show_target, 'String', '0');
2139 set(handles.show_registration_target_flag, 'String', '0');
2140 set(handles.determinant, 'String', '1');
2141 elseif (strcmp(contents{get(hObject,'Value')},'MDL')),
2142 set(handles.show_target_option, 'Enable', 'off');
2143 set(handles.show_registration_target, 'Enable', 'off');
2144 set(handles.show_registration_target, 'Value', 0);
2145 set(handles.show_target_option, 'Value', 0);
2146 set(handles.show_target, 'String', '0');
2147 set(handles.show_registration_target_flag, 'String', '0');
2148 set(handles.determinant, 'String', '0');
2149 elseif (strcmp(contents{get(hObject,'Value')},'Sum Log Eigenvalues')),
2150 set(handles.determinant, 'String', '2');
2151 set(handles.show_target_option, 'Enable', 'on');
2152 set(handles.show_registration_target, 'Enable', 'on');
2153 elseif (strcmp(contents{get(hObject,'Value')},'Specificity')),
2154 set(handles.show_target_option, 'Enable', 'off');
2155 set(handles.show_registration_target, 'Enable', 'off');
2156 set(handles.show_registration_target, 'Value', 0);
2157 set(handles.show_target_option, 'Value', 0);
2158 set(handles.show_target, 'String', '0');
2159 set(handles.show_registration_target_flag, 'String', '0');
2160 set(handles.determinant, 'String', '3');
2161 elseif (strcmp(contents{get(hObject,'Value')},'Generalisability')),
2162 set(handles.show_target_option, 'Enable', 'off');
2163 set(handles.show_registration_target, 'Enable', 'off');
2164 set(handles.show_registration_target, 'Value', 0);
2165 set(handles.show_target_option, 'Value', 0);
2166 set(handles.show_target, 'String', '0');
2167 set(handles.show_registration_target_flag, 'String', '0');
2168 set(handles.determinant, 'String', '4');
2169 else
2170 msgbox('Error with menu callback');
2171 end
2172
2173
2174
2175
2176
2177
2178 function PDF_CreateFcn(hObject, eventdata, handles)
2179
2180 if ispc
2181 set(hObject,'BackgroundColor','white');
2182 else
2183 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
2184 end
2185
2186
2187
2188
2189
2190
2191 function PDF_Callback(hObject, eventdata, handles)
2192
2193 contents = get(hObject,'String');
2194
2195 if (strcmp(contents{get(hObject,'Value')},'Exponential')),
2196 set(handles.pdf, 'String', 'Exponential');
2197 elseif (strcmp(contents{get(hObject,'Value')},'Poisson')),
2198 set(handles.pdf, 'String', 'Poisson');
2199 elseif (strcmp(contents{get(hObject,'Value')},'Normal')),
2200 set(handles.pdf, 'String', 'Normal');
2201 elseif (strcmp(contents{get(hObject,'Value')},'Beta')),
2202 set(handles.pdf, 'String', 'Beta');
2203 elseif (strcmp(contents{get(hObject,'Value')},'Binomial')),
2204 set(handles.pdf, 'String', 'Binomial');
2205 elseif (strcmp(contents{get(hObject,'Value')},'Chisquare')),
2206 set(handles.pdf, 'String', 'Chisquare');
2207 elseif (strcmp(contents{get(hObject,'Value')},'F')),
2208 set(handles.pdf, 'String', 'F');
2209 elseif (strcmp(contents{get(hObject,'Value')},'Gamma')),
2210 set(handles.pdf, 'String', 'Gamma');
2211 elseif (strcmp(contents{get(hObject,'Value')},'Geometric')),
2212 set(handles.pdf, 'String', 'Geometric');
2213 elseif (strcmp(contents{get(hObject,'Value')},'Hypergeometric')),
2214 set(handles.pdf, 'String', 'Hypergeometric');
2215 elseif (strcmp(contents{get(hObject,'Value')},'Lognormal')),
2216 set(handles.pdf, 'String', 'Lognormal');
2217 elseif (strcmp(contents{get(hObject,'Value')},'Negative Binomial')),
2218 set(handles.pdf, 'String', 'Negative Binomial');
2219 elseif (strcmp(contents{get(hObject,'Value')},'Noncentral F')),
2220 set(handles.pdf, 'String', 'Noncentral F');
2221 elseif (strcmp(contents{get(hObject,'Value')},'Noncentral t')),
2222 set(handles.pdf, 'String', 'Noncentral t');
2223 elseif (strcmp(contents{get(hObject,'Value')},'Noncentral Chi-square')),
2224 set(handles.pdf, 'String', 'Noncentral Chi-square');
2225 elseif (strcmp(contents{get(hObject,'Value')},'Rayleigh')),
2226 set(handles.pdf, 'String', 'Rayleigh');
2227 elseif (strcmp(contents{get(hObject,'Value')},'T')),
2228 set(handles.pdf, 'String', 'T');
2229 elseif (strcmp(contents{get(hObject,'Value')},'Uniform')),
2230 set(handles.pdf, 'String', 'Uniform');
2231 elseif (strcmp(contents{get(hObject,'Value')},'Discrete Uniform')),
2232 set(handles.pdf, 'String', 'Discrete Uniform');
2233 elseif (strcmp(contents{get(hObject,'Value')},'Weibull')),
2234 set(handles.pdf, 'String', 'Weibull');
2235 else
2236 msgbox('Error with menu callback. Parameter passed is not recognised.');
2237 end
2238
2239
2240
2241
2242 function Save_Callback(hObject, eventdata, handles)
2243
2244
2245
2246
2247
2248
2249 function save_handle_Callback(hObject, eventdata, handles)
2250
2251 set(handles.save_data, 'String', '1');
2252 set(handles.save_handle, 'Checked', 'on');
2253 set(handles.disable_save, 'Checked', 'off');
2254 set(handles.export_default, 'Checked', 'off');
2255
2256
2257
2258 function disable_save_Callback(hObject, eventdata, handles)
2259
2260 set(handles.save_data, 'String', '0');
2261 set(handles.disable_save, 'Checked', 'on');
2262 set(handles.save_handle, 'Checked', 'off');
2263 set(handles.export_default, 'Checked', 'off');
2264
2265
2266
2267
2268 function advanced_Callback(hObject, eventdata, handles)
2269
2270 advanced;
2271
2272
2273
2274
2275
2276
2277 function open_Callback(hObject, eventdata, handles)
2278
2279
2280 function generate_simple_bump_Callback(hObject, eventdata, handles)
2281
2282 set(handles.open_flat, 'Checked', 'off');
2283 set(handles.open_disable, 'Checked', 'off');
2284 set(handles.handle_open, 'Checked', 'off');
2285 set(handles.open_default, 'Checked', 'off');
2286 set(handles.open_plain, 'Checked', 'off');
2287 set(handles.open_plainran, 'Checked', 'off');
2288 set(handles.ellipse, 'Checked', 'off');
2289 set(handles.generate_simple_bump, 'Checked', 'on');
2290 set(handles.load_data, 'String', '7');
2291
2292 function ellipse_Callback(hObject, eventdata, handles)
2293
2294 set(handles.open_flat, 'Checked', 'off');
2295 set(handles.open_disable, 'Checked', 'off');
2296 set(handles.handle_open, 'Checked', 'off');
2297 set(handles.open_default, 'Checked', 'off');
2298 set(handles.open_plain, 'Checked', 'off');
2299 set(handles.open_plainran, 'Checked', 'off');
2300 set(handles.ellipse, 'Checked', 'on');
2301 set(handles.generate_simple_bump, 'Checked', 'off');
2302 set(handles.load_data, 'String', '6');
2303
2304
2305 function open_flat_Callback(hObject, eventdata, handles)
2306
2307 set(handles.open_flat, 'Checked', 'on');
2308 set(handles.open_disable, 'Checked', 'off');
2309 set(handles.handle_open, 'Checked', 'off');
2310 set(handles.open_default, 'Checked', 'off');
2311 set(handles.open_plain, 'Checked', 'off');
2312 set(handles.open_plainran, 'Checked', 'off');
2313 set(handles.ellipse, 'Checked', 'off');
2314 set(handles.generate_simple_bump, 'Checked', 'off');
2315 set(handles.load_data, 'String', '3');
2316
2317
2318 function open_default_Callback(hObject, eventdata, handles)
2319
2320
2321 set(handles.load_data, 'String', '2');
2322 set(handles.handle_open, 'Checked', 'off');
2323 set(handles.open_disable, 'Checked', 'off');
2324 set(handles.open_default, 'Checked', 'on');
2325 set(handles.open_plain, 'Checked', 'off');
2326 set(handles.open_plainran, 'Checked', 'off');
2327 set(handles.ellipse, 'Checked', 'off');
2328 set(handles.generate_simple_bump, 'Checked', 'off');
2329 set(handles.open_flat, 'Checked', 'off');
2330
2331
2332
2333 function open_disable_Callback(hObject, eventdata, handles)
2334
2335 set(handles.load_data, 'String', '0');
2336 set(handles.open_disable, 'Checked', 'on');
2337 set(handles.handle_open, 'Checked', 'off');
2338 set(handles.generate_simple_bump, 'Checked', 'off');
2339 set(handles.open_default, 'Checked', 'off');
2340 set(handles.open_plain, 'Checked', 'off');
2341 set(handles.open_plainran, 'Checked', 'off');
2342 set(handles.ellipse, 'Checked', 'off');
2343 set(handles.open_flat, 'Checked', 'off');
2344
2345
2346
2347
2348
2349 function handle_open_Callback(hObject, eventdata, handles)
2350
2351 set(handles.load_data, 'String', '1');
2352 set(handles.handle_open, 'Checked', 'on');
2353 set(handles.open_disable, 'Checked', 'off');
2354 set(handles.open_default, 'Checked', 'off');
2355 set(handles.open_plain, 'Checked', 'off');
2356 set(handles.open_plainran, 'Checked', 'off');
2357 set(handles.generate_simple_bump, 'Checked', 'off');
2358 set(handles.ellipse, 'Checked', 'off');
2359 set(handles.open_flat, 'Checked', 'off');
2360
2361
2362 function open_plain_Callback(hObject, eventdata, handles)
2363
2364 set(handles.load_data, 'String', '4');
2365 set(handles.handle_open, 'Checked', 'off');
2366 set(handles.open_disable, 'Checked', 'off');
2367 set(handles.open_default, 'Checked', 'off');
2368 set(handles.open_plain, 'Checked', 'on');
2369 set(handles.open_plainran, 'Checked', 'off');
2370 set(handles.generate_simple_bump, 'Checked', 'off');
2371 set(handles.open_flat, 'Checked', 'off');
2372
2373
2374 function open_plainran_Callback(hObject, eventdata, handles)
2375
2376 set(handles.load_data, 'String', '5');
2377 set(handles.handle_open, 'Checked', 'off');
2378 set(handles.open_disable, 'Checked', 'off');
2379 set(handles.open_default, 'Checked', 'off');
2380 set(handles.open_plain, 'Checked', 'off');
2381 set(handles.open_plainran, 'Checked', 'on');
2382 set(handles.generate_simple_bump, 'Checked', 'off');
2383 set(handles.ellipse, 'Checked', 'off');
2384 set(handles.open_flat, 'Checked', 'off');
2385
2386
2387 function save_bumps_Callback(hObject, eventdata, handles)
2388 if (str2num(get(handles.save_bumps_flag, 'String')) == 0),
2389 set(handles.save_bumps_flag, 'String', '1');
2390 set(handles.save_bumps, 'Checked', 'on');
2391 else
2392 set(handles.save_bumps_flag, 'String', '0');
2393 set(handles.save_bumps, 'Checked', 'off');
2394 end
2395
2396
2397
2398
2399
2400 function overlap_scores_option_Callback(hObject, eventdata, handles)
2401
2402
2403 if (get(handles.overlap_scores_option,'Value') == 0),
2404 set(handles.overlap_scores_option, 'Value', 0);
2405 set(handles.overlap_scores, 'String', '0');
2406 else
2407 set(handles.overlap_scores_option, 'Value', 1);
2408 set(handles.overlap_scores, 'String', '1');
2409 end
2410
2411
2412
2413 function show_target_option_Callback(hObject, eventdata, handles)
2414
2415 if (get(handles.show_target_option,'Value') == 0),
2416 set(handles.show_target_option, 'Value', 0);
2417 set(handles.show_target, 'String', '0');
2418 else
2419 set(handles.show_target_option, 'Value', 1);
2420 set(handles.show_target, 'String', '1');
2421 end
2422
2423
2424
2425
2426 function export_Callback(hObject, eventdata, handles)
2427
2428
2429
2430
2431 function format_selection_Callback(hObject, eventdata, handles)
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442 function png_Callback(hObject, eventdata, handles)
2443
2444 set(handles.format, 'String', 'png');
2445
2446 set(handles.png, 'Checked', 'on');
2447 set(handles.bmp, 'Checked', 'off');
2448 set(handles.tiff, 'Checked', 'off');
2449 set(handles.jpeg, 'Checked', 'off');
2450 set(handles.hdf, 'Checked', 'off');
2451 set(handles.pcx, 'Checked', 'off');
2452 set(handles.xwd, 'Checked', 'off');
2453 set(handles.ras, 'Checked', 'off');
2454 set(handles.pbm, 'Checked', 'off');
2455 set(handles.pgm, 'Checked', 'off');
2456 set(handles.ppm, 'Checked', 'off');
2457 set(handles.pnm, 'Checked', 'off');
2458
2459
2460
2461
2462
2463 function bmp_Callback(hObject, eventdata, handles)
2464
2465 set(handles.format, 'String', 'bmp');
2466
2467 set(handles.png, 'Checked', 'off');
2468 set(handles.bmp, 'Checked', 'on');
2469 set(handles.tiff, 'Checked', 'off');
2470 set(handles.jpeg, 'Checked', 'off');
2471 set(handles.hdf, 'Checked', 'off');
2472 set(handles.pcx, 'Checked', 'off');
2473 set(handles.xwd, 'Checked', 'off');
2474 set(handles.ras, 'Checked', 'off');
2475 set(handles.pbm, 'Checked', 'off');
2476 set(handles.pgm, 'Checked', 'off');
2477 set(handles.ppm, 'Checked', 'off');
2478 set(handles.pnm, 'Checked', 'off');
2479
2480
2481
2482
2483 function tiff_Callback(hObject, eventdata, handles)
2484
2485 set(handles.format, 'String', 'tiff');
2486
2487 set(handles.png, 'Checked', 'off');
2488 set(handles.bmp, 'Checked', 'off');
2489 set(handles.tiff, 'Checked', 'on');
2490 set(handles.jpeg, 'Checked', 'off');
2491 set(handles.hdf, 'Checked', 'off');
2492 set(handles.pcx, 'Checked', 'off');
2493 set(handles.xwd, 'Checked', 'off');
2494 set(handles.ras, 'Checked', 'off');
2495 set(handles.pbm, 'Checked', 'off');
2496 set(handles.pgm, 'Checked', 'off');
2497 set(handles.ppm, 'Checked', 'off');
2498 set(handles.pnm, 'Checked', 'off');
2499
2500
2501
2502
2503
2504 function jpeg_Callback(hObject, eventdata, handles)
2505
2506 set(handles.format, 'String', 'jpeg');
2507
2508 set(handles.png, 'Checked', 'off');
2509 set(handles.bmp, 'Checked', 'off');
2510 set(handles.tiff, 'Checked', 'off');
2511 set(handles.jpeg, 'Checked', 'on');
2512 set(handles.hdf, 'Checked', 'off');
2513 set(handles.pcx, 'Checked', 'off');
2514 set(handles.xwd, 'Checked', 'off');
2515 set(handles.ras, 'Checked', 'off');
2516 set(handles.pbm, 'Checked', 'off');
2517 set(handles.pgm, 'Checked', 'off');
2518 set(handles.ppm, 'Checked', 'off');
2519 set(handles.pnm, 'Checked', 'off');
2520
2521
2522
2523
2524
2525 function hdf_Callback(hObject, eventdata, handles)
2526
2527 set(handles.format, 'String', 'hdf');
2528
2529 set(handles.png, 'Checked', 'off');
2530 set(handles.bmp, 'Checked', 'off');
2531 set(handles.tiff, 'Checked', 'off');
2532 set(handles.jpeg, 'Checked', 'off');
2533 set(handles.hdf, 'Checked', 'on');
2534 set(handles.pcx, 'Checked', 'off');
2535 set(handles.xwd, 'Checked', 'off');
2536 set(handles.ras, 'Checked', 'off');
2537 set(handles.pbm, 'Checked', 'off');
2538 set(handles.pgm, 'Checked', 'off');
2539 set(handles.ppm, 'Checked', 'off');
2540 set(handles.pnm, 'Checked', 'off');
2541
2542
2543
2544
2545 function pcx_Callback(hObject, eventdata, handles)
2546
2547 set(handles.format, 'String', 'pcx');
2548
2549 set(handles.png, 'Checked', 'off');
2550 set(handles.bmp, 'Checked', 'off');
2551 set(handles.tiff, 'Checked', 'off');
2552 set(handles.jpeg, 'Checked', 'off');
2553 set(handles.hdf, 'Checked', 'off');
2554 set(handles.pcx, 'Checked', 'on');
2555 set(handles.xwd, 'Checked', 'off');
2556 set(handles.ras, 'Checked', 'off');
2557 set(handles.pbm, 'Checked', 'off');
2558 set(handles.pgm, 'Checked', 'off');
2559 set(handles.ppm, 'Checked', 'off');
2560 set(handles.pnm, 'Checked', 'off');
2561
2562
2563
2564
2565 function xwd_Callback(hObject, eventdata, handles)
2566
2567 set(handles.format, 'String', 'xwd');
2568
2569 set(handles.png, 'Checked', 'off');
2570 set(handles.bmp, 'Checked', 'off');
2571 set(handles.tiff, 'Checked', 'off');
2572 set(handles.jpeg, 'Checked', 'off');
2573 set(handles.hdf, 'Checked', 'off');
2574 set(handles.pcx, 'Checked', 'off');
2575 set(handles.xwd, 'Checked', 'on');
2576 set(handles.ras, 'Checked', 'off');
2577 set(handles.pbm, 'Checked', 'off');
2578 set(handles.pgm, 'Checked', 'off');
2579 set(handles.ppm, 'Checked', 'off');
2580 set(handles.pnm, 'Checked', 'off');
2581
2582
2583
2584
2585 function ras_Callback(hObject, eventdata, handles)
2586
2587 set(handles.format, 'String', 'ras');
2588
2589 set(handles.png, 'Checked', 'off');
2590 set(handles.bmp, 'Checked', 'off');
2591 set(handles.tiff, 'Checked', 'off');
2592 set(handles.jpeg, 'Checked', 'off');
2593 set(handles.hdf, 'Checked', 'off');
2594 set(handles.pcx, 'Checked', 'off');
2595 set(handles.xwd, 'Checked', 'off');
2596 set(handles.ras, 'Checked', 'on');
2597 set(handles.pbm, 'Checked', 'off');
2598 set(handles.pgm, 'Checked', 'off');
2599 set(handles.ppm, 'Checked', 'off');
2600 set(handles.pnm, 'Checked', 'off');
2601
2602
2603
2604
2605 function pbm_Callback(hObject, eventdata, handles)
2606
2607 set(handles.format, 'String', 'pbm');
2608
2609 set(handles.png, 'Checked', 'off');
2610 set(handles.bmp, 'Checked', 'off');
2611 set(handles.tiff, 'Checked', 'off');
2612 set(handles.jpeg, 'Checked', 'off');
2613 set(handles.hdf, 'Checked', 'off');
2614 set(handles.pcx, 'Checked', 'off');
2615 set(handles.xwd, 'Checked', 'off');
2616 set(handles.ras, 'Checked', 'off');
2617 set(handles.pbm, 'Checked', 'on');
2618 set(handles.pgm, 'Checked', 'off');
2619 set(handles.ppm, 'Checked', 'off');
2620 set(handles.pnm, 'Checked', 'off');
2621
2622
2623
2624
2625 function pgm_Callback(hObject, eventdata, handles)
2626
2627 set(handles.format, 'String', 'pgm');
2628
2629 set(handles.png, 'Checked', 'off');
2630 set(handles.bmp, 'Checked', 'off');
2631 set(handles.tiff, 'Checked', 'off');
2632 set(handles.jpeg, 'Checked', 'off');
2633 set(handles.hdf, 'Checked', 'off');
2634 set(handles.pcx, 'Checked', 'off');
2635 set(handles.xwd, 'Checked', 'off');
2636 set(handles.ras, 'Checked', 'off');
2637 set(handles.pbm, 'Checked', 'off');
2638 set(handles.pgm, 'Checked', 'on');
2639 set(handles.ppm, 'Checked', 'off');
2640 set(handles.pnm, 'Checked', 'off');
2641
2642
2643
2644
2645 function ppm_Callback(hObject, eventdata, handles)
2646
2647
2648 set(handles.format, 'String', 'ppm');
2649
2650 set(handles.png, 'Checked', 'off');
2651 set(handles.bmp, 'Checked', 'off');
2652 set(handles.tiff, 'Checked', 'off');
2653 set(handles.jpeg, 'Checked', 'off');
2654 set(handles.hdf, 'Checked', 'off');
2655 set(handles.pcx, 'Checked', 'off');
2656 set(handles.xwd, 'Checked', 'off');
2657 set(handles.ras, 'Checked', 'off');
2658 set(handles.pbm, 'Checked', 'off');
2659 set(handles.pgm, 'Checked', 'off');
2660 set(handles.ppm, 'Checked', 'on');
2661 set(handles.pnm, 'Checked', 'off');
2662
2663
2664
2665
2666 function pnm_Callback(hObject, eventdata, handles)
2667
2668 set(handles.format, 'String', 'pnm');
2669
2670 set(handles.png, 'Checked', 'off');
2671 set(handles.bmp, 'Checked', 'off');
2672 set(handles.tiff, 'Checked', 'off');
2673 set(handles.jpeg, 'Checked', 'off');
2674 set(handles.hdf, 'Checked', 'off');
2675 set(handles.pcx, 'Checked', 'off');
2676 set(handles.xwd, 'Checked', 'off');
2677 set(handles.ras, 'Checked', 'off');
2678 set(handles.pbm, 'Checked', 'off');
2679 set(handles.pgm, 'Checked', 'off');
2680 set(handles.ppm, 'Checked', 'off');
2681 set(handles.pnm, 'Checked', 'on');
2682
2683
2684
2685
2686
2687 function compression_CreateFcn(hObject, eventdata, handles)
2688
2689 if ispc
2690 set(hObject,'BackgroundColor','white');
2691 else
2692 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
2693 end
2694
2695
2696
2697
2698
2699 function compression_Callback(hObject, eventdata, handles)
2700
2701 contents = get(hObject,'String');
2702
2703 if (strcmp(contents{get(hObject,'Value')},'Daubechy')),
2704 set(handles.filter_type, 'String', 'db1');
2705 elseif (strcmp(contents{get(hObject,'Value')},'Haar')),
2706 set(handles.filter_type, 'String', 'haar');
2707 elseif (strcmp(contents{get(hObject,'Value')},'Coiflet')),
2708 set(handles.filter_type, 'String', 'coif1');
2709 elseif (strcmp(contents{get(hObject,'Value')},'Symlet')),
2710 set(handles.filter_type, 'String', 'sym2');
2711 elseif (strcmp(contents{get(hObject,'Value')},'Meyer')),
2712 set(handles.filter_type, 'String', 'dmey');
2713 elseif (strcmp(contents{get(hObject,'Value')},'Biorthogonal')),
2714 set(handles.filter_type, 'String', 'bior1.1');
2715 elseif (strcmp(contents{get(hObject,'Value')},'Reverse Biorthogonal')),
2716 set(handles.filter_type, 'String', 'rbio1.1');
2717 else
2718 msgbox('Error with menu callback. Parameter passed is not recognised.');
2719 end
2720
2721
2722
2723
2724
2725 function compression_level_CreateFcn(hObject, eventdata, handles)
2726
2727 if ispc
2728 set(hObject,'BackgroundColor','white');
2729 else
2730 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
2731 end
2732
2733
2734
2735
2736
2737 function compression_level_Callback(hObject, eventdata, handles)
2738
2739
2740 contents = get(hObject,'String');
2741
2742 if (strcmp(contents{get(hObject,'Value')},'1')),
2743 set(handles.level, 'String', '1');
2744 elseif (strcmp(contents{get(hObject,'Value')},'2')),
2745 set(handles.level, 'String', '2');
2746 elseif (strcmp(contents{get(hObject,'Value')},'3')),
2747 set(handles.level, 'String', '3');
2748 elseif (strcmp(contents{get(hObject,'Value')},'4')),
2749 set(handles.level, 'String', '4');
2750 elseif (strcmp(contents{get(hObject,'Value')},'5')),
2751 set(handles.level, 'String', '5');
2752 elseif (strcmp(contents{get(hObject,'Value')},'6')),
2753 set(handles.level, 'String', '6');
2754 elseif (strcmp(contents{get(hObject,'Value')},'7')),
2755 set(handles.level, 'String', '7');
2756 elseif (strcmp(contents{get(hObject,'Value')},'8')),
2757 set(handles.level, 'String', '8');
2758 elseif (strcmp(contents{get(hObject,'Value')},'9')),
2759 set(handles.level, 'String', '9');
2760 elseif (strcmp(contents{get(hObject,'Value')},'10')),
2761 set(handles.level, 'String', '10');
2762 else
2763 msgbox('Error with menu callback. Parameter passed is not recognised.');
2764 end
2765
2766
2767
2768
2769
2770
2771
2772 function joint_msd_option_Callback(hObject, eventdata, handles)
2773
2774 set(handles.sequential_mi_option_menu, 'Checked', 'off');
2775 set(handles.sequential_nmi_option_menu, 'Checked', 'off');
2776 set(handles.joint_msd_option_menu, 'Checked', 'on');
2777 set(handles.joint_model_option_menu, 'Checked', 'off');
2778 set(handles.sequential_msd_option_menu, 'Checked', 'off');
2779 set(handles.sequential_model_option_menu, 'Checked', 'off');
2780 set(handles.mixed_msd_model_option_menu, 'Checked', 'off');
2781 set(handles.model_post_msd_option_menu, 'Checked', 'off');
2782 set(handles.joint_mi_option_menu, 'Checked', 'off');
2783 set(handles.joint_nmi_option_menu, 'Checked', 'off');
2784 set(handles.button_all_objective_functions_menu, 'Checked', 'off');
2785 set(handles.tfceccv_menu, 'Checked', 'off');
2786 set(handles.wavelet_option_menu, 'Checked', 'off');
2787 set(handles.model_pairs_menu, 'Checked', 'off');
2788 set(handles.seq_model_pairs_menu, 'Checked', 'off');
2789
2790 set(handles.sequential_mi_option, 'Value', 0);
2791 set(handles.sequential_nmi_option, 'Value', 0);
2792 set(handles.joint_msd_option, 'Value', 1);
2793 set(handles.joint_model_option, 'Value', 0);
2794 set(handles.sequential_msd_option, 'Value', 0);
2795 set(handles.sequential_model_option, 'Value', 0);
2796 set(handles.mixed_msd_model_option, 'Value', 0);
2797 set(handles.model_post_msd_option, 'Value', 0);
2798 set(handles.joint_mi_option, 'Value', 0);
2799 set(handles.joint_nmi_option, 'Value', 0);
2800 set(handles.button_all_objective_functions, 'Value', 0);
2801 set(handles.tfceccv, 'Value', 0);
2802 set(handles.wavelet_option, 'Value', 0);
2803
2804 set(handles.all_objective_functions, 'String', '0');
2805 set(handles.objective_function_display, 'String', 'msd_opt_together');
2806
2807 set(handles.PDF, 'Enable', 'off');
2808 set(handles.Kernel_title, 'Enable', 'off');
2809
2810 set(handles.overlap_scores_option, 'Enable', 'off');
2811
2812 set(handles.number_of_bins_text, 'Enable', 'off');
2813 set(handles.number_of_bins_slider, 'Enable', 'off');
2814 set(handles.number_of_bins, 'Enable', 'off');
2815
2816 set(handles.compression_type_title, 'Enable', 'off');
2817 set(handles.compression_level_title, 'Enable', 'off');
2818 set(handles.compression, 'Enable', 'off');
2819 set(handles.compression_level, 'Enable', 'off');
2820
2821
2822
2823
2824
2825 set(handles.force_reference, 'String', '0');
2826 set(handles.force_reference_button, 'Value', 0);
2827
2828
2829 function joint_model_option_Callback(hObject, eventdata, handles)
2830
2831 set(handles.sequential_mi_option_menu, 'Checked', 'off');
2832 set(handles.sequential_nmi_option_menu, 'Checked', 'off');
2833 set(handles.joint_msd_option_menu, 'Checked', 'off');
2834 set(handles.joint_model_option_menu, 'Checked', 'on');
2835 set(handles.sequential_msd_option_menu, 'Checked', 'off');
2836 set(handles.sequential_model_option_menu, 'Checked', 'off');
2837 set(handles.mixed_msd_model_option_menu, 'Checked', 'off');
2838 set(handles.model_post_msd_option_menu, 'Checked', 'off');
2839 set(handles.joint_mi_option_menu, 'Checked', 'off');
2840 set(handles.joint_nmi_option_menu, 'Checked', 'off');
2841 set(handles.button_all_objective_functions_menu, 'Checked', 'off');
2842 set(handles.tfceccv_menu, 'Checked', 'off');
2843 set(handles.wavelet_option_menu, 'Checked', 'off');
2844 set(handles.model_pairs_menu, 'Checked', 'off');
2845 set(handles.seq_model_pairs_menu, 'Checked', 'off');
2846
2847
2848 set(handles.sequential_mi_option, 'Value', 0);
2849 set(handles.sequential_nmi_option, 'Value', 0);
2850 set(handles.mixed_msd_model_option, 'Value', 0);
2851 set(handles.model_post_msd_option, 'Value', 0);
2852 set(handles.joint_msd_option, 'Value', 0);
2853 set(handles.joint_model_option, 'Value', 1);
2854 set(handles.sequential_msd_option, 'Value', 0);
2855 set(handles.sequential_model_option, 'Value', 0);
2856 set(handles.joint_mi_option, 'Value', 0);
2857 set(handles.joint_nmi_option, 'Value', 0);
2858 set(handles.button_all_objective_functions, 'Value', 0);
2859 set(handles.tfceccv, 'Value', 0);
2860 set(handles.wavelet_option, 'Value', 0);
2861
2862 set(handles.all_objective_functions, 'String', '0');
2863 set(handles.objective_function_display, 'String', 'model_opt_together');
2864
2865 set(handles.PDF, 'Enable', 'off');
2866 set(handles.Kernel_title, 'Enable', 'off');
2867
2868 set(handles.overlap_scores_option, 'Enable', 'off');
2869
2870 set(handles.number_of_bins_text, 'Enable', 'off');
2871 set(handles.number_of_bins_slider, 'Enable', 'off');
2872 set(handles.number_of_bins, 'Enable', 'off');
2873
2874 set(handles.compression_type_title, 'Enable', 'off');
2875 set(handles.compression_level_title, 'Enable', 'off');
2876 set(handles.compression, 'Enable', 'off');
2877 set(handles.compression_level, 'Enable', 'off');
2878
2879
2880
2881 set(handles.force_reference, 'String', '1');
2882 set(handles.force_reference_button, 'Value', 1);
2883
2884
2885 function sequential_msd_option_Callback(hObject, eventdata, handles)
2886
2887 set(handles.sequential_mi_option_menu, 'Checked', 'off');
2888 set(handles.sequential_nmi_option_menu, 'Checked', 'off');
2889 set(handles.joint_msd_option_menu, 'Checked', 'off');
2890 set(handles.joint_model_option_menu, 'Checked', 'off');
2891 set(handles.sequential_msd_option_menu, 'Checked', 'on');
2892 set(handles.sequential_model_option_menu, 'Checked', 'off');
2893 set(handles.mixed_msd_model_option_menu, 'Checked', 'off');
2894 set(handles.model_post_msd_option_menu, 'Checked', 'off');
2895 set(handles.joint_mi_option_menu, 'Checked', 'off');
2896 set(handles.joint_nmi_option_menu, 'Checked', 'off');
2897 set(handles.button_all_objective_functions_menu, 'Checked', 'off');
2898 set(handles.tfceccv_menu, 'Checked', 'off');
2899 set(handles.wavelet_option_menu, 'Checked', 'off');
2900 set(handles.model_pairs_menu, 'Checked', 'off');
2901 set(handles.seq_model_pairs_menu, 'Checked', 'off');
2902
2903
2904 set(handles.mixed_msd_model_option, 'Value', 0);
2905 set(handles.model_post_msd_option, 'Value', 0);
2906 set(handles.joint_msd_option, 'Value', 0);
2907 set(handles.joint_model_option, 'Value', 0);
2908 set(handles.sequential_msd_option, 'Value', 1);
2909 set(handles.sequential_model_option, 'Value', 0);
2910 set(handles.sequential_mi_option, 'Value', 0);
2911 set(handles.sequential_nmi_option, 'Value', 0);
2912 set(handles.joint_mi_option, 'Value', 0);
2913 set(handles.joint_nmi_option, 'Value', 0);
2914 set(handles.tfceccv, 'Value', 0);
2915 set(handles.wavelet_option, 'Value', 0);
2916 set(handles.button_all_objective_functions, 'Value', 0);
2917
2918 set(handles.PDF, 'Enable', 'off');
2919 set(handles.Kernel_title, 'Enable', 'off');
2920
2921 set(handles.number_of_bins_text, 'Enable', 'off');
2922 set(handles.number_of_bins_slider, 'Enable', 'off');
2923 set(handles.number_of_bins, 'Enable', 'off');
2924
2925 set(handles.all_objective_functions, 'String', '0');
2926 set(handles.objective_function_display, 'String', 'msd_opt_separate');
2927
2928 set(handles.overlap_scores_option, 'Enable', 'off');
2929
2930 set(handles.compression_type_title, 'Enable', 'off');
2931 set(handles.compression_level_title, 'Enable', 'off');
2932 set(handles.compression, 'Enable', 'off');
2933 set(handles.compression_level, 'Enable', 'off');
2934
2935
2936
2937 set(handles.force_reference, 'String', '0');
2938 set(handles.force_reference_button, 'Value', 0);
2939
2940
2941
2942 function sequential_model_option_Callback(hObject, eventdata, handles)
2943
2944 set(handles.sequential_mi_option_menu, 'Checked', 'off');
2945 set(handles.sequential_nmi_option_menu, 'Checked', 'off');
2946 set(handles.joint_msd_option_menu, 'Checked', 'off');
2947 set(handles.joint_model_option_menu, 'Checked', 'off');
2948 set(handles.sequential_msd_option_menu, 'Checked', 'off');
2949 set(handles.sequential_model_option_menu, 'Checked', 'on');
2950 set(handles.mixed_msd_model_option_menu, 'Checked', 'off');
2951 set(handles.model_post_msd_option_menu, 'Checked', 'off');
2952 set(handles.joint_mi_option_menu, 'Checked', 'off');
2953 set(handles.joint_nmi_option_menu, 'Checked', 'off');
2954 set(handles.button_all_objective_functions_menu, 'Checked', 'off');
2955 set(handles.tfceccv_menu, 'Checked', 'off');
2956 set(handles.wavelet_option_menu, 'Checked', 'off');
2957 set(handles.model_pairs_menu, 'Checked', 'off');
2958 set(handles.seq_model_pairs_menu, 'Checked', 'off');
2959
2960
2961 set(handles.mixed_msd_model_option, 'Value', 0);
2962 set(handles.model_post_msd_option, 'Value', 0);
2963 set(handles.joint_msd_option, 'Value', 0);
2964 set(handles.joint_model_option, 'Value', 0);
2965 set(handles.sequential_msd_option, 'Value', 0);
2966 set(handles.sequential_model_option, 'Value', 1);
2967 set(handles.sequential_mi_option, 'Value', 0);
2968 set(handles.sequential_nmi_option, 'Value', 0);
2969 set(handles.joint_mi_option, 'Value', 0);
2970 set(handles.joint_nmi_option, 'Value', 0);
2971 set(handles.tfceccv, 'Value', 0);
2972 set(handles.wavelet_option, 'Value', 0);
2973 set(handles.button_all_objective_functions, 'Value', 0);
2974
2975 set(handles.PDF, 'Enable', 'off');
2976 set(handles.Kernel_title, 'Enable', 'off');
2977
2978 set(handles.number_of_bins_text, 'Enable', 'off');
2979 set(handles.number_of_bins_slider, 'Enable', 'off');
2980 set(handles.number_of_bins, 'Enable', 'off');
2981
2982 set(handles.all_objective_functions, 'String', '0');
2983 set(handles.objective_function_display, 'String', 'model_opt_separate');
2984 set(handles.overlap_scores_option, 'Enable', 'off');
2985
2986 set(handles.compression_type_title, 'Enable', 'off');
2987 set(handles.compression_level_title, 'Enable', 'off');
2988 set(handles.compression, 'Enable', 'off');
2989 set(handles.compression_level, 'Enable', 'off');
2990
2991
2992
2993 set(handles.force_reference, 'String', '1');
2994 set(handles.force_reference_button, 'Value', 1);
2995
2996
2997
2998
2999
3000
3001 function mixed_msd_model_option_Callback(hObject, eventdata, handles)
3002
3003 set(handles.sequential_mi_option_menu, 'Checked', 'off');
3004 set(handles.sequential_nmi_option_menu, 'Checked', 'off');
3005 set(handles.joint_msd_option_menu, 'Checked', 'off');
3006 set(handles.joint_model_option_menu, 'Checked', 'off');
3007 set(handles.sequential_msd_option_menu, 'Checked', 'off');
3008 set(handles.sequential_model_option_menu, 'Checked', 'off');
3009 set(handles.mixed_msd_model_option_menu, 'Checked', 'on');
3010 set(handles.model_post_msd_option_menu, 'Checked', 'off');
3011 set(handles.joint_mi_option_menu, 'Checked', 'off');
3012 set(handles.joint_nmi_option_menu, 'Checked', 'off');
3013 set(handles.button_all_objective_functions_menu, 'Checked', 'off');
3014 set(handles.tfceccv_menu, 'Checked', 'off');
3015 set(handles.wavelet_option_menu, 'Checked', 'off');
3016 set(handles.model_pairs_menu, 'Checked', 'off');
3017 set(handles.seq_model_pairs_menu, 'Checked', 'off');
3018
3019
3020 set(handles.sequential_mi_option, 'Value', 0);
3021 set(handles.sequential_nmi_option, 'Value', 0);
3022 set(handles.joint_msd_option, 'Value', 0);
3023 set(handles.joint_model_option, 'Value', 0);
3024 set(handles.sequential_msd_option, 'Value', 0);
3025 set(handles.sequential_model_option, 'Value', 0);
3026 set(handles.mixed_msd_model_option, 'Value', 1);
3027 set(handles.model_post_msd_option, 'Value', 0);
3028 set(handles.joint_mi_option, 'Value', 0);
3029 set(handles.joint_nmi_option, 'Value', 0);
3030 set(handles.tfceccv, 'Value', 0);
3031 set(handles.wavelet_option, 'Value', 0);
3032 set(handles.button_all_objective_functions, 'Value', 0);
3033
3034 set(handles.PDF, 'Enable', 'off');
3035 set(handles.Kernel_title, 'Enable', 'off');
3036
3037 set(handles.all_objective_functions, 'String', '0');
3038
3039 set(handles.objective_function_display, 'String', 'mixed_msd_model');
3040
3041 set(handles.overlap_scores_option, 'Enable', 'off');
3042
3043 set(handles.number_of_bins_text, 'Enable', 'off');
3044 set(handles.number_of_bins_slider, 'Enable', 'off');
3045 set(handles.number_of_bins, 'Enable', 'off');
3046
3047 set(handles.compression_type_title, 'Enable', 'off');
3048 set(handles.compression_level_title, 'Enable', 'off');
3049 set(handles.compression, 'Enable', 'off');
3050 set(handles.compression_level, 'Enable', 'off');
3051
3052
3053
3054 set(handles.force_reference, 'String', '0');
3055 set(handles.force_reference_button, 'Value', 0);
3056
3057
3058
3059 function model_post_msd_option_Callback(hObject, eventdata, handles)
3060
3061 set(handles.sequential_mi_option_menu, 'Checked', 'off');
3062 set(handles.sequential_nmi_option_menu, 'Checked', 'off');
3063 set(handles.joint_msd_option_menu, 'Checked', 'off');
3064 set(handles.joint_model_option_menu, 'Checked', 'off');
3065 set(handles.sequential_msd_option_menu, 'Checked', 'off');
3066 set(handles.sequential_model_option_menu, 'Checked', 'off');
3067 set(handles.mixed_msd_model_option_menu, 'Checked', 'off');
3068 set(handles.model_post_msd_option_menu, 'Checked', 'on');
3069 set(handles.joint_mi_option_menu, 'Checked', 'off');
3070 set(handles.joint_nmi_option_menu, 'Checked', 'off');
3071 set(handles.button_all_objective_functions_menu, 'Checked', 'off');
3072 set(handles.tfceccv_menu, 'Checked', 'off');
3073 set(handles.wavelet_option_menu, 'Checked', 'off');
3074 set(handles.model_pairs_menu, 'Checked', 'off');
3075 set(handles.seq_model_pairs_menu, 'Checked', 'off');
3076
3077
3078 set(handles.sequential_mi_option, 'Value', 0);
3079 set(handles.sequential_nmi_option, 'Value', 0);
3080 set(handles.joint_msd_option, 'Value', 0);
3081 set(handles.joint_model_option, 'Value', 0);
3082 set(handles.sequential_msd_option, 'Value', 0);
3083 set(handles.sequential_model_option, 'Value', 0);
3084 set(handles.mixed_msd_model_option, 'Value', 0);
3085 set(handles.model_post_msd_option, 'Value', 1);
3086 set(handles.joint_mi_option, 'Value', 0);
3087 set(handles.joint_nmi_option, 'Value', 0);
3088 set(handles.tfceccv, 'Value', 0);
3089 set(handles.wavelet_option, 'Value', 0);
3090
3091 set(handles.button_all_objective_functions, 'Value', 0);
3092
3093 set(handles.all_objective_functions, 'String', '0');
3094
3095 set(handles.objective_function_display, 'String', 'model_post_msd');
3096
3097 set(handles.PDF, 'Enable', 'off');
3098 set(handles.Kernel_title, 'Enable', 'off');
3099
3100 set(handles.overlap_scores_option, 'Enable', 'off');
3101
3102 set(handles.number_of_bins_text, 'Enable', 'off');
3103 set(handles.number_of_bins_slider, 'Enable', 'off');
3104 set(handles.number_of_bins, 'Enable', 'off');
3105
3106 set(handles.compression_type_title, 'Enable', 'off');
3107 set(handles.compression_level_title, 'Enable', 'off');
3108 set(handles.compression, 'Enable', 'off');
3109 set(handles.compression_level, 'Enable', 'off');
3110
3111
3112
3113 set(handles.force_reference, 'String', '0');
3114 set(handles.force_reference_button, 'Value', 0);
3115
3116
3117 function joint_mi_option_Callback(hObject, eventdata, handles)
3118
3119 set(handles.sequential_mi_option_menu, 'Checked', 'off');
3120 set(handles.sequential_nmi_option_menu, 'Checked', 'off');
3121 set(handles.joint_msd_option_menu, 'Checked', 'off');
3122 set(handles.joint_model_option_menu, 'Checked', 'off');
3123 set(handles.sequential_msd_option_menu, 'Checked', 'off');
3124 set(handles.sequential_model_option_menu, 'Checked', 'off');
3125 set(handles.mixed_msd_model_option_menu, 'Checked', 'off');
3126 set(handles.model_post_msd_option_menu, 'Checked', 'off');
3127 set(handles.joint_mi_option_menu, 'Checked', 'on');
3128 set(handles.joint_nmi_option_menu, 'Checked', 'off');
3129 set(handles.button_all_objective_functions_menu, 'Checked', 'off');
3130 set(handles.tfceccv_menu, 'Checked', 'off');
3131 set(handles.wavelet_option_menu, 'Checked', 'off');
3132 set(handles.model_pairs_menu, 'Checked', 'off');
3133 set(handles.seq_model_pairs_menu, 'Checked', 'off');
3134
3135
3136 set(handles.sequential_mi_option, 'Value', 0);
3137 set(handles.sequential_nmi_option, 'Value', 0);
3138 set(handles.joint_msd_option, 'Value', 0);
3139 set(handles.joint_model_option, 'Value', 0);
3140 set(handles.sequential_msd_option, 'Value', 0);
3141 set(handles.sequential_model_option, 'Value', 0);
3142 set(handles.mixed_msd_model_option, 'Value', 0);
3143 set(handles.model_post_msd_option, 'Value', 0);
3144 set(handles.joint_mi_option, 'Value', 1);
3145 set(handles.joint_nmi_option, 'Value', 0);
3146 set(handles.tfceccv, 'Value', 0);
3147 set(handles.wavelet_option, 'Value', 0);
3148 set(handles.button_all_objective_functions, 'Value', 0);
3149
3150 set(handles.all_objective_functions, 'String', '0');
3151
3152 set(handles.number_of_bins_text, 'Enable', 'on');
3153 set(handles.number_of_bins_slider, 'Enable', 'on');
3154 set(handles.number_of_bins, 'Enable', 'on');
3155
3156 set(handles.PDF, 'Enable', 'off');
3157 set(handles.Kernel_title, 'Enable', 'off');
3158
3159 set(handles.objective_function_display, 'String', 'mi_opt_together');
3160
3161 set(handles.overlap_scores_option, 'Enable', 'off');
3162
3163 set(handles.compression_type_title, 'Enable', 'off');
3164 set(handles.compression_level_title, 'Enable', 'off');
3165 set(handles.compression, 'Enable', 'off');
3166 set(handles.compression_level, 'Enable', 'off');
3167
3168
3169
3170 set(handles.force_reference, 'String', '0');
3171 set(handles.force_reference_button, 'Value', 0);
3172
3173
3174
3175 function joint_nmi_option_Callback(hObject, eventdata, handles)
3176
3177 set(handles.sequential_mi_option_menu, 'Checked', 'off');
3178 set(handles.sequential_nmi_option_menu, 'Checked', 'off');
3179 set(handles.joint_msd_option_menu, 'Checked', 'off');
3180 set(handles.joint_model_option_menu, 'Checked', 'off');
3181 set(handles.sequential_msd_option_menu, 'Checked', 'off');
3182 set(handles.sequential_model_option_menu, 'Checked', 'off');
3183 set(handles.mixed_msd_model_option_menu, 'Checked', 'off');
3184 set(handles.model_post_msd_option_menu, 'Checked', 'off');
3185 set(handles.joint_mi_option_menu, 'Checked', 'off');
3186 set(handles.joint_nmi_option_menu, 'Checked', 'on');
3187 set(handles.button_all_objective_functions_menu, 'Checked', 'off');
3188 set(handles.tfceccv_menu, 'Checked', 'off');
3189 set(handles.wavelet_option_menu, 'Checked', 'off');
3190 set(handles.model_pairs_menu, 'Checked', 'off');
3191 set(handles.seq_model_pairs_menu, 'Checked', 'off');
3192
3193
3194 set(handles.sequential_mi_option, 'Value', 0);
3195 set(handles.sequential_nmi_option, 'Value', 0);
3196 set(handles.joint_msd_option, 'Value', 0);
3197 set(handles.joint_model_option, 'Value', 0);
3198 set(handles.sequential_msd_option, 'Value', 0);
3199 set(handles.sequential_model_option, 'Value', 0);
3200 set(handles.mixed_msd_model_option, 'Value', 0);
3201 set(handles.model_post_msd_option, 'Value', 0);
3202 set(handles.joint_mi_option, 'Value', 0);
3203 set(handles.joint_nmi_option, 'Value', 1);
3204 set(handles.tfceccv, 'Value', 0);
3205 set(handles.wavelet_option, 'Value', 0);
3206 set(handles.button_all_objective_functions, 'Value', 0);
3207
3208 set(handles.all_objective_functions, 'String', '0');
3209
3210 set(handles.PDF, 'Enable', 'off');
3211 set(handles.Kernel_title, 'Enable', 'off');
3212
3213 set(handles.objective_function_display, 'String', 'nmi_opt_together');
3214
3215 set(handles.overlap_scores_option, 'Enable', 'off');
3216
3217 set(handles.number_of_bins_text, 'Enable', 'on');
3218 set(handles.number_of_bins_slider, 'Enable', 'on');
3219 set(handles.number_of_bins, 'Enable', 'on');
3220
3221 set(handles.compression_type_title, 'Enable', 'off');
3222 set(handles.compression_level_title, 'Enable', 'off');
3223 set(handles.compression, 'Enable', 'off');
3224 set(handles.compression_level, 'Enable', 'off');
3225
3226
3227
3228 set(handles.force_reference, 'String', '0');
3229 set(handles.force_reference_button, 'Value', 0);
3230
3231
3232
3233 function tfceccv_Callback(hObject, eventdata, handles)
3234
3235 set(handles.sequential_mi_option_menu, 'Checked', 'off');
3236 set(handles.sequential_nmi_option_menu, 'Checked', 'off');
3237 set(handles.joint_msd_option_menu, 'Checked', 'off');
3238 set(handles.joint_model_option_menu, 'Checked', 'off');
3239 set(handles.sequential_msd_option_menu, 'Checked', 'off');
3240 set(handles.sequential_model_option_menu, 'Checked', 'off');
3241 set(handles.mixed_msd_model_option_menu, 'Checked', 'off');
3242 set(handles.model_post_msd_option_menu, 'Checked', 'off');
3243 set(handles.joint_mi_option_menu, 'Checked', 'off');
3244 set(handles.joint_nmi_option_menu, 'Checked', 'off');
3245 set(handles.button_all_objective_functions_menu, 'Checked', 'off');
3246 set(handles.tfceccv_menu, 'Checked', 'on');
3247 set(handles.wavelet_option_menu, 'Checked', 'off');
3248 set(handles.model_pairs_menu, 'Checked', 'off');
3249 set(handles.seq_model_pairs_menu, 'Checked', 'off');
3250
3251
3252 set(handles.sequential_mi_option, 'Value', 0);
3253 set(handles.sequential_nmi_option, 'Value', 0);
3254 set(handles.joint_msd_option, 'Value', 0);
3255 set(handles.joint_model_option, 'Value', 0);
3256 set(handles.sequential_msd_option, 'Value', 0);
3257 set(handles.sequential_model_option, 'Value', 0);
3258 set(handles.mixed_msd_model_option, 'Value', 0);
3259 set(handles.model_post_msd_option, 'Value', 0);
3260 set(handles.joint_mi_option, 'Value', 0);
3261 set(handles.joint_nmi_option, 'Value', 0);
3262 set(handles.tfceccv, 'Value', 1);
3263 set(handles.wavelet_option, 'Value', 0);
3264 set(handles.button_all_objective_functions, 'Value', 0);
3265
3266 set(handles.all_objective_functions, 'String', '0');
3267
3268 set(handles.objective_function_display, 'String', 'tfc_eccv');
3269
3270 set(handles.overlap_scores_option, 'Enable', 'off');
3271
3272 set(handles.PDF, 'Enable', 'on');
3273 set(handles.Kernel_title, 'Enable', 'on');
3274
3275 set(handles.number_of_bins_text, 'Enable', 'off');
3276 set(handles.number_of_bins_slider, 'Enable', 'off');
3277 set(handles.number_of_bins, 'Enable', 'off');
3278
3279 set(handles.compression_type_title, 'Enable', 'off');
3280 set(handles.compression_level_title, 'Enable', 'off');
3281 set(handles.compression, 'Enable', 'off');
3282 set(handles.compression_level, 'Enable', 'off');
3283
3284
3285
3286
3287 set(handles.force_reference, 'String', '1');
3288 set(handles.force_reference_button, 'Value', 1);
3289
3290
3291
3292 function button_all_objective_functions_Callback(hObject, eventdata, handles)
3293
3294 set(handles.sequential_mi_option_menu, 'Checked', 'off');
3295 set(handles.sequential_nmi_option_menu, 'Checked', 'off');
3296 set(handles.joint_msd_option_menu, 'Checked', 'off');
3297 set(handles.joint_model_option_menu, 'Checked', 'off');
3298 set(handles.sequential_msd_option_menu, 'Checked', 'off');
3299 set(handles.sequential_model_option_menu, 'Checked', 'off');
3300 set(handles.mixed_msd_model_option_menu, 'Checked', 'off');
3301 set(handles.model_post_msd_option_menu, 'Checked', 'off');
3302 set(handles.joint_mi_option_menu, 'Checked', 'off');
3303 set(handles.joint_nmi_option_menu, 'Checked', 'off');
3304 set(handles.button_all_objective_functions_menu, 'Checked', 'on');
3305 set(handles.tfceccv_menu, 'Checked', 'off');
3306 set(handles.wavelet_option_menu, 'Checked', 'off');
3307 set(handles.model_pairs_menu, 'Checked', 'off');
3308 set(handles.seq_model_pairs_menu, 'Checked', 'off');
3309
3310
3311 set(handles.sequential_mi_option, 'Value', 0);
3312 set(handles.sequential_nmi_option, 'Value', 0);
3313 set(handles.joint_msd_option, 'Value', 0);
3314 set(handles.joint_model_option, 'Value', 0);
3315 set(handles.sequential_msd_option, 'Value', 0);
3316 set(handles.sequential_model_option, 'Value', 0);
3317 set(handles.mixed_msd_model_option, 'Value', 0);
3318 set(handles.model_post_msd_option, 'Value', 0);
3319 set(handles.joint_mi_option, 'Value', 0);
3320 set(handles.joint_nmi_option, 'Value', 0);
3321 set(handles.tfceccv, 'Value', 0);
3322 set(handles.wavelet_option, 'Value', 0);
3323 set(handles.button_all_objective_functions, 'Value', 1);
3324
3325 set(handles.all_objective_functions, 'String', '1');
3326 set(handles.objective_function_display, 'String', 'all');
3327
3328 set(handles.number_of_bins_text, 'Enable', 'off');
3329 set(handles.number_of_bins_slider, 'Enable', 'off');
3330 set(handles.number_of_bins, 'Enable', 'off');
3331
3332 set(handles.overlap_scores_option, 'Enable', 'on');
3333
3334 set(handles.compression_type_title, 'Enable', 'off');
3335 set(handles.compression_level_title, 'Enable', 'off');
3336 set(handles.compression, 'Enable', 'off');
3337 set(handles.compression_level, 'Enable', 'off');
3338
3339
3340
3341
3342 set(handles.force_reference, 'String', '0');
3343 set(handles.force_reference_button, 'Value', 0);
3344
3345
3346
3347 function sequential_mi_option_Callback(hObject, eventdata, handles)
3348
3349 set(handles.sequential_mi_option_menu, 'Checked', 'on');
3350 set(handles.sequential_nmi_option_menu, 'Checked', 'off');
3351 set(handles.joint_msd_option_menu, 'Checked', 'off');
3352 set(handles.joint_model_option_menu, 'Checked', 'off');
3353 set(handles.sequential_msd_option_menu, 'Checked', 'off');
3354 set(handles.sequential_model_option_menu, 'Checked', 'off');
3355 set(handles.mixed_msd_model_option_menu, 'Checked', 'off');
3356 set(handles.model_post_msd_option_menu, 'Checked', 'off');
3357 set(handles.joint_mi_option_menu, 'Checked', 'off');
3358 set(handles.joint_nmi_option_menu, 'Checked', 'off');
3359 set(handles.button_all_objective_functions_menu, 'Checked', 'off');
3360 set(handles.tfceccv_menu, 'Checked', 'off');
3361 set(handles.wavelet_option_menu, 'Checked', 'off');
3362 set(handles.model_pairs_menu, 'Checked', 'off');
3363 set(handles.seq_model_pairs_menu, 'Checked', 'off');
3364
3365
3366 set(handles.sequential_mi_option, 'Value', 1);
3367 set(handles.sequential_nmi_option, 'Value', 0);
3368 set(handles.joint_msd_option, 'Value', 0);
3369 set(handles.joint_model_option, 'Value', 0);
3370 set(handles.sequential_msd_option, 'Value', 0);
3371 set(handles.sequential_model_option, 'Value', 0);
3372 set(handles.mixed_msd_model_option, 'Value', 0);
3373 set(handles.model_post_msd_option, 'Value', 0);
3374 set(handles.joint_mi_option, 'Value', 0);
3375 set(handles.joint_nmi_option, 'Value', 0);
3376 set(handles.tfceccv, 'Value', 0);
3377 set(handles.wavelet_option, 'Value', 0);
3378 set(handles.button_all_objective_functions, 'Value', 0);
3379
3380 set(handles.all_objective_functions, 'String', '0');
3381
3382 set(handles.number_of_bins_text, 'Enable', 'on');
3383 set(handles.number_of_bins_slider, 'Enable', 'on');
3384 set(handles.number_of_bins, 'Enable', 'on');
3385
3386 set(handles.objective_function_display, 'String', 'mi_opt_separate');
3387
3388 set(handles.PDF, 'Enable', 'off');
3389 set(handles.Kernel_title, 'Enable', 'off');
3390
3391 set(handles.overlap_scores_option, 'Enable', 'off');
3392
3393 set(handles.compression_type_title, 'Enable', 'off');
3394 set(handles.compression_level_title, 'Enable', 'off');
3395 set(handles.compression, 'Enable', 'off');
3396 set(handles.compression_level, 'Enable', 'off');
3397
3398
3399
3400
3401 set(handles.force_reference, 'String', '0');
3402 set(handles.force_reference_button, 'Value', 0);
3403
3404
3405
3406 function sequential_nmi_option_Callback(hObject, eventdata, handles)
3407
3408 set(handles.sequential_mi_option_menu, 'Checked', 'off');
3409 set(handles.sequential_nmi_option_menu, 'Checked', 'on');
3410 set(handles.joint_msd_option_menu, 'Checked', 'off');
3411 set(handles.joint_model_option_menu, 'Checked', 'off');
3412 set(handles.sequential_msd_option_menu, 'Checked', 'off');
3413 set(handles.sequential_model_option_menu, 'Checked', 'off');
3414 set(handles.mixed_msd_model_option_menu, 'Checked', 'off');
3415 set(handles.model_post_msd_option_menu, 'Checked', 'off');
3416 set(handles.joint_mi_option_menu, 'Checked', 'off');
3417 set(handles.joint_nmi_option_menu, 'Checked', 'off');
3418 set(handles.button_all_objective_functions_menu, 'Checked', 'off');
3419 set(handles.tfceccv_menu, 'Checked', 'off');
3420 set(handles.wavelet_option_menu, 'Checked', 'off');
3421 set(handles.model_pairs_menu, 'Checked', 'off');
3422 set(handles.seq_model_pairs_menu, 'Checked', 'off');
3423
3424
3425 set(handles.sequential_mi_option, 'Value', 0);
3426 set(handles.sequential_nmi_option, 'Value', 1);
3427 set(handles.joint_msd_option, 'Value', 0);
3428 set(handles.joint_model_option, 'Value', 0);
3429 set(handles.sequential_msd_option, 'Value', 0);
3430 set(handles.sequential_model_option, 'Value', 0);
3431 set(handles.mixed_msd_model_option, 'Value', 0);
3432 set(handles.model_post_msd_option, 'Value', 0);
3433 set(handles.joint_mi_option, 'Value', 0);
3434 set(handles.joint_nmi_option, 'Value', 0);
3435 set(handles.tfceccv, 'Value', 0);
3436 set(handles.wavelet_option, 'Value', 0);
3437 set(handles.button_all_objective_functions, 'Value', 0);
3438
3439 set(handles.objective_function_display, 'String', 'nmi_opt_separate');
3440
3441 set(handles.all_objective_functions, 'String', '0');
3442
3443 set(handles.PDF, 'Enable', 'off');
3444 set(handles.Kernel_title, 'Enable', 'off');
3445
3446 set(handles.number_of_bins_text, 'Enable', 'on');
3447 set(handles.number_of_bins_slider, 'Enable', 'on');
3448 set(handles.number_of_bins, 'Enable', 'on');
3449
3450 set(handles.overlap_scores_option, 'Enable', 'off');
3451
3452 set(handles.compression_type_title, 'Enable', 'off');
3453 set(handles.compression_level_title, 'Enable', 'off');
3454 set(handles.compression, 'Enable', 'off');
3455 set(handles.compression_level, 'Enable', 'off');
3456
3457
3458
3459
3460
3461 set(handles.force_reference, 'String', '0');
3462 set(handles.force_reference_button, 'Value', 0);
3463
3464
3465
3466 function wavelet_option_Callback(hObject, eventdata, handles)
3467
3468 set(handles.sequential_mi_option_menu, 'Checked', 'off');
3469 set(handles.sequential_nmi_option_menu, 'Checked', 'off');
3470 set(handles.joint_msd_option_menu, 'Checked', 'off');
3471 set(handles.joint_model_option_menu, 'Checked', 'off');
3472 set(handles.sequential_msd_option_menu, 'Checked', 'off');
3473 set(handles.sequential_model_option_menu, 'Checked', 'off');
3474 set(handles.mixed_msd_model_option_menu, 'Checked', 'off');
3475 set(handles.model_post_msd_option_menu, 'Checked', 'off');
3476 set(handles.joint_mi_option_menu, 'Checked', 'off');
3477 set(handles.joint_nmi_option_menu, 'Checked', 'off');
3478 set(handles.button_all_objective_functions_menu, 'Checked', 'off');
3479 set(handles.tfceccv_menu, 'Checked', 'off');
3480 set(handles.wavelet_option_menu, 'Checked', 'on');
3481 set(handles.model_pairs_menu, 'Checked', 'off');
3482 set(handles.seq_model_pairs_menu, 'Checked', 'off');
3483
3484
3485 set(handles.sequential_mi_option, 'Value', 0);
3486 set(handles.sequential_nmi_option, 'Value', 0);
3487 set(handles.joint_msd_option, 'Value', 0);
3488 set(handles.joint_model_option, 'Value', 0);
3489 set(handles.sequential_msd_option, 'Value', 0);
3490 set(handles.sequential_model_option, 'Value', 0);
3491 set(handles.mixed_msd_model_option, 'Value', 0);
3492 set(handles.model_post_msd_option, 'Value', 0);
3493 set(handles.wavelet_option, 'Value', 1);
3494 set(handles.joint_mi_option, 'Value', 0);
3495 set(handles.joint_nmi_option, 'Value', 0);
3496 set(handles.tfceccv, 'Value', 0);
3497 set(handles.button_all_objective_functions, 'Value', 0);
3498
3499 set(handles.objective_function_display, 'String', 'wavelet_complexity');
3500
3501 set(handles.all_objective_functions, 'String', '0');
3502
3503 set(handles.number_of_bins_text, 'Enable', 'off');
3504 set(handles.number_of_bins_slider, 'Enable', 'off');
3505 set(handles.number_of_bins, 'Enable', 'off');
3506
3507 set(handles.PDF, 'Enable', 'off');
3508 set(handles.Kernel_title, 'Enable', 'off');
3509
3510 set(handles.overlap_scores_option, 'Enable', 'off');
3511
3512 set(handles.compression_type_title, 'Enable', 'on');
3513 set(handles.compression_level_title, 'Enable', 'on');
3514 set(handles.compression, 'Enable', 'on');
3515 set(handles.compression_level, 'Enable', 'on');
3516
3517
3518 set(handles.force_reference, 'String', '1');
3519 set(handles.force_reference_button, 'Value', 1);
3520
3521
3522
3523 function model_pairs_option_Callback(hObject, eventdata, handles)
3524
3525
3526 set(handles.sequential_mi_option_menu, 'Checked', 'off');
3527 set(handles.sequential_nmi_option_menu, 'Checked', 'off');
3528 set(handles.joint_msd_option_menu, 'Checked', 'off');
3529 set(handles.joint_model_option_menu, 'Checked', 'off');
3530 set(handles.sequential_msd_option_menu, 'Checked', 'off');
3531 set(handles.sequential_model_option_menu, 'Checked', 'off');
3532 set(handles.mixed_msd_model_option_menu, 'Checked', 'off');
3533 set(handles.model_post_msd_option_menu, 'Checked', 'off');
3534 set(handles.joint_mi_option_menu, 'Checked', 'off');
3535 set(handles.joint_nmi_option_menu, 'Checked', 'off');
3536 set(handles.button_all_objective_functions_menu, 'Checked', 'off');
3537 set(handles.tfceccv_menu, 'Checked', 'off');
3538 set(handles.wavelet_option_menu, 'Checked', 'off');
3539 set(handles.model_pairs_menu, 'Checked', 'on');
3540 set(handles.seq_model_pairs_menu, 'Checked', 'off');
3541
3542 set(handles.objective_function_display, 'String', 'model_pairs_together');
3543
3544
3545
3546
3547 set(handles.force_reference, 'String', '0');
3548 set(handles.force_reference_button, 'Value', 0);
3549
3550
3551 set(handles.sequential_mi_option, 'Value', 0);
3552 set(handles.sequential_nmi_option, 'Value', 0);
3553 set(handles.joint_msd_option, 'Value', 0);
3554 set(handles.joint_model_option, 'Value', 0);
3555 set(handles.sequential_msd_option, 'Value', 0);
3556 set(handles.sequential_model_option, 'Value', 0);
3557 set(handles.mixed_msd_model_option, 'Value', 0);
3558 set(handles.model_post_msd_option, 'Value', 0);
3559 set(handles.wavelet_option, 'Value', 0);
3560 set(handles.joint_mi_option, 'Value', 0);
3561 set(handles.joint_nmi_option, 'Value', 0);
3562 set(handles.tfceccv, 'Value', 0);
3563 set(handles.button_all_objective_functions, 'Value', 0);
3564
3565 set(handles.all_objective_functions, 'String', '0');
3566
3567 set(handles.number_of_bins_text, 'Enable', 'off');
3568 set(handles.number_of_bins_slider, 'Enable', 'off');
3569 set(handles.number_of_bins, 'Enable', 'off');
3570
3571 set(handles.PDF, 'Enable', 'off');
3572 set(handles.Kernel_title, 'Enable', 'off');
3573
3574 set(handles.overlap_scores_option, 'Enable', 'off');
3575
3576 set(handles.compression_type_title, 'Enable', 'off');
3577 set(handles.compression_level_title, 'Enable', 'off');
3578 set(handles.compression, 'Enable', 'off');
3579 set(handles.compression_level, 'Enable', 'off');
3580
3581
3582
3583
3584
3585 function seq_model_pairs_option_Callback(hObject, eventdata, handles)
3586
3587
3588 set(handles.sequential_mi_option_menu, 'Checked', 'off');
3589 set(handles.sequential_nmi_option_menu, 'Checked', 'off');
3590 set(handles.joint_msd_option_menu, 'Checked', 'off');
3591 set(handles.joint_model_option_menu, 'Checked', 'off');
3592 set(handles.sequential_msd_option_menu, 'Checked', 'off');
3593 set(handles.sequential_model_option_menu, 'Checked', 'off');
3594 set(handles.mixed_msd_model_option_menu, 'Checked', 'off');
3595 set(handles.model_post_msd_option_menu, 'Checked', 'off');
3596 set(handles.joint_mi_option_menu, 'Checked', 'off');
3597 set(handles.joint_nmi_option_menu, 'Checked', 'off');
3598 set(handles.button_all_objective_functions_menu, 'Checked', 'off');
3599 set(handles.tfceccv_menu, 'Checked', 'off');
3600 set(handles.wavelet_option_menu, 'Checked', 'off');
3601 set(handles.model_pairs_menu, 'Checked', 'off');
3602 set(handles.seq_model_pairs_menu, 'Checked', 'on');
3603
3604 set(handles.objective_function_display, 'String', 'model_pairs_separate');
3605
3606
3607
3608 set(handles.force_reference, 'String', '0');
3609 set(handles.force_reference_button, 'Value', 0);
3610
3611 set(handles.sequential_mi_option, 'Value', 0);
3612 set(handles.sequential_nmi_option, 'Value', 0);
3613 set(handles.joint_msd_option, 'Value', 0);
3614 set(handles.joint_model_option, 'Value', 0);
3615 set(handles.sequential_msd_option, 'Value', 0);
3616 set(handles.sequential_model_option, 'Value', 0);
3617 set(handles.mixed_msd_model_option, 'Value', 0);
3618 set(handles.model_post_msd_option, 'Value', 0);
3619 set(handles.wavelet_option, 'Value', 0);
3620 set(handles.joint_mi_option, 'Value', 0);
3621 set(handles.joint_nmi_option, 'Value', 0);
3622 set(handles.tfceccv, 'Value', 0);
3623 set(handles.button_all_objective_functions, 'Value', 0);
3624
3625 set(handles.all_objective_functions, 'String', '0');
3626
3627 set(handles.number_of_bins_text, 'Enable', 'off');
3628 set(handles.number_of_bins_slider, 'Enable', 'off');
3629 set(handles.number_of_bins, 'Enable', 'off');
3630
3631 set(handles.PDF, 'Enable', 'off');
3632 set(handles.Kernel_title, 'Enable', 'off');
3633
3634 set(handles.overlap_scores_option, 'Enable', 'off');
3635
3636 set(handles.compression_type_title, 'Enable', 'off');
3637 set(handles.compression_level_title, 'Enable', 'off');
3638 set(handles.compression, 'Enable', 'off');
3639 set(handles.compression_level, 'Enable', 'off');
3640
3641
3642
3643
3644
3645 function status_mode_menu_Callback(hObject, eventdata, handles)
3646
3647
3648
3649
3650
3651 function options_Callback(hObject, eventdata, handles)
3652
3653
3654
3655
3656 function parameters_menu_Callback(hObject, eventdata, handles)
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666 function hierarchical_text_menu_Callback(hObject, eventdata, handles)
3667
3668 set(handles.progress_bar_menu, 'Checked', 'off');
3669 set(handles.hierarchical_text_menu, 'Checked', 'on');
3670 set(handles.quiet_menu, 'Checked', 'off');
3671 set(handles.console_progress_bar, 'Checked', 'off');
3672
3673 set(handles.hierarchical_text, 'String', '0');
3674
3675
3676 function progress_bar_menu_Callback(hObject, eventdata, handles)
3677
3678 set(handles.progress_bar_menu, 'Checked', 'on');
3679 set(handles.hierarchical_text_menu, 'Checked', 'off');
3680 set(handles.quiet_menu, 'Checked', 'off');
3681 set(handles.console_progress_bar, 'Checked', 'off');
3682
3683 set(handles.hierarchical_text, 'String', '1');
3684
3685
3686
3687 function quiet_menu_Callback(hObject, eventdata, handles)
3688
3689 set(handles.progress_bar_menu, 'Checked', 'off');
3690 set(handles.hierarchical_text_menu, 'Checked', 'off');
3691 set(handles.quiet_menu, 'Checked', 'on');
3692 set(handles.console_progress_bar, 'Checked', 'off');
3693
3694 set(handles.hierarchical_text, 'String', '2');
3695
3696
3697
3698 function score_by_menu_CreateFcn(hObject, eventdata, handles)
3699
3700
3701 if ispc
3702 set(hObject,'BackgroundColor','white');
3703 else
3704 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
3705 end
3706
3707
3708
3709 function score_by_menu_Callback(hObject, eventdata, handles)
3710
3711
3712 function score_model_by_menu_CreateFcn(hObject, eventdata, handles)
3713
3714
3715 if ispc
3716 set(hObject,'BackgroundColor','white');
3717 else
3718 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
3719 end
3720
3721
3722
3723 function score_model_by_menu_Callback(hObject, eventdata, handles)
3724
3725 contents = get(hObject,'String');
3726
3727 if (strcmp(contents{get(hObject,'Value')},'Model Defaults')),
3728 set(handles.model_score_type, 'String', 'Default');
3729 elseif (strcmp(contents{get(hObject,'Value')},'Specificity')),
3730 set(handles.model_score_type, 'String', 'Specificity');
3731 elseif (strcmp(contents{get(hObject,'Value')},'Generalisability')),
3732 set(handles.model_score_type, 'String', 'Generalisability');
3733 elseif (strcmp(contents{get(hObject,'Value')},'Mean MSD')),
3734 set(handles.model_score_type, 'String', 'Mean MSD');
3735 elseif (strcmp(contents{get(hObject,'Value')},'All')),
3736 set(handles.model_score_type, 'String', 'All');
3737 else
3738 error('Wrong values passed from scoring method. Internal error.');
3739 end
3740
3741
3742
3743
3744 function Technical_Callback(hObject, eventdata, handles)
3745
3746
3747
3748 message = [['Autonomous Appearance-based Registration Test-bed '];
3749 ['Imaging Science and Biomedical Engineering '];
3750 ['Victoria University of Manchester '];
3751 ['Version ',[get_version],' '];
3752 [' '];
3753 ['Technical Page: '];
3754 [' '];
3755 ['http://www.danielsorogon.com/Webmaster/Research/NRR'];
3756 [' '];
3757 ['Experiments run on: '];
3758 [' '];
3759 [' eng037.cs.man.ac.uk; eng038.cs.man.ac.uk; '];
3760 [' eng040.cs.man.ac.uk; eng041.cs.man.ac.uk; '];
3761 [' eng042.cs.man.ac.uk; baine.smb.man.ac.uk. '];
3762 [' rs0.cs.man.ac.uk. '];
3763 [' '];
3764 ['Customised for Linux, MATLAB 6.5 Release 13 '];
3765 [' ']];
3766
3767
3768 msgbox(message ,'AART: Technical');
3769
3770
3771
3772
3773 function gen_slider_CreateFcn(hObject, eventdata, handles)
3774
3775
3776 usewhitebg = 1;
3777 if usewhitebg
3778 set(hObject,'BackgroundColor',[.9 .9 .9]);
3779 else
3780 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
3781 end
3782
3783
3784
3785
3786 function gen_slider_Callback(hObject, eventdata, handles)
3787
3788
3789 set(handles.gen_iters, 'String', num2str(ceil(get(handles.gen_slider, 'Value'))));
3790
3791
3792
3793
3794
3795 function spec_slider_CreateFcn(hObject, eventdata, handles)
3796
3797 usewhitebg = 1;
3798 if usewhitebg
3799 set(hObject,'BackgroundColor',[.9 .9 .9]);
3800 else
3801 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
3802 end
3803
3804
3805
3806
3807 function spec_slider_Callback(hObject, eventdata, handles)
3808
3809
3810 set(handles.spec_iters, 'String', num2str(ceil(get(handles.spec_slider, 'Value'))));
3811
3812
3813
3814
3815 function console_progress_bar_Callback(hObject, eventdata, handles)
3816
3817
3818 set(handles.progress_bar_menu, 'Checked', 'off');
3819 set(handles.hierarchical_text_menu, 'Checked', 'off');
3820 set(handles.quiet_menu, 'Checked', 'off');
3821 set(handles.console_progress_bar, 'Checked', 'on');
3822
3823 set(handles.hierarchical_text, 'String', '3');
3824
3825
3826
3827
3828 function warp_menu_CreateFcn(hObject, eventdata, handles)
3829
3830 if ispc
3831 set(hObject,'BackgroundColor','white');
3832 else
3833 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
3834 end
3835
3836
3837
3838
3839 function warp_menu_Callback(hObject, eventdata, handles)
3840
3841 contents = get(hObject,'String');
3842
3843 if (strcmp(contents{get(hObject,'Value')},'Overlapping Warps')),
3844 set(handles.draw_warp_curve, 'String', '1');
3845 set(handles.draw_curve_by_images, 'String', '0');
3846 set(handles.show_warp_targets, 'String', '0');
3847 setappdata(0, 'draw_final_warps', '0');
3848 elseif (strcmp(contents{get(hObject,'Value')},'Warps Map')),
3849 set(handles.draw_warp_curve, 'String', '0');
3850 set(handles.draw_curve_by_images, 'String', '1');
3851 set(handles.show_warp_targets, 'String', '0');
3852 setappdata(0, 'draw_final_warps', '0');
3853 elseif (strcmp(contents{get(hObject,'Value')},'None')),
3854 set(handles.draw_warp_curve, 'String', '0');
3855 set(handles.draw_curve_by_images, 'String', '0');
3856 set(handles.show_warp_targets, 'String', '0');
3857 setappdata(0, 'draw_final_warps', '0');
3858 elseif (strcmp(contents{get(hObject,'Value')},'All')),
3859 set(handles.draw_warp_curve, 'String', '1');
3860 set(handles.draw_curve_by_images, 'String', '1');
3861 set(handles.show_warp_targets, 'String', '1');
3862 setappdata(0, 'draw_final_warps', '1');
3863 elseif (strcmp(contents{get(hObject,'Value')},'Targets Only')),
3864 set(handles.draw_warp_curve, 'String', '0');
3865 set(handles.draw_curve_by_images, 'String', '0');
3866 set(handles.show_warp_targets, 'String', '1');
3867 setappdata(0, 'draw_final_warps', '0');
3868 elseif (strcmp(contents{get(hObject,'Value')},'Warps Map with Targets')),
3869 set(handles.draw_warp_curve, 'String', '0');
3870 set(handles.draw_curve_by_images, 'String', '1');
3871 set(handles.show_warp_targets, 'String', '1');
3872 setappdata(0, 'draw_final_warps', '0');
3873 elseif (strcmp(contents{get(hObject,'Value')},'Overlapping Warps with Targets')),
3874 set(handles.draw_warp_curve, 'String', '1');
3875 set(handles.draw_curve_by_images, 'String', '0');
3876 set(handles.show_warp_targets, 'String', '1');
3877 setappdata(0, 'draw_final_warps', '0');
3878 elseif (strcmp(contents{get(hObject,'Value')},'Final Warps')),
3879 set(handles.draw_warp_curve, 'String', '0');
3880 set(handles.draw_curve_by_images, 'String', '0');
3881 set(handles.show_warp_targets, 'String', '0');
3882 setappdata(0, 'draw_final_warps', '1');
3883 else
3884 error('Wrong values passed from warps menu. Internal error.');
3885 end
3886
3887
3888
3889
3890 function save_mesh_option_Callback(hObject, eventdata, handles)
3891
3892 set(handles.save_plots_option, 'Value', 0);
3893 set(handles.save_pixels_option, 'Value', 0);
3894 set(handles.save_mesh_option, 'Value', 1);
3895 set(handles.save_model_option, 'Value', 0);
3896
3897 set(handles.save_pixels, 'String', '2');
3898
3899
3900
3901 function show_mesh_throughout_option_Callback(hObject, eventdata, handles)
3902
3903
3904
3905 if (get(handles.show_mesh_throughout_option,'Value') == 0),
3906 set(handles.show_mesh_throughout_option, 'Value', 0);
3907 set(handles.show_mesh, 'String', '0');
3908 else
3909 set(handles.show_mesh_throughout_option, 'Value', 1);
3910 set(handles.show_mesh, 'String', '1');
3911 end
3912
3913
3914
3915 function mesh_menu_CreateFcn(hObject, eventdata, handles)
3916
3917 if ispc
3918 set(hObject,'BackgroundColor','white');
3919 else
3920 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
3921 end
3922
3923
3924
3925 function mesh_menu_Callback(hObject, eventdata, handles)
3926
3927 contents = get(hObject,'String');
3928
3929 if (strcmp(contents{get(hObject,'Value')},'Surface Red')),
3930 set(handles.mesh_type, 'String', 'Surface Red');
3931 set(handles.rotate_surface, 'Enable', 'off');
3932 elseif (strcmp(contents{get(hObject,'Value')},'Surface Blue')),
3933 set(handles.mesh_type, 'String', 'Surface Blue');
3934 set(handles.rotate_surface, 'Enable', 'off');
3935 elseif (strcmp(contents{get(hObject,'Value')},'Polygons')),
3936 set(handles.mesh_type, 'String', 'Polygons');
3937 set(handles.rotate_surface, 'Enable', 'off');
3938 elseif (strcmp(contents{get(hObject,'Value')},'Illuminated Surface')),
3939 set(handles.mesh_type, 'String', 'Illuminated Surface');
3940 set(handles.rotate_surface, 'Enable', 'on');
3941 else
3942 error('Wrong values passed from mesh type menu. Internal error.');
3943 end
3944
3945
3946
3947 function advanced_button_Callback(hObject, eventdata, handles)
3948
3949
3950 advanced;
3951
3952
3953
3954 function frames_per_second_slider_CreateFcn(hObject, eventdata, handles)
3955
3956 usewhitebg = 1;
3957 if usewhitebg
3958 set(hObject,'BackgroundColor',[.9 .9 .9]);
3959 else
3960 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
3961 end
3962
3963
3964 function frames_per_second_slider_Callback(hObject, eventdata, handles)
3965
3966 set(handles.frames_per_second, 'String', num2str(ceil(get(handles.frames_per_second_slider, 'Value'))));
3967
3968
3969
3970
3971
3972 function aart_pressed()
3973
3974 web http://www.danielsorogon.com/Webmaster/Projects/AART/
3975
3976
3977
3978 function isbe_pressed()
3979
3980 web http://www.isbe.man.ac.uk
3981
3982
3983
3984
3985 function samples_pressed(hObject, eventdata, handles)
3986
3987 draw_data(hObject, eventdata, handles);
3988
3989
3990
3991
3992 function knotpoints_slider_CreateFcn(hObject, eventdata, handles)
3993
3994 usewhitebg = 1;
3995 if usewhitebg
3996 set(hObject,'BackgroundColor',[.9 .9 .9]);
3997 else
3998 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
3999 end
4000
4001
4002
4003 function knotpoints_slider_Callback(hObject, eventdata, handles)
4004
4005
4006 set(handles.knot_points, 'String', num2str(ceil(get(handles.knotpoints_slider, 'Value'))));
4007
4008
4009
4010 function show_registration_target_Callback(hObject, eventdata, handles)
4011
4012
4013 if (get(handles.show_registration_target,'Value') == 0),
4014 set(handles.show_registration_target, 'Value', 0);
4015 set(handles.show_registration_target_flag, 'String', '0');
4016 else
4017 set(handles.show_registration_target, 'Value', 1);
4018 set(handles.show_registration_target_flag, 'String', '1');
4019 end
4020
4021
4022
4023 function produce_record_button_Callback(hObject, eventdata, handles)
4024
4025
4026 if (get(handles.produce_record_button,'Value') == 0),
4027 set(handles.produce_record_button, 'Value', 0);
4028 set(handles.produce_record, 'String', '0');
4029 else
4030 set(handles.produce_record_button, 'Value', 1);
4031 set(handles.produce_record, 'String', '1');
4032 end
4033
4034
4035
4036 function initialise_warps_close_to_target_button_Callback(hObject, eventdata, handles)
4037
4038
4039 if (get(handles.initialise_warps_close_to_target_button,'Value') == 0),
4040 set(handles.initialise_warps_close_to_target_button, 'Value', 0);
4041 set(handles.initialise_warps_close_to_target, 'String', '0');
4042 set(handles.perturb_option_button, 'Enable', 'off');
4043 set(handles.perturb_option_menuentry, 'Enable', 'off');
4044 else
4045 set(handles.initialise_warps_close_to_target_button, 'Value', 1);
4046 set(handles.initialise_warps_close_to_target, 'String', '1');
4047 set(handles.perturb_option_button, 'Enable', 'on');
4048 set(handles.perturb_option_menuentry, 'Enable', 'on');
4049 end
4050
4051
4052
4053
4054 function save_in_log_button_Callback(hObject, eventdata, handles)
4055
4056
4057
4058 if (get(handles.save_in_log_button,'Value') == 0),
4059 set(handles.save_in_log_button, 'Value', 0);
4060 set(handles.save_in_log, 'String', '0');
4061 else
4062 set(handles.save_in_log_button, 'Value', 1);
4063 set(handles.save_in_log, 'String', '1');
4064 end
4065
4066
4067
4068 function perturb_option_menuentry_Callback(hObject, eventdata, handles)
4069
4070
4071
4072 perturb;
4073
4074
4075
4076 function perturb_option_button_Callback(hObject, eventdata, handles)
4077
4078
4079
4080 perturb;
4081
4082
4083
4084 function force_reference_button_Callback(hObject, eventdata, handles)
4085
4086
4087
4088 if (get(handles.force_reference_button,'Value') == 0),
4089 set(handles.force_reference_button, 'Value', 0);
4090 set(handles.force_reference, 'String', '0');
4091 else
4092 set(handles.force_reference_button, 'Value', 1);
4093 set(handles.force_reference, 'String', '1');
4094 end
4095
4096
4097 function cycle_slider_CreateFcn(hObject, eventdata, handles)
4098
4099 usewhitebg = 1;
4100 if usewhitebg
4101 set(hObject,'BackgroundColor',[.9 .9 .9]);
4102 else
4103 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
4104 end
4105
4106
4107
4108 function cycle_slider_Callback(hObject, eventdata, handles)
4109
4110
4111
4112 set(handles.cycle, 'String', num2str(ceil(get(handles.cycle_slider, 'Value'))));
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128 function save_stats_menu_Callback(hObject, eventdata, handles)
4129
4130
4131 if (str2num(get(handles.save_stats,'String')) == 0),
4132 set(handles.save_stats, 'String', '1');
4133 set(handles.save_stats_menu, 'Checked', 'on');
4134 else
4135 set(handles.save_stats, 'String', '0');
4136 set(handles.save_stats_menu, 'Checked', 'off');
4137 end
4138
4139
4140
4141 function attr_height_Callback(hObject, eventdata, handles)
4142
4143
4144 set(handles.base_height_slider, 'Value', 0.7);
4145 set(handles.base_width_slider, 'Value', 0.5);
4146 set(handles.height_variation_slider, 'Value', 0);
4147 set(handles.width_variation_slider, 'Value', 0.2);
4148 set(handles.position_freedom_slider, 'Value', 0.9);
4149 set(handles.smoothness_slider, 'Value', 17);
4150
4151 set(handles.bump_width, 'String', '0.5');
4152 set(handles.bump_width_variation, 'String', '0.2');
4153 set(handles.bump_height, 'String', '0.7');
4154 set(handles.bump_height_variation, 'String', '0');
4155 set(handles.bump_position_freedom, 'String', '0.9');
4156 set(handles.smoothness_factor, 'String', '17');
4157
4158 draw_data(hObject, eventdata, handles);
4159
4160
4161
4162 function attr_low_var_Callback(hObject, eventdata, handles)
4163
4164
4165 set(handles.base_height_slider, 'Value', 0.2);
4166 set(handles.base_width_slider, 'Value', 0.5);
4167 set(handles.height_variation_slider, 'Value', 0.1);
4168 set(handles.width_variation_slider, 'Value', 0.1);
4169 set(handles.position_freedom_slider, 'Value', 0.7);
4170 set(handles.smoothness_slider, 'Value', 17);
4171
4172 set(handles.bump_width, 'String', '0.5');
4173 set(handles.bump_width_variation, 'String', '0.1');
4174 set(handles.bump_height, 'String', '0.2');
4175 set(handles.bump_height_variation, 'String', '0.1');
4176 set(handles.bump_position_freedom, 'String', '0.7');
4177 set(handles.smoothness_factor, 'String', '17');
4178
4179 draw_data(hObject, eventdata, handles);
4180
4181
4182
4183 function attr_typical_Callback(hObject, eventdata, handles)
4184
4185
4186 set(handles.base_height_slider, 'Value', 0.2);
4187 set(handles.base_width_slider, 'Value', 0.5);
4188 set(handles.height_variation_slider, 'Value', 0.7);
4189 set(handles.width_variation_slider, 'Value', 0.2);
4190 set(handles.position_freedom_slider, 'Value', 0.9);
4191 set(handles.smoothness_slider, 'Value', 17);
4192
4193 set(handles.bump_width, 'String', '0.5');
4194 set(handles.bump_width_variation, 'String', '0.2');
4195 set(handles.bump_height, 'String', '0.2');
4196 set(handles.bump_height_variation, 'String', '0.7');
4197 set(handles.bump_position_freedom, 'String', '0.9');
4198 set(handles.smoothness_factor, 'String', '17');
4199
4200
4201 function Register_Callback(hObject, eventdata, handles)
4202
4203 register_1d_Callback(hObject, eventdata, handles);
4204
4205 function Reset_Callback(hObject, eventdata, handles)
4206
4207 initialize_gui(hObject, handles);
4208
4209
4210
4211
4212 function export_default_Callback(hObject, eventdata, handles)
4213
4214
4215
4216 set(handles.disable_save, 'Checked', 'off');
4217 set(handles.save_handle, 'Checked', 'off');
4218 set(handles.export_default, 'Checked', 'on');
4219 set(handles.save_data, 'String', '2');
4220
4221
4222
4223
4224 function save_model_option_Callback(hObject, eventdata, handles)
4225
4226
4227
4228 set(handles.save_plots_option, 'Value', 0);
4229 set(handles.save_pixels_option, 'Value', 0);
4230 set(handles.save_mesh_option, 'Value', 0);
4231 set(handles.save_model_option, 'Value', 1);
4232
4233 set(handles.save_pixels, 'String', '3');
4234
4235
4236
4237
4238 function overnight1_Callback(hObject, eventdata, handles)
4239
4240
4241
4242
4243
4244 set(handles.overnight1, 'Checked', 'on');
4245 set(handles.overnight2, 'Checked', 'off');
4246 set(handles.overnight3, 'Checked', 'off');
4247
4248 set(handles.user_menus, 'Checked', 'off');
4249 set(handles.default_parameters, 'Checked', 'off');
4250 set(handles.max_test, 'Checked', 'off');
4251 set(handles.normal_test, 'Checked', 'off');
4252 set(handles.large_test, 'Checked', 'off');
4253 set(handles.large_set, 'Checked', 'off');
4254 set(handles.use_defaults, 'String', '6');
4255
4256
4257 function overnight2_Callback(hObject, eventdata, handles)
4258
4259
4260 set(handles.overnight1, 'Checked', 'off');
4261 set(handles.overnight2, 'Checked', 'on');
4262 set(handles.overnight3, 'Checked', 'off');
4263
4264 set(handles.user_menus, 'Checked', 'off');
4265 set(handles.default_parameters, 'Checked', 'off');
4266 set(handles.max_test, 'Checked', 'off');
4267 set(handles.normal_test, 'Checked', 'off');
4268 set(handles.large_test, 'Checked', 'off');
4269 set(handles.large_set, 'Checked', 'off');
4270 set(handles.use_defaults, 'String', '7');
4271
4272
4273 function overnight3_Callback(hObject, eventdata, handles)
4274
4275
4276 set(handles.overnight1, 'Checked', 'off');
4277 set(handles.overnight2, 'Checked', 'off');
4278 set(handles.overnight3, 'Checked', 'on');
4279
4280
4281
4282 set(handles.user_menus, 'Checked', 'off');
4283 set(handles.default_parameters, 'Checked', 'off');
4284 set(handles.max_test, 'Checked', 'off');
4285 set(handles.normal_test, 'Checked', 'off');
4286 set(handles.large_test, 'Checked', 'off');
4287 set(handles.large_set, 'Checked', 'off');
4288 set(handles.use_defaults, 'String', '8');
4289
4290 draw_data(hObject, eventdata, handles);
4291
4292
4293
4294 function large_test_Callback(hObject, eventdata, handles)
4295
4296
4297 set(handles.overnight1, 'Checked', 'off');
4298 set(handles.overnight2, 'Checked', 'off');
4299 set(handles.overnight3, 'Checked', 'off');
4300
4301 set(handles.user_menus, 'Checked', 'off');
4302 set(handles.default_parameters, 'Checked', 'off');
4303 set(handles.max_test, 'Checked', 'off');
4304 set(handles.normal_test, 'Checked', 'off');
4305 set(handles.large_test, 'Checked', 'on');
4306 set(handles.large_set, 'Checked', 'off');
4307 set(handles.use_defaults, 'String', '4');
4308
4309
4310 function large_set_Callback(hObject, eventdata, handles)
4311
4312
4313
4314 set(handles.overnight1, 'Checked', 'off');
4315 set(handles.overnight2, 'Checked', 'off');
4316 set(handles.overnight3, 'Checked', 'off');
4317
4318 set(handles.user_menus, 'Checked', 'off');
4319 set(handles.default_parameters, 'Checked', 'off');
4320 set(handles.max_test, 'Checked', 'off');
4321 set(handles.normal_test, 'Checked', 'off');
4322 set(handles.large_test, 'Checked', 'off');
4323 set(handles.large_set, 'Checked', 'on');
4324 set(handles.use_defaults, 'String', '5');
4325
4326
4327
4328 function user_menus_Callback(hObject, eventdata, handles)
4329
4330 set(handles.overnight1, 'Checked', 'off');
4331 set(handles.overnight2, 'Checked', 'off');
4332 set(handles.overnight3, 'Checked', 'off');
4333
4334 set(handles.user_menus, 'Checked', 'on');
4335 set(handles.default_parameters, 'Checked', 'off');
4336 set(handles.max_test, 'Checked', 'off');
4337 set(handles.normal_test, 'Checked', 'off');
4338 set(handles.large_test, 'Checked', 'off');
4339 set(handles.large_set, 'Checked', 'off');
4340 set(handles.use_defaults, 'String', '1');
4341
4342
4343
4344
4345 function default_parameters_Callback(hObject, eventdata, handles)
4346
4347 set(handles.overnight1, 'Checked', 'off');
4348 set(handles.overnight2, 'Checked', 'off');
4349 set(handles.overnight3, 'Checked', 'off');
4350
4351 set(handles.user_menus, 'Checked', 'off');
4352 set(handles.default_parameters, 'Checked', 'on');
4353 set(handles.max_test, 'Checked', 'off');
4354 set(handles.normal_test, 'Checked', 'off');
4355 set(handles.large_test, 'Checked', 'off');
4356 set(handles.large_set, 'Checked', 'off');
4357 set(handles.use_defaults, 'String', '0');
4358
4359
4360
4361 function max_test_Callback(hObject, eventdata, handles)
4362
4363
4364
4365 set(handles.overnight1, 'Checked', 'off');
4366 set(handles.overnight2, 'Checked', 'off');
4367 set(handles.overnight3, 'Checked', 'off');
4368
4369 set(handles.user_menus, 'Checked', 'off');
4370 set(handles.default_parameters, 'Checked', 'off');
4371 set(handles.max_test, 'Checked', 'on');
4372 set(handles.normal_test, 'Checked', 'off');
4373 set(handles.large_test, 'Checked', 'off');
4374 set(handles.large_set, 'Checked', 'off');
4375 set(handles.use_defaults, 'String', '2');
4376
4377
4378
4379 function normal_test_Callback(hObject, eventdata, handles)
4380
4381
4382 set(handles.overnight1, 'Checked', 'off');
4383 set(handles.overnight2, 'Checked', 'off');
4384 set(handles.overnight3, 'Checked', 'off');
4385
4386 set(handles.user_menus, 'Checked', 'off');
4387 set(handles.default_parameters, 'Checked', 'off');
4388 set(handles.max_test, 'Checked', 'off');
4389 set(handles.normal_test, 'Checked', 'on');
4390 set(handles.large_test, 'Checked', 'off');
4391 set(handles.large_set, 'Checked', 'off');
4392 set(handles.use_defaults, 'String', '3');
4393
4394
4395
4396 function automation_button_Callback(hObject, eventdata, handles)
4397
4398
4399
4400 automation;
4401
4402
4403
4404 function automation_menu_Callback(hObject, eventdata, handles)
4405
4406 automation;
4407
4408
4409 function show_warps_while_optimising_Callback(hObject, eventdata, handles)
4410
4411 if (strcmp(get(handles.show_warps_while_optimising_flag,'String'),'0')),
4412 set(handles.show_warps_while_optimising_flag, 'String', '1');
4413 set(handles.show_warps_while_optimising, 'Checked', 'on');
4414 else
4415 set(handles.show_warps_while_optimising_flag, 'String', '0');
4416 set(handles.show_warps_while_optimising, 'Checked', 'off')
4417 end
4418
4419
4420 function abort_Callback(hObject, eventdata, handles)
4421
4422 error('Registration Aborted');
4423
4424
4425 function verbose_disabled_Callback(hObject, eventdata, handles)
4426
4427 set(handles.verbose_optimiser_flag, 'String', 'off');
4428 set(handles.verbose_disabled, 'Checked', 'on');
4429 set(handles.verbose_iteration, 'Checked', 'off');
4430 set(handles.verbose_notify, 'Checked', 'off');
4431 set(handles.verbose_final, 'Checked', 'off');
4432
4433 function verbose_iterations_Callback(hObject, eventdata, handles)
4434
4435 set(handles.verbose_optimiser_flag, 'String', 'iter');
4436 set(handles.verbose_disabled, 'Checked', 'off');
4437 set(handles.verbose_iteration, 'Checked', 'on');
4438 set(handles.verbose_notify, 'Checked', 'off');
4439 set(handles.verbose_final, 'Checked', 'off');
4440
4441
4442 function verbose_notify_Callback(hObject, eventdata, handles)
4443
4444 set(handles.verbose_optimiser_flag, 'String', 'notify');
4445 set(handles.verbose_disabled, 'Checked', 'off');
4446 set(handles.verbose_iteration, 'Checked', 'off');
4447 set(handles.verbose_notify, 'Checked', 'on');
4448 set(handles.verbose_final, 'Checked', 'off');
4449
4450
4451 function verbose_final_Callback(hObject, eventdata, handles)
4452
4453 set(handles.verbose_optimiser_flag, 'String', 'final');
4454 set(handles.verbose_disabled, 'Checked', 'off');
4455 set(handles.verbose_iteration, 'Checked', 'off');
4456 set(handles.verbose_notify, 'Checked', 'off');
4457 set(handles.verbose_final, 'Checked', 'on');
4458
4459 function description_CreateFcn(hObject, eventdata, handles)
4460
4461 if ispc
4462 set(hObject,'BackgroundColor','white');
4463 else
4464 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
4465 end
4466
4467
4468
4469
4470
4471 function description_Callback(hObject, eventdata, handles)
4472
4473
4474 function clear_status_bar_Callback(hObject, eventdata, handles)
4475
4476 set(handles.status_bar, 'String', '');
4477
4478
4479
4480 function handle_auto_Callback(hObject, eventdata, handles)
4481
4482
4483 set(handles.filename_handle, 'String', [['Registration attempt number ']]);
4484
4485
4486 function desc_auto_Callback(hObject, eventdata, handles)
4487
4488 set(handles.description, 'String', [['Registration using '], ...
4489 [get(handles.objective_function_display,'String')], ...
4490 [' with '], [get(handles.spline_type_display,'String')], [' warps']]);
4491
4492 function handle_clear_Callback(hObject, eventdata, handles)
4493 set(handles.filename_handle, 'String', '');
4494
4495 function desc_clear_Callback(hObject, eventdata, handles)
4496 set(handles.description, 'String', '');
4497
4498 function handle_rand_Callback(hObject, eventdata, handles)
4499 set(handles.filename_handle, 'String', num2str(ceil(rand * 10000000)));
4500
4501 function desc_rand_Callback(hObject, eventdata, handles)
4502 set(handles.description, 'String', num2str(ceil(rand * 10000000)));
4503
4504
4505 function find_perfect_warp_menu_Callback(hObject, eventdata, handles)
4506
4507 if (str2num(getappdata(0, 'find_perfect_warp')) == 0),
4508 setappdata(0, 'find_perfect_warp', '1');
4509 set(handles.find_perfect_warp_menu, 'Checked', 'on');
4510 else
4511 setappdata(0, 'find_perfect_warp', '0');
4512 set(handles.find_perfect_warp_menu, 'Checked', 'off');
4513 end
4514
4515
4516 function first_reference_menu_Callback(hObject, eventdata, handles)
4517
4518 setappdata(0, 'force_first_reference', '1');
4519
4520 set(handles.first_reference_menu, 'Checked', 'on');
4521 set(handles.second_reference_menu, 'Checked', 'off');
4522 set(handles.reference_nearest_to_average_menu, 'Checked', 'off');
4523 set(handles.random_reference_menu, 'Checked', 'off');
4524 set(handles.reference_farthest_from_average_menu, 'Checked', 'off');
4525 set(handles.lowest_reference_menu, 'Checked', 'off');
4526 set(handles.highest_reference_menu, 'Checked', 'off');
4527
4528
4529 function second_reference_menu_Callback(hObject, eventdata, handles)
4530
4531 setappdata(0, 'force_first_reference', '0');
4532
4533 set(handles.first_reference_menu, 'Checked', 'off');
4534 set(handles.second_reference_menu, 'Checked', 'on');
4535 set(handles.reference_nearest_to_average_menu, 'Checked', 'off');
4536 set(handles.random_reference_menu, 'Checked', 'off');
4537 set(handles.reference_farthest_from_average_menu, 'Checked', 'off');
4538 set(handles.lowest_reference_menu, 'Checked', 'off');
4539 set(handles.highest_reference_menu, 'Checked', 'off');
4540
4541
4542 function reference_nearest_to_average_menu_Callback(hObject, eventdata, handles)
4543
4544 setappdata(0, 'force_first_reference', '2');
4545
4546 set(handles.first_reference_menu, 'Checked', 'off');
4547 set(handles.second_reference_menu, 'Checked', 'off');
4548 set(handles.reference_nearest_to_average_menu, 'Checked', 'on');
4549 set(handles.random_reference_menu, 'Checked', 'off');
4550 set(handles.reference_farthest_from_average_menu, 'Checked', 'off');
4551 set(handles.lowest_reference_menu, 'Checked', 'off');
4552 set(handles.highest_reference_menu, 'Checked', 'off');
4553
4554 function random_reference_menu_Callback(hObject, eventdata, handles)
4555
4556 setappdata(0, 'force_first_reference', '3');
4557
4558 set(handles.random_reference_menu, 'Checked', 'on');
4559 set(handles.first_reference_menu, 'Checked', 'off');
4560 set(handles.second_reference_menu, 'Checked', 'off');
4561 set(handles.reference_nearest_to_average_menu, 'Checked', 'off');
4562 set(handles.reference_farthest_from_average_menu, 'Checked', 'off');
4563 set(handles.lowest_reference_menu, 'Checked', 'off');
4564 set(handles.highest_reference_menu, 'Checked', 'off');
4565
4566 function reference_farthest_from_average_menu_Callback(hObject, eventdata, handles)
4567
4568 setappdata(0, 'force_first_reference', '4');
4569
4570 set(handles.random_reference_menu, 'Checked', 'off');
4571 set(handles.first_reference_menu, 'Checked', 'off');
4572 set(handles.second_reference_menu, 'Checked', 'off');
4573 set(handles.reference_nearest_to_average_menu, 'Checked', 'off');
4574 set(handles.reference_farthest_from_average_menu, 'Checked', 'on');
4575 set(handles.lowest_reference_menu, 'Checked', 'off');
4576 set(handles.highest_reference_menu, 'Checked', 'off');
4577
4578 function lowest_reference_menu_Callback(hObject, eventdata, handles)
4579
4580 setappdata(0, 'force_first_reference', '6');
4581
4582 set(handles.random_reference_menu, 'Checked', 'off');
4583 set(handles.first_reference_menu, 'Checked', 'off');
4584 set(handles.second_reference_menu, 'Checked', 'off');
4585 set(handles.reference_nearest_to_average_menu, 'Checked', 'off');
4586 set(handles.reference_farthest_from_average_menu, 'Checked', 'off');
4587 set(handles.lowest_reference_menu, 'Checked', 'on');
4588 set(handles.highest_reference_menu, 'Checked', 'off');
4589
4590 function highest_reference_menu_Callback(hObject, eventdata, handles)
4591
4592 setappdata(0, 'force_first_reference', '5');
4593
4594 set(handles.random_reference_menu, 'Checked', 'off');
4595 set(handles.first_reference_menu, 'Checked', 'off');
4596 set(handles.second_reference_menu, 'Checked', 'off');
4597 set(handles.reference_nearest_to_average_menu, 'Checked', 'off');
4598 set(handles.reference_farthest_from_average_menu, 'Checked', 'off');
4599 set(handles.lowest_reference_menu, 'Checked', 'off');
4600 set(handles.highest_reference_menu, 'Checked', 'on');
4601
4602
4603
4604
4605
4606
4607
4608
4609 function display_shape_model_menu_Callback(hObject, eventdata, handles)
4610
4611
4612
4613 if (str2num(getappdata(0, 'display_shape_model')) == 0),
4614 setappdata(0, 'display_shape_model', '1');
4615 set(handles.display_shape_model_menu, 'Checked', 'on');
4616 else
4617 setappdata(0, 'display_shape_model', '0');
4618 set(handles.display_shape_model_menu, 'Checked', 'off');
4619 end
4620
4621
4622 function display_intensity_model_menu_Callback(hObject, eventdata, handles)
4623
4624
4625
4626 if (str2num(getappdata(0, 'display_intensity_model')) == 0),
4627 setappdata(0, 'display_intensity_model', '1');
4628 set(handles.display_intensity_model_menu, 'Checked', 'on');
4629 else
4630 setappdata(0, 'display_intensity_model', '0');
4631 set(handles.display_intensity_model_menu, 'Checked', 'off');
4632 end
4633
4634
4635
4636
4637 function plot_alignment_button_Callback(hObject, eventdata, handles)
4638
4639 if (get(handles.plot_alignment_button,'Value') == 0),
4640 set(handles.plot_alignment_button, 'Value', 0);
4641 setappdata(0, 'plot_alignment', '0');
4642 else
4643 set(handles.plot_alignment_button, 'Value', 1);
4644 setappdata(0, 'plot_alignment', '1');
4645 end
4646
4647
4648 function verbosity_normal_Callback(hObject, eventdata, handles)
4649
4650 setappdata(0, 'error_verbosity', 'normal');
4651 set(handles.verbosity_low, 'Checked', 'off');
4652 set(handles.verbosity_normal, 'Checked', 'on');
4653 set(handles.verbosity_high, 'Checked', 'off');
4654
4655
4656 function verbosity_low_Callback(hObject, eventdata, handles)
4657
4658 setappdata(0, 'error_verbosity', 'low');
4659 set(handles.verbosity_low, 'Checked', 'on');
4660 set(handles.verbosity_normal, 'Checked', 'off');
4661 set(handles.verbosity_high, 'Checked', 'off');
4662
4663 function verbosity_high_Callback(hObject, eventdata, handles)
4664
4665 setappdata(0, 'error_verbosity', 'high');
4666 set(handles.verbosity_low, 'Checked', 'off');
4667 set(handles.verbosity_normal, 'Checked', 'off');
4668 set(handles.verbosity_high, 'Checked', 'on');
4669
4670 function error_verbosity_menu_Callback(hObject, eventdata, handles)
4671
4672
4673
4674 function input_output_menu_Callback(hObject, eventdata, handles)
4675
4676
4677 function precision_9_Callback(hObject, eventdata, handles)
4678
4679 setappdata(0, 'precision_required', '1e-9');
4680
4681 set(handles.precision_5, 'Checked', 'on');
4682 set(handles.precision_6, 'Checked', 'off');
4683 set(handles.precision_7, 'Checked', 'off');
4684 set(handles.precision_8, 'Checked', 'off');
4685 set(handles.precision_9, 'Checked', 'off');
4686 set(handles.precision_10, 'Checked', 'off');
4687 set(handles.precision_12, 'Checked', 'off');
4688 set(handles.precision_15, 'Checked', 'off');
4689 set(handles.precision_3, 'Checked', 'off');
4690 set(handles.precision_4, 'Checked', 'off');
4691
4692 function precision_8_Callback(hObject, eventdata, handles)
4693
4694 setappdata(0, 'precision_required', '1e-8');
4695 set(handles.precision_5, 'Checked', 'off');
4696 set(handles.precision_6, 'Checked', 'off');
4697 set(handles.precision_7, 'Checked', 'off');
4698 set(handles.precision_8, 'Checked', 'off');
4699 set(handles.precision_9, 'Checked', 'off');
4700 set(handles.precision_10, 'Checked', 'off');
4701 set(handles.precision_12, 'Checked', 'off');
4702 set(handles.precision_15, 'Checked', 'off');
4703 set(handles.precision_3, 'Checked', 'off');
4704 set(handles.precision_4, 'Checked', 'off');
4705
4706 function precision_6_Callback(hObject, eventdata, handles)
4707
4708 setappdata(0, 'precision_required', '1e-6');
4709 set(handles.precision_5, 'Checked', 'off');
4710 set(handles.precision_6, 'Checked', 'on');
4711 set(handles.precision_7, 'Checked', 'off');
4712 set(handles.precision_8, 'Checked', 'off');
4713 set(handles.precision_9, 'Checked', 'off');
4714 set(handles.precision_10, 'Checked', 'off');
4715 set(handles.precision_12, 'Checked', 'off');
4716 set(handles.precision_15, 'Checked', 'off');
4717 set(handles.precision_3, 'Checked', 'off');
4718 set(handles.precision_4, 'Checked', 'off');
4719
4720 function precision_5_Callback(hObject, eventdata, handles)
4721
4722 setappdata(0, 'precision_required', '1e-5');
4723 set(handles.precision_5, 'Checked', 'on');
4724 set(handles.precision_6, 'Checked', 'off');
4725 set(handles.precision_7, 'Checked', 'off');
4726 set(handles.precision_8, 'Checked', 'off');
4727 set(handles.precision_9, 'Checked', 'off');
4728 set(handles.precision_10, 'Checked', 'off');
4729 set(handles.precision_12, 'Checked', 'off');
4730 set(handles.precision_15, 'Checked', 'off');
4731 set(handles.precision_3, 'Checked', 'off');
4732 set(handles.precision_4, 'Checked', 'off');
4733
4734 function precision_7_Callback(hObject, eventdata, handles)
4735
4736 setappdata(0, 'precision_required', '1e-7');
4737 set(handles.precision_5, 'Checked', 'off');
4738 set(handles.precision_6, 'Checked', 'off');
4739 set(handles.precision_7, 'Checked', 'on');
4740 set(handles.precision_8, 'Checked', 'off');
4741 set(handles.precision_9, 'Checked', 'off');
4742 set(handles.precision_10, 'Checked', 'off');
4743 set(handles.precision_12, 'Checked', 'off');
4744 set(handles.precision_15, 'Checked', 'off');
4745 set(handles.precision_3, 'Checked', 'off');
4746 set(handles.precision_4, 'Checked', 'off');
4747
4748 function precision_10_Callback(hObject, eventdata, handles)
4749
4750 setappdata(0, 'precision_required', '1e-10');
4751 set(handles.precision_5, 'Checked', 'off');
4752 set(handles.precision_6, 'Checked', 'off');
4753 set(handles.precision_7, 'Checked', 'off');
4754 set(handles.precision_8, 'Checked', 'off');
4755 set(handles.precision_9, 'Checked', 'off');
4756 set(handles.precision_10, 'Checked', 'on');
4757 set(handles.precision_12, 'Checked', 'off');
4758 set(handles.precision_15, 'Checked', 'off');
4759 set(handles.precision_3, 'Checked', 'off');
4760 set(handles.precision_4, 'Checked', 'off');
4761
4762 function precision_12_Callback(hObject, eventdata, handles)
4763
4764 setappdata(0, 'precision_required', '1e-12');
4765 set(handles.precision_5, 'Checked', 'off');
4766 set(handles.precision_6, 'Checked', 'off');
4767 set(handles.precision_7, 'Checked', 'off');
4768 set(handles.precision_8, 'Checked', 'off');
4769 set(handles.precision_9, 'Checked', 'off');
4770 set(handles.precision_10, 'Checked', 'off');
4771 set(handles.precision_12, 'Checked', 'on');
4772 set(handles.precision_15, 'Checked', 'off');
4773 set(handles.precision_3, 'Checked', 'off');
4774 set(handles.precision_4, 'Checked', 'off');
4775
4776 function precision_15_Callback(hObject, eventdata, handles)
4777
4778 setappdata(0, 'precision_required', '1e-15');
4779 set(handles.precision_5, 'Checked', 'off');
4780 set(handles.precision_6, 'Checked', 'off');
4781 set(handles.precision_7, 'Checked', 'off');
4782 set(handles.precision_8, 'Checked', 'off');
4783 set(handles.precision_9, 'Checked', 'off');
4784 set(handles.precision_10, 'Checked', 'off');
4785 set(handles.precision_12, 'Checked', 'off');
4786 set(handles.precision_15, 'Checked', 'on');
4787 set(handles.precision_3, 'Checked', 'off');
4788 set(handles.precision_4, 'Checked', 'off');
4789
4790 function precision_4_Callback(hObject, eventdata, handles)
4791
4792 setappdata(0, 'precision_required', '1e-4');
4793 set(handles.precision_5, 'Checked', 'off');
4794 set(handles.precision_6, 'Checked', 'off');
4795 set(handles.precision_7, 'Checked', 'off');
4796 set(handles.precision_8, 'Checked', 'off');
4797 set(handles.precision_9, 'Checked', 'off');
4798 set(handles.precision_10, 'Checked', 'off');
4799 set(handles.precision_12, 'Checked', 'off');
4800 set(handles.precision_15, 'Checked', 'off');
4801 set(handles.precision_3, 'Checked', 'off');
4802 set(handles.precision_4, 'Checked', 'on');
4803
4804 function precision_3_Callback(hObject, eventdata, handles)
4805
4806 setappdata(0, 'precision_required', '1e-3');
4807 set(handles.precision_5, 'Checked', 'off');
4808 set(handles.precision_6, 'Checked', 'off');
4809 set(handles.precision_7, 'Checked', 'off');
4810 set(handles.precision_8, 'Checked', 'off');
4811 set(handles.precision_9, 'Checked', 'off');
4812 set(handles.precision_10, 'Checked', 'off');
4813 set(handles.precision_12, 'Checked', 'off');
4814 set(handles.precision_15, 'Checked', 'off');
4815 set(handles.precision_3, 'Checked', 'on');
4816 set(handles.precision_4, 'Checked', 'off');
4817
4818 function set_background_colour_Callback(hObject, eventdata, handles)
4819
4820 RGB = uisetcolor;
4821
4822
4823
4824
4825 if (size(RGB, 2) == 3),
4826
4827 setappdata(0, 'background_colour_red', num2str(RGB(1)));
4828 setappdata(0, 'background_colour_green', num2str(RGB(2)));
4829 setappdata(0, 'background_colour_blue', num2str(RGB(3)));
4830 end
4831
4832
4833
4834
4835
4836 function dynamic_precision_Callback(hObject, eventdata, handles)
4837
4838
4839 if (str2num(getappdata(0, 'dynamic_precision')) == 0),
4840 set(handles.dynamic_precision, 'Checked', 'on');
4841 setappdata(0, 'dynamic_precision', '1');
4842 else
4843 set(handles.dynamic_precision, 'Checked', 'off');
4844 setappdata(0, 'dynamic_precision', '0');
4845 end
4846
4847
4848 function clone_menu_Callback(hObject, eventdata, handles)
4849
4850 register;
4851
4852
4853 function clone_Callback(hObject, eventdata, handles)
4854
4855
4856 register;
4857
4858 function show_icons_Callback(hObject, eventdata, handles)
4859
4860 set(handles.resume, 'cdata', playbutton);
4861 set(handles.pause, 'cdata', stopbutton);
4862 set(handles.register_1d, 'cdata', registerbutton);
4863 set(handles.help_button, 'cdata', helpbutton);
4864 set(handles.abort, 'cdata', abortbutton);
4865 set(handles.reset, 'cdata', resetbutton);
4866
4867 set(handles.show_icons, 'Checked', 'on');
4868 set(handles.hide_icons, 'Checked', 'off');
4869
4870
4871 function hide_icons_Callback(hObject, eventdata, handles)
4872
4873 set(handles.resume, 'cdata', []);
4874 set(handles.pause, 'cdata', []);
4875 set(handles.register_1d, 'cdata', []);
4876 set(handles.help_button, 'cdata', []);
4877 set(handles.abort, 'cdata', []);
4878 set(handles.reset, 'cdata', []);
4879
4880 set(handles.show_icons, 'Checked', 'off');
4881 set(handles.hide_icons, 'Checked', 'on');
4882
4883
4884 function document_code_Callback(hObject, eventdata, handles)
4885
4886
4887 document_aart;
4888
4889 function redefine_paths_Callback(hObject, eventdata, handles)
4890
4891
4892 path;
4893
4894 function application_editor_Callback(hObject, eventdata, handles)
4895
4896 msgbox('To prevent conflicting modifications, please contact Roy Schestowitz before making any changes.','Important Notification');
4897 mb;
4898
4899
4900 function default_auto_Callback(hObject, eventdata, handles)
4901
4902 setappdata(0, 'automatic_precision_type', 'default');
4903 set(handles.default_auto, 'Checked', 'on');
4904 set(handles.smart_auto, 'Checked', 'off');
4905
4906 function smart_auto_Callback(hObject, eventdata, handles)
4907
4908 setappdata(0, 'automatic_precision_type', 'smart');
4909 set(handles.default_auto, 'Checked', 'off');
4910 set(handles.smart_auto, 'Checked', 'on');
4911
4912
4913 function rotate_surface_Callback(hObject, eventdata, handles)
4914 if (str2num(getappdata(0, 'rotate_surface')) == 0),
4915 set(handles.rotate_surface, 'Value', 1);
4916 setappdata(0, 'rotate_surface', '1');
4917 else
4918 set(handles.rotate_surface, 'Value', 0);
4919 setappdata(0, 'rotate_surface', '0');
4920 end
4921
4922
4923 function Sum_of_Squared_Distances_Callback(hObject, eventdata, handles)
4924
4925 setappdata(0, 'distance_type', 'sum_of_squared_distances');
4926 set(handles.Sum_of_Squared_Distances, 'Checked', 'on');
4927 set(handles.Absolute_Distances, 'Checked', 'off');
4928
4929 function Absolute_Distances_Callback(hObject, eventdata, handles)
4930
4931 setappdata(0, 'distance_type', 'absolute_values');
4932 set(handles.Sum_of_Squared_Distances, 'Checked', 'off');
4933 set(handles.Absolute_Distances, 'Checked', 'on');
4934
4935 function retain_original_peak_menu_Callback(hObject, eventdata, handles)
4936
4937 if (str2num(getappdata(0, 'retain_original_peak')) == 0),
4938 setappdata(0, 'retain_original_peak', '1');
4939 set(handles.retain_original_peak_menu, 'Checked', 'on');
4940 else
4941 setappdata(0, 'retain_original_peak', '0');
4942 set(handles.retain_original_peak_menu, 'Checked', 'off');
4943 end
4944
4945
4946 function peak_type_average_menu_Callback(hObject, eventdata, handles)
4947
4948 setappdata(0, 'peak_type', 'average_position');
4949 set(handles.peak_type_average_menu, 'Checked', 'on');
4950 set(handles.peak_type_initial_menu, 'Checked', 'off');
4951
4952
4953 function peak_type_initial_menu_Callback(hObject, eventdata, handles)
4954
4955 setappdata(0, 'peak_type', 'initial_position');
4956 set(handles.peak_type_average_menu, 'Checked', 'off');
4957 set(handles.peak_type_initial_menu, 'Checked', 'on');
4958
4959
4960 function add_points_menu_Callback(hObject, eventdata, handles)
4961 if (str2num(getappdata(0, 'add_points')) == 0),
4962 setappdata(0, 'add_points', '1');
4963 set(handles.add_points_menu, 'Checked', 'on');
4964 else
4965 setappdata(0, 'add_points', '0');
4966 set(handles.add_points_menu, 'Checked', 'off');
4967 end