bs_calc_system_mat

PURPOSE ^

AA_CALC_SYSTEM_MAT: SS= aa_calc_system_mat( fwd_model, img)

SYNOPSIS ^

function s_mat= bs_calc_system_mat( fwd_model, img)

DESCRIPTION ^

 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

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

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

Generated on Tue 09-Aug-2011 11:38:31 by m2html © 2005