0001 function pa_fmri_callback(fig, hObj)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 if ~exist('fig', 'var') || isempty(fig) || ~ishandle(fig)
0018 error('invalid figure is specified.');
0019 end
0020 if ~exist('hObj', 'var')
0021 error('hObj is a required parameter.');
0022 end
0023
0024
0025
0026
0027 global vbmeg_inst;
0028 define = vbmeg_inst.const;
0029
0030
0031 data = guidata(fig);
0032 H = data.H;
0033
0034 switch( hObj )
0035 case H.prjroot_push
0036 dir = dir_dialog(get(H.prjroot_edit, 'String'));
0037 if dir ~= 0
0038 set(H.prjroot_edit, 'String', dir);
0039 end
0040 case H.brain_push
0041 proj_root = get(H.prjroot_edit, 'String');
0042 [dir fname canceled] = pa_prjfile_select(proj_root, {define.BRAIN_EXTENSION}, 'Select cortical model file');
0043 if ~canceled
0044 set(H.brain_file_edit, 'String', [dir filesep fname{1}]);
0045 pa_fmri_util(fig, 'update_exec_push_status');
0046 end
0047 case H.spm_push
0048 [dir fname] = vb_file_select({define.SPM_EXTENSION}, 'Select SPM voxel file');
0049 if ~isempty(dir)
0050 set(H.spm_edit, 'String', [dir filesep fname{1}]);
0051 pa_fmri_util(fig, 'update_exec_push_status');
0052 end
0053 case H.area_push
0054 proj_root = get(H.prjroot_edit, 'String');
0055 [dir fname canceled] = pa_prjfile_select(proj_root, {define.AREA_EXTENSION}, 'Select cortical area file');
0056 if ~canceled
0057 set(H.area_file_edit, 'String', [dir filesep fname{1}]);
0058 pa_fmri_util(fig, 'update_exec_push_status');
0059 end
0060 case H.act_push
0061 proj_root = get(H.prjroot_edit, 'String');
0062 [dir fname canceled] = pa_prjfile_select(proj_root, {define.FMRI_EXTENSION}, 'Select cortical activity file');
0063 if ~canceled
0064 set(H.act_file_edit, 'String', [dir filesep fname{1}]);
0065 pa_fmri_util(fig, 'update_exec_push_status');
0066 end
0067 case H.exec_push
0068 pa_fmri_util(fig, 'exec_fmri');
0069 case H.reset_push
0070 pa_fmri_util(fig, 'reset_parameter');
0071
0072 case H.brain_file_edit
0073 pa_fmri_util(fig, 'update_exec_push_status');
0074 case H.spm_edit
0075 pa_fmri_util(fig, 'update_exec_push_status');
0076 case H.fMRIid_edit
0077 pa_fmri_util(fig, 'update_exec_push_status');
0078 case H.areaid_edit
0079 pa_fmri_util(fig, 'update_exec_push_status');
0080 case H.fmri_parm_push
0081 if ishandle(data.adv_fig)
0082 figure(data.adv_fig);
0083 else
0084 data.adv_fig = pa_fmri_parm_gui_create(fig, data.fmri_parm);
0085 end
0086 end
0087
0088
0089 guidata(fig, data);