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

bm_fileio_export_file

PURPOSE ^

export brain model

SYNOPSIS ^

function [obj, result] = bm_fileio_export_file(obj, file_type, out_file, analyze_info)

DESCRIPTION ^

 export brain model
 [USAGE]
    [obj, result] = 
       bm_fileio_export_file(<obj>, <file_type>, <out_file>, <analyze_info>);
 [IN]
             obj : bm_fileio object
       file_type : export file type
        out_file : output filename(fullpath)
    analyze_info : convert coord info (analyze_right_mm to Spm_Right_m)
 [OUT]
       obj : bm_fileio object
    result : export result(SUCCESS 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] = bm_fileio_export_file(...
0002                                   obj, file_type, out_file, analyze_info)
0003 % export brain model
0004 % [USAGE]
0005 %    [obj, result] =
0006 %       bm_fileio_export_file(<obj>, <file_type>, <out_file>, <analyze_info>);
0007 % [IN]
0008 %             obj : bm_fileio object
0009 %       file_type : export file type
0010 %        out_file : output filename(fullpath)
0011 %    analyze_info : convert coord info (analyze_right_mm to Spm_Right_m)
0012 % [OUT]
0013 %       obj : bm_fileio object
0014 %    result : export result(SUCCESS or FAILURE)
0015 %
0016 % Copyright (C) 2011, ATR All Rights Reserved.
0017 % License : New BSD License(see VBMEG_LICENSE.txt)
0018 
0019 %
0020 % --- Previous check
0021 %
0022 if ~exist('obj', 'var'), error('obj is a required parameter.'); end
0023 if ~exist('file_type', 'var')
0024     error('file_type is a required parameter.');
0025 end
0026 if ~exist('out_file', 'var')
0027     error('out_file is a required parameter.');
0028 end
0029 if ~isfield(obj, 'bm_list') || isempty(obj.bm_list)
0030     error('bm_fileio has no data to export');
0031 end
0032 
0033 %
0034 % --- Main Procedure
0035 %
0036 global vbmeg_inst;
0037 result = SUCCESS;
0038 
0039 app_const = define_bm_edit_app;
0040 
0041 % Make output data
0042 index = bm_list_get_brain_model_index(obj.bm_list);
0043 Ndata = length(index);
0044 
0045 % allocate memory
0046 model_name_cell = cell(Ndata, 1);
0047 V_cell       = cell(Ndata, 1);
0048 F_cell       = cell(Ndata, 1);
0049 xx_cell      = cell(Ndata, 1);
0050 conduct_cell = cell(Ndata, 1);
0051 
0052 % get data
0053 brain_data_cell = bm_list_get_brain_model(obj.bm_list, index);
0054 
0055 % split data
0056 for k=1:length(brain_data_cell)
0057     % model name
0058     model_name_cell{k} = brain_data_get_model_name(brain_data_cell{k});
0059     % vertex
0060     %   -- convert from Analyze right mm -->SPM_right m
0061     V_cell{k} = vb_analyze_right_mm_to_spm_right(...
0062                             surf_data_get_vertex(brain_data_cell{k}), ...
0063                             vb_analyze_info_get_voxdim(analyze_info), ...
0064                             vb_analyze_info_get_voxsize(analyze_info));
0065     % Face
0066     F_cell{k} = surf_data_get_face(brain_data_cell{k});
0067     % xx
0068     xx_cell{k} = surf_data_get_normal_vector(brain_data_cell{k});
0069     % conductivity
0070     conduct_cell{k} = brain_data_get_conductivity(brain_data_cell{k});
0071 end
0072 clear brain_data_cell;
0073 
0074 Vinfo.Coord = 'SPM_Right_m';
0075 
0076 % write data
0077 switch(file_type)
0078     case app_const.file_type.HEAD_FILE
0079         result = bm_fileio_write_head_file(out_file, ...
0080                                         V_cell, F_cell, xx_cell,...
0081                                         model_name_cell, conduct_cell);
0082     otherwise
0083         error('specified file_type is invalid.');
0084 end

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