AA_CALC_SYSTEM_MAT: SS= aa_calc_system_mat( fwd_model, img) Calc system matrix for Andy Adler's EIT code fwd_model = forward model img = image background for system matrix calc s_mat.E = CC' * SS * conductivites * CC; where: SS = Unconnected system Matrix CC = Connectivity Matrix
0001 function s_mat= bs_calc_system_mat( fwd_model, img) 0002 % AA_CALC_SYSTEM_MAT: SS= aa_calc_system_mat( fwd_model, img) 0003 % Calc system matrix for Andy Adler's EIT code 0004 % fwd_model = forward model 0005 % img = image background for system matrix calc 0006 % s_mat.E = CC' * SS * conductivites * CC; 0007 % where: 0008 % SS = Unconnected system Matrix 0009 % CC = Connectivity Matrix 0010 0011 % (C) 2005 Andy Adler. License: GPL version 2 or version 3 0012 % Modified by Bartosz Sawicki 0013 % $Id: bs_calc_system_mat.html 2819 2011-09-07 16:43:11Z aadler $ 0014 0015 FC= aa_system_mat_fields( fwd_model); 0016 lFC= size(FC,1); 0017 0018 pp= aa_fwd_parameters( fwd_model); 0019 0020 if( size(img.elem_data,1) == pp.n_elem ) 0021 %For non-dual models 0022 elem_data = img.elem_data; 0023 else 0024 %For dual models 0025 if isfield(fwd_model, 'coarse2fine') 0026 elem_data = fwd_model.coarse2fine * img.elem_data; 0027 end 0028 %If background image is known 0029 if isfield(fwd_model, 'background') 0030 elem_data = elem_data + fwd_model.background; 0031 end 0032 end 0033 0034 elem_sigma = kron( elem_data(:), ones(pp.n_dims,1) ); 0035 0036 ES= ones(lFC,1); 0037 ES(1:length(elem_sigma))= elem_sigma; 0038 ES= spdiags(ES,0,lFC,lFC); 0039 0040 s_mat.E= FC' * ES * FC; 0041