Home > functions > gui > preAnalysis > leadfield > pa_leadfield_make_center_sphere.m

pa_leadfield_make_center_sphere

PURPOSE ^

make center sphere

SYNOPSIS ^

function pa_leadfield_make_center_sphere(fig)

DESCRIPTION ^

 make center sphere
 [USAGE]
    pa_leadfield_set_parm(<fig>);
 [IN]
    fig : figure handle of leafield gui.
 [OUT]
    none

 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:

SOURCE CODE ^

0001 function pa_leadfield_make_center_sphere(fig)
0002 % make center sphere
0003 % [USAGE]
0004 %    pa_leadfield_set_parm(<fig>);
0005 % [IN]
0006 %    fig : figure handle of leafield gui.
0007 % [OUT]
0008 %    none
0009 %
0010 % Copyright (C) 2011, ATR All Rights Reserved.
0011 % License : New BSD License(see VBMEG_LICENSE.txt)
0012 
0013 %
0014 % --- Previous check
0015 %
0016 if ~exist('fig', 'var') || isempty(fig) || ~ishandle(fig)
0017     error('invalid figure handle.');
0018 end
0019 
0020 %
0021 % --- Main Procedure
0022 %
0023 
0024 % load data(@see pa_leadfield_create)
0025 data = guidata(fig);
0026 H = data.H; % component handles
0027 
0028 % analyze file input
0029 [d_name, f_name] = vb_file_select({'.hdr'}, 'Select analyze file');
0030 if ~isempty(d_name)
0031     analyze_file = [d_name, filesep, f_name{1}];
0032 else
0033     % selection cancelled.
0034     return;
0035 end
0036 
0037 
0038 %
0039 % --- run make sphere model gui.
0040 %
0041 
0042 % show wait bar
0043 h = waitbar(0,'MRI file reading');
0044 pause(0.01); % for draw waitbar.
0045 
0046 % MRI data read
0047 try
0048     avw = avw_read_ras(analyze_file);
0049 catch
0050     errordlg('cannot read mri file.', 'error');
0051     cancelled = true;
0052     return;
0053 end
0054 
0055 waitbar(100);
0056 
0057 
0058 % current center info.
0059 Vcenter = str2num(get(H.center_head_edit, 'String'));
0060 if ~isempty(Vcenter)
0061     sphere.radius = data.Vradius;
0062     sphere.center = Vcenter;
0063     avw.sphere_on_spm_right_m = sphere;
0064 end
0065 
0066 % --- run gui
0067 try
0068     % launching vb_sphere_head
0069     vb_sphere_head(avw);
0070     if ishandle(h), close(h); end
0071     % wait for close sphere_head.
0072     waitfor(gcf);
0073 catch
0074     errordlg('something error occured in vb_sphere_head', 'error');
0075     return;
0076 end
0077 
0078 % returns sphere_data(radius, center)
0079 try
0080     center = evalin('base', 'avw.center');
0081     radius = evalin('base', 'avw.radius');
0082 catch
0083     % sphere model gui closed by x button.
0084     evalin('base', 'clear avw;');
0085     return;
0086 end
0087 evalin('base', 'clear avw;');
0088 
0089 % save sphere
0090 set(H.center_head_edit, 'String', num2str(center, 3));
0091 data.Vradius = radius; % radius is officially not used.
0092 
0093 guidata(fig, data);

Generated on Tue 27-Aug-2013 11:46:04 by m2html © 2005