Home > functions > gui > bm_editor > bm_fileio > bm_fileio_import_file.m

bm_fileio_import_file

PURPOSE ^

import brain model

SYNOPSIS ^

function [obj, result] =bm_fileio_import_file(obj, file_type, model_file, analyze_info, args)

DESCRIPTION ^

 import brain model
 [USAGE]
    [obj] = bm_fileio_import_file(<obj>, <file_type>, <model_file>, <analyze_info>);
 [IN]
             obj : bm_fileio object
       file_type : import file type
      model_file : brain model(.brain.mat or .head.mat) filename
    analyze_info : analyze_info object(To convert coordinate system)
            args : optional parameters.

 [OUT]
       obj : bm_fileio object
    result : brain model import result.
             (SUCESS or FAILURE)

 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, result] = ...
0002              bm_fileio_import_file(obj, file_type, model_file, analyze_info, args)
0003 % import brain model
0004 % [USAGE]
0005 %    [obj] = bm_fileio_import_file(<obj>, <file_type>, <model_file>, <analyze_info>);
0006 % [IN]
0007 %             obj : bm_fileio object
0008 %       file_type : import file type
0009 %      model_file : brain model(.brain.mat or .head.mat) filename
0010 %    analyze_info : analyze_info object(To convert coordinate system)
0011 %            args : optional parameters.
0012 %
0013 % [OUT]
0014 %       obj : bm_fileio object
0015 %    result : brain model import result.
0016 %             (SUCESS or FAILURE)
0017 %
0018 % Copyright (C) 2011, ATR All Rights Reserved.
0019 % License : New BSD License(see VBMEG_LICENSE.txt)
0020 
0021 %
0022 % --- Previous check
0023 %
0024 if ~exist('obj', 'var'), error('obj is a required parameter.'); end
0025 if ~strcmp(obj.class_type, 'bm_fileio')
0026     error('class type is invalid.');
0027 end
0028 if ~exist('file_type', 'var')
0029     error('file_type is a required parameter.');
0030 end
0031 if ~exist('model_file', 'var')
0032     error('model_file is a required parameter.');
0033 end
0034 if ~exist('analyze_info', 'var')
0035     error('analyze_info is a required parameter.');
0036 end
0037 
0038 %
0039 % --- Main Procedure
0040 %
0041 global vbmeg_inst;
0042 result = SUCCESS;
0043 
0044 app_const = define_bm_edit_app;
0045 
0046 % read brain model
0047 switch(file_type)
0048     case app_const.file_type.BRAIN_FILE
0049         [V_cel, F_cel, xx_cel, name_cel, conduct_cel] = ...
0050             bm_fileio_read_brain_file(model_file, args{1}, analyze_info);
0051     case app_const.file_type.HEAD_FILE
0052         [V_cel, F_cel, xx_cel, name_cel, conduct_cel] = ...
0053             bm_fileio_read_head_file(model_file);
0054     case app_const.file_type.CURRY_FILE
0055         [V_cel, F_cel, xx_cel, name_cel, conduct_cel] = ...
0056             bm_fileio_read_curry_file(model_file, analyze_info);
0057     case app_const.file_type.FACE_FILE
0058         [V_cel, F_cel, xx_cel, name_cel, conduct_cel] = ...
0059             bm_fileio_read_face_file(model_file);
0060     case app_const.file_type.MASK_FILE
0061         [V_cel, F_cel, xx_cel, name_cel, conduct_cel] = ...
0062             bm_fileio_read_mask_file(model_file, args{1}, analyze_info);
0063     case app_const.file_type.SPM_NORM_FILE
0064         [V_cel, F_cel, xx_cel, name_cel, conduct_cel] = ...
0065             bm_fileio_read_spm_norm_file(model_file, args{1}, analyze_info);
0066     otherwise
0067         error('specified file_type is invalid.');
0068 end
0069 
0070 const = vbmeg_inst.const;
0071 
0072 % Analyze information for coordinate change
0073 Vdim  = vb_analyze_info_get_voxdim(analyze_info);
0074 Vsize = vb_analyze_info_get_voxsize(analyze_info);
0075 
0076 for k=1:length(V_cel)
0077     % Convert coordinate from SPM_Right_m to analyze_right_mm
0078     V = vb_spm_right_to_analyze_right_mm(V_cel{k}, Vdim, Vsize);
0079 
0080     % make new surface data
0081     brain_data = surf_data_new(V, F_cel{k}, xx_cel{k}, ...
0082                                 const.COORDINATE_ANALYZE_RIGHT_MM, ...
0083                                 name_cel{k}, ...
0084                                 conduct_cel{k});
0085     % set history
0086     comment = ['Imported from ' model_file];
0087     brain_data = brain_data_add_history_item(brain_data, comment);
0088 
0089     % add brain_data to bm_list
0090     obj.bm_list = bm_list_add_model(obj.bm_list, brain_data);
0091 end
0092 
0093 %
0094 % --- After check
0095 %
0096 if nargout == 0
0097     error('function caller should receive obj.');
0098 end

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