Home > vbmeg > functions > gui > preAnalysis > leadfield > advanced_parm > pa_leadfield_parm_callback.m

pa_leadfield_parm_callback

PURPOSE ^

This function process Leadfield parameter setting menu action

SYNOPSIS ^

function H = pa_leadfield_parm_callback(hObject, H)

DESCRIPTION ^

 This function process Leadfield parameter setting menu action

 hObject : component handle
 H       : structure with all component handles


 Copyright (C) 2011, ATR All Rights Reserved.
 License : New BSD License(see VBMEG_LICENSE.txt)

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SUBFUNCTIONS ^

SOURCE CODE ^

0001 function H = pa_leadfield_parm_callback(hObject, H)
0002 % This function process Leadfield parameter setting menu action
0003 %
0004 % hObject : component handle
0005 % H       : structure with all component handles
0006 %
0007 %
0008 % Copyright (C) 2011, ATR All Rights Reserved.
0009 % License : New BSD License(see VBMEG_LICENSE.txt)
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         % set default value
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) ) % 0<value<=1
0048         errordlg('Relative radius value range should be (0 < value <=1)', 'error');
0049         v = RELATIVE_RADIUS_DEFAULT;
0050         % set default value
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     % Conductivity  from innermost to outermost
0063     basis_parm = vb_set_basis_parm;
0064     v = basis_parm.sigma;
0065 
0066 function v = RELATIVE_RADIUS_DEFAULT;
0067     % Relative radius of sphere from innermost to outermost
0068     basis_parm = vb_set_basis_parm;
0069     v = basis_parm.radius;

Generated on Mon 22-May-2023 06:53:56 by m2html © 2005