0001 function pa_head_set_parm(fig, head_parm)
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 handle.');
0019 end
0020
0021
0022 if isempty(head_parm)
0023 head_parm = vb_set_head_parm;
0024 end
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035 data = guidata(fig);
0036
0037 H = data.H;
0038
0039 set(H.model_1shell_radiobutton, 'Value', 0);
0040 set(H.model_3shell_radiobutton, 'Value', 0);
0041
0042 set(H.vertices_3shell_edit, 'String', num2str(2000));
0043 set(H.vertices_1shell_edit, 'String', num2str(6000));
0044
0045 if isfield(head_parm, 'Nsurf') && head_parm.Nsurf == 3
0046 if isfield(head_parm, 'Nvertex')
0047 set(H.vertices_3shell_edit, 'String', num2str(head_parm.Nvertex));
0048 else
0049 set(H.vertices_3shell_edit, 'String', num2str(2000));
0050 end
0051 set(H.model_3shell_radiobutton, 'Value', 1);
0052 elseif isfield(head_parm, 'Nsurf') && head_parm.Nsurf == 1
0053 if isfield(head_parm, 'Nvertex')
0054 set(H.vertices_1shell_edit, 'String', num2str(head_parm.Nvertex));
0055 else
0056 set(H.vertices_1shell_edit, 'String', num2str(6000));
0057 end
0058 set(H.model_1shell_radiobutton, 'Value', 1);
0059 else
0060 set(H.model_1shell_radiobutton, 'Value', 1);
0061 end
0062
0063 if isfield(head_parm, 'vstep')
0064 vstep = head_parm.vstep;
0065 end
0066 set(H.voxel_size_edit, 'String', num2str(vstep));
0067
0068
0069
0070
0071 if isfield(head_parm, 'analyze_file') && ~isempty(head_parm.analyze_file)
0072 set(H.analyze_file_edit, 'String', head_parm.analyze_file);
0073 end
0074
0075
0076
0077
0078 if isfield(head_parm, 'curry_file') && ~isempty(head_parm.curry_file)
0079 set(H.csf_source_popup, 'Value', 2);
0080 set(H.curry_file_edit, 'String', head_parm.curry_file);
0081 elseif isfield(head_parm, 'gray_file')
0082 set(H.csf_source_popup, 'Value', 1);
0083 else
0084 set(H.csf_source_popup, 'Value', 1);
0085 end
0086
0087
0088 if isfield(head_parm, 'gray_file') && ~isempty(head_parm.gray_file)
0089 set(H.gray_file_edit, 'String', head_parm.gray_file);
0090 end
0091
0092
0093 if isfield(head_parm, 'brain_file') && ~isempty(head_parm.brain_file)
0094 set(H.brain_file_edit, 'String', head_parm.brain_file);
0095 end
0096
0097
0098 if isfield(head_parm, 'freesurf_file') && ~isempty(head_parm.freesurf_file)
0099 set(H.fs_csf_file_edit, 'String', head_parm.freesurf_file);
0100 end
0101
0102
0103 if isfield(head_parm, 'Radius_csf')
0104 set(H.gray_morphology_edit, 'String', ['[' num2str(head_parm.Radius_csf) ']']);
0105 end
0106 if isfield(head_parm, 'Radius')
0107 set(H.curry_morphology_edit, 'String', ['[' num2str(head_parm.Radius) ']']);
0108 end
0109 if isfield(head_parm, 'Radius_fs')
0110 set(H.fs_morphology_edit, 'String', ['[' num2str(head_parm.Radius_fs) ']']);
0111 end
0112
0113
0114
0115
0116 if isfield(head_parm, 'fs_skull_file') && ~isempty(head_parm.fs_skull_file)
0117 set(H.skull_source_popup, 'Value', 2);
0118 set(H.fs_skull_file_edit, 'String', head_parm.fs_skull_file);
0119 else
0120 set(H.skull_source_popup, 'Value', 1);
0121 end
0122
0123
0124 if isfield(head_parm, 'Radius_skull')
0125 set(H.min_skull_thickness_edit, 'String', num2str(head_parm.Radius_skull));
0126 end
0127
0128
0129 if isfield(head_parm, 'Radius_scalp')
0130 set(H.scalp_thickness_edit, 'String', num2str(head_parm.Radius_scalp));
0131 end
0132
0133
0134
0135
0136 if isfield(head_parm, 'face_file') && ~isempty(head_parm.face_file)
0137
0138 set(H.face_file_edit, 'String', head_parm.face_file);
0139 set(H.scalp_source_popup, 'Value', 2);
0140 elseif isfield(head_parm, 'fs_scalp_file') && ~isempty(head_parm.fs_scalp_file)
0141
0142 set(H.fs_scalp_file_edit, 'String', head_parm.fs_scalp_file);
0143 set(H.scalp_source_popup, 'Value', 1);
0144 else
0145 set(H.scalp_source_popup, 'Value', 1);
0146 end
0147
0148
0149
0150 if isfield(head_parm, 'head_file')
0151 [f_path, f_name, f_ext] = vb_get_file_parts(head_parm.head_file);
0152 set(H.save_dir_edit, 'String', f_path);
0153
0154 set(H.head_file_edit, 'String', head_parm.head_file);
0155 end
0156
0157
0158 if isfield(head_parm, 'comment')
0159 set(H.comment_edit, 'String', head_parm.comment);
0160 end
0161
0162
0163 data.head_parm = head_parm;
0164 guidata(fig, data);
0165
0166
0167 pa_head_util(fig, 'update_model_type');
0168 pa_head_util(fig, 'update_csf_source');
0169 pa_head_util(fig, 'update_output_fname');