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