0001 function [obj, new_index] = bm_manager_process_brain(obj, parm_type, index)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 if ~exist('obj', 'var'), error('obj is a required parameter.'); end
0021 if ~strcmp(obj.class_type, 'bm_manager')
0022 error('class type is invalid.');
0023 end
0024 if ~exist('parm_type', 'var');
0025 error('parm_type is a required parameter.');
0026 end
0027 if ~exist('index', 'var'), error('index is a required parameter.'); end
0028
0029
0030
0031
0032 const = define_bm_edit_app;
0033 type = const.parm_type;
0034
0035 brain_data_cell = bm_list_get_brain_model(obj.bm_list, index);
0036 proc_parm = bm_process_parm_list_get_parameter(obj.parm_list, parm_type);
0037
0038 switch(parm_type)
0039 case type.COMBINE_SURF_PARM
0040
0041 new_model_cell = bm_processor_process(obj.processor, ...
0042 brain_data_cell, ...
0043 parm_type, ...
0044 proc_parm);
0045 model_name = 'combined model';
0046 new_model_cell{1} = brain_data_set_model_name(new_model_cell{1},...
0047 model_name);
0048 [obj.bm_list, new_index] = bm_list_add_model(...
0049 obj.bm_list, ...
0050 new_model_cell{1});
0051 case type.SEPARATE_SURF_PARM
0052
0053
0054 for k=1:length(brain_data_cell)
0055 brain_data = brain_data_cell{k};
0056 new_model_cell = bm_processor_process(obj.processor, ...
0057 {brain_data}, ...
0058 parm_type, ...
0059 proc_parm);
0060
0061 for j=1:length(new_model_cell)
0062 old_name = brain_data_get_model_name(brain_data);
0063 new_name = ['separated model', num2str(j), ' from ' old_name];
0064 new_model_cell{j} = brain_data_set_model_name(...
0065 new_model_cell{j}, ...
0066 new_name);
0067 [obj.bm_list, new_index] = bm_list_add_model(...
0068 obj.bm_list, ...
0069 new_model_cell{j});
0070 end
0071 end
0072 otherwise
0073
0074
0075 for k=1:length(brain_data_cell)
0076 brain_data = brain_data_cell{k};
0077 new_model_cell = bm_processor_process(obj.processor, ...
0078 {brain_data}, ...
0079 parm_type, ...
0080 proc_parm);
0081
0082 for j=1:length(new_model_cell)
0083 old_name = brain_data_get_model_name(brain_data);
0084 new_model_cell{j} = brain_data_set_model_name(...
0085 new_model_cell{j}, ...
0086 old_name);
0087 [obj.bm_list, new_index] = bm_list_add_model(...
0088 obj.bm_list, ...
0089 new_model_cell{j});
0090 end
0091 end
0092 end