0001 function [new_model_cell] = bm_processor_separate_surf(obj, brain_data, 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', 'var')
0021 error('brain_data is a required parameter.');
0022 end
0023 if ~exist('parm', 'var'), error('parm is a required parameter.'); end
0024
0025 if ~strcmp(brain_data.class_type, 'surf_data')
0026 error('Not surface data was inputted.');
0027 end
0028
0029
0030
0031
0032
0033 global vbmeg_inst;
0034 const = vbmeg_inst.const;
0035
0036
0037 V = surf_data_get_vertex(brain_data);
0038 F = surf_data_get_face(brain_data);
0039 xx = surf_data_get_normal_vector(brain_data);
0040
0041
0042 [Fall, Vall] = vb_separate_surf(F, V, parm.seedID);
0043
0044
0045 Nmodel = length(Fall);
0046 new_model_cell = cell(Nmodel, 1);
0047 for k=1:Nmodel
0048 [xx_k, Fall{k}] = vb_out_normal_vect(Vall{k}, Fall{k});
0049 new_model_cell{k} = surf_data_new(Vall{k}, Fall{k}, xx_k, ...
0050 const.COORDINATE_ANALYZE_RIGHT_MM);
0051 end