0001 function job_plot_cmap_change_trial(inst_id)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025 global vbmeg_inst;
0026
0027 object = vbmeg_inst.plotcmap{inst_id};
0028 max_trial = 0;
0029
0030 if isempty(object.curr_file),
0031 return;
0032 end
0033
0034 h_fig = vbmeg_inst.plotcmap{inst_id}.h_fig;
0035 if exist(object.curr_file, 'file') == 2
0036 set(h_fig,'Pointer','watch');
0037 drawnow;
0038 Jinfo = vb_load_current_info(object.curr_file);
0039 if isfield(Jinfo, 'Ntrial')
0040 max_trial = Jinfo.Ntrial;
0041 elseif ~isempty(object.Jact)
0042 max_trial = size(object.Jact, 3);
0043 end
0044 else
0045 return;
0046 end
0047
0048
0049 ix_trial = str2num(get(vbmeg_inst.plotcmap{inst_id}.ed1, 'String'));
0050
0051
0052
0053
0054
0055 ix_trial = ceil(ix_trial);
0056
0057
0058 if isempty(ix_trial) | ix_trial > max_trial | ix_trial<1,
0059 errordlg('Trial index is invalid.','Warning','modal');
0060 ix_trial = vbmeg_inst.plotcmap{inst_id}.ix_trial;
0061 set(vbmeg_inst.plotcmap{inst_id}.ed1,'String', num2str(ix_trial));
0062 set(h_fig,'Pointer', 'arrow');
0063 return;
0064 end
0065
0066
0067 set(vbmeg_inst.plotcmap{inst_id}.ed1, 'String', num2str(ix_trial));
0068 ave_mode = vbmeg_inst.plotcmap{inst_id}.ave_mode;
0069
0070
0071 vbmeg_inst.plotcmap{inst_id}.ix_trial = ix_trial;
0072
0073 if size(vbmeg_inst.plotcmap{inst_id}.Jact, 3) > 1
0074 ix_trial = vbmeg_inst.plotcmap{inst_id}.ix_trial;
0075 vbmeg_inst.plotcmap{inst_id}.Jmax = ...
0076 max(max(abs(vbmeg_inst.plotcmap{inst_id}.Jact(:,:,ix_trial))));
0077 else
0078 [Jinfo, Jact] = vb_load_current(object.curr_file, 0, ave_mode, ix_trial);
0079 vbmeg_inst.plotcmap{inst_id}.Jact ...
0080 = -1*Jact;
0081 vbmeg_inst.plotcmap{inst_id}.ix_trial = ix_trial;
0082
0083
0084 if vbmeg_inst.plotcmap{inst_id}.patch_norm,
0085 vbmeg_inst.plotcmap{inst_id}.Jact ...
0086 = vbmeg_inst.plotcmap{inst_id}.Jact*1e6;
0087 vbmeg_inst.plotcmap{inst_id}.Jbck ...
0088 = vbmeg_inst.plotcmap{inst_id}.Jbck*1e6;
0089 else
0090 vbmeg_inst.plotcmap{inst_id}.Jact ...
0091 = vbmeg_inst.plotcmap{inst_id}.Jact*1e9;
0092 vbmeg_inst.plotcmap{inst_id}.Jbck ...
0093 = vbmeg_inst.plotcmap{inst_id}.Jbck*1e9;
0094 end
0095
0096
0097 if size(vbmeg_inst.plotcmap{inst_id}.Jact,3) > 1
0098 ix_trial = vbmeg_inst.plotcmap{inst_id}.ix_trial;
0099 Jmax = max(max(abs(vbmeg_inst.plotcmap{inst_id}.Jact(:,:,ix_trial))));
0100 Jmin = min(min(abs(vbmeg_inst.plotcmap{inst_id}.Jact(:,:,ix_trial))));
0101 else
0102 Jmax = max(max(abs(vbmeg_inst.plotcmap{inst_id}.Jact(:,:))));
0103 Jmin = min(min(abs(vbmeg_inst.plotcmap{inst_id}.Jact(:,:))));
0104 end
0105
0106 vbmeg_inst.plotcmap{inst_id}.Jmax = Jmax;
0107 vbmeg_inst.plotcmap{inst_id}.Jmin = Jmin;
0108 vbmeg_inst.plotcmap{inst_id}.Jmax_plot = Jmax;
0109 vbmeg_inst.plotcmap{inst_id}.Jmin_plot = Jmax*0.1;
0110 end
0111
0112 job_plot_cmap_update_timecourse(inst_id);
0113 job_plot_cmap_update_spatialpattern(inst_id);
0114
0115 set(h_fig,'Pointer', 'arrow');
0116 return;