Home > functions > gui > bm_editor > bm_manager > bm_manager_process_brain.m

bm_manager_process_brain

PURPOSE ^

process brain and regist new data.

SYNOPSIS ^

function [obj, new_index] = bm_manager_process_brain(obj, parm_type, index)

DESCRIPTION ^

 process brain and regist new data.
 [USAGE]
    [obj, new_index] = 
        bm_manager_process_brain(<obj>, <parm_type>, <index>);
 [IN]
          obj : bm_manager object
    parm_type : processing type
        index : index of process brain
 [OUT]
          obj : bm_manager object
    new_index : index after processing

 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 [obj, new_index] = bm_manager_process_brain(obj, parm_type, index)
0002 % process brain and regist new data.
0003 % [USAGE]
0004 %    [obj, new_index] =
0005 %        bm_manager_process_brain(<obj>, <parm_type>, <index>);
0006 % [IN]
0007 %          obj : bm_manager object
0008 %    parm_type : processing type
0009 %        index : index of process brain
0010 % [OUT]
0011 %          obj : bm_manager object
0012 %    new_index : index after processing
0013 %
0014 % Copyright (C) 2011, ATR All Rights Reserved.
0015 % License : New BSD License(see VBMEG_LICENSE.txt)
0016 
0017 %
0018 % --- Previous check
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 % --- Main Procedure
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         % create model from n to 1.
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         % create model from 1 to n.
0053         % outer loop is for n-models are selected.
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             % inner loop is for n-models created from 1 model.
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         % create model from 1 to n.
0074         % outer loop is for n-models are selected.
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             % inner loop is for n-models created from 1 model.
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

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