0001 function H = pa_leadfield_parm_callback(hObject, H)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 switch( hObject )
0012 case { H.Leadfield_parm.recalc_on_button, H.Leadfield_parm.recalc_off_button }
0013 set(H.Leadfield_parm.recalc_on_button, 'Value', 0);
0014 set(H.Leadfield_parm.recalc_off_button, 'Value', 0);
0015 set(hObject, 'Value', 1);
0016 case H.Leadfield_parm.spherical_func_order_slider
0017 slider_value = fix(get(hObject, 'Value'));
0018 set(H.Leadfield_parm.spherical_func_order_edit, 'String', num2str(slider_value));
0019 case {H.Leadfield_parm.conductivity_csf_edit, ...
0020 H.Leadfield_parm.conductivity_skull_edit,...
0021 H.Leadfield_parm.conductivity_scalp_edit }
0022 check_conductivity(hObject, H);
0023 case {H.Leadfield_parm.relative_radius_csf_edit,...
0024 H.Leadfield_parm.relative_radius_skull_edit,...
0025 H.Leadfield_parm.relative_radius_scalp_edit}
0026 check_relative_radius(hObject, H);
0027 end
0028
0029 function check_conductivity(hObject, H)
0030 value = str2double(get(hObject, 'String'));
0031 if value <= 0
0032 errordlg('Conductivity value should be positive.', 'error');
0033 v = CONDUCTIVITY_DEFAULT;
0034
0035 switch(hObject)
0036 case H.Leadfield_parm.conductivity_csf_edit
0037 set(hObject, 'String', num2str(v(1)));
0038 case H.Leadfield_parm.conductivity_skull_edit
0039 set(hObject, 'String', num2str(v(2)));
0040 case H.Leadfield_parm.conductivity_scalp_edit
0041 set(hObject, 'String', num2str(v(3)));
0042 end
0043 end
0044
0045 function check_relative_radius(hObject, H)
0046 value = str2double(get(hObject, 'String'));
0047 if ~( (0 < value) && (value <= 1) )
0048 errordlg('Relative radius value range should be (0 < value <=1)', 'error');
0049 v = RELATIVE_RADIUS_DEFAULT;
0050
0051 switch(hObject)
0052 case H.Leadfield_parm.relative_radius_csf_edit
0053 set(hObject, 'String', num2str(v(1)));
0054 case H.Leadfield_parm.relative_radius_skull_edit
0055 set(hObject, 'String', num2str(v(2)));
0056 case H.Leadfield_parm.relative_radius_scalp_edit
0057 set(hObject, 'String', num2str(v(3)));
0058 end
0059 end
0060
0061 function v = CONDUCTIVITY_DEFAULT;
0062
0063 basis_parm = vb_set_basis_parm;
0064 v = basis_parm.sigma;
0065
0066 function v = RELATIVE_RADIUS_DEFAULT;
0067
0068 basis_parm = vb_set_basis_parm;
0069 v = basis_parm.radius;