0001 function [new_brain_data] = bm_processor_combine_surf(obj, brain_data_cell, parm)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 if ~exist('obj', 'var'), error('obj is a required parameter.'); end
0020 if ~exist('brain_data_cell', 'var')
0021 error('brain_data_cell is a required parameter.');
0022 end
0023 if ~exist('parm', 'var'), error('parm is a required parameter.'); end
0024
0025 Ndata = length(brain_data_cell);
0026 for k=1:Ndata
0027 if ~strcmp(brain_data_cell{k}.class_type, 'surf_data')
0028 error('Not surface data was inputted.');
0029 end
0030 end
0031
0032
0033
0034
0035
0036 global vbmeg_inst;
0037 const = vbmeg_inst.const;
0038
0039 Fall = cell(Ndata, 1);
0040 Vall = cell(Ndata, 1);
0041
0042 for k=1:Ndata
0043
0044 V = surf_data_get_vertex(brain_data_cell{k});
0045 F = surf_data_get_face(brain_data_cell{k});
0046 xx = surf_data_get_normal_vector(brain_data_cell{k});
0047
0048 Vall{k} = V;
0049 Fall{k} = F;
0050 end
0051
0052
0053 [F_new, V_new, xx_new] = vb_combine_surf(Fall, Vall, [1:length(Fall)]);
0054
0055
0056 new_brain_data = surf_data_new(V_new, F_new, xx_new, ...
0057 const.COORDINATE_ANALYZE_RIGHT_MM);