[Master Index]
[Index for Toolbox]
trans_matrix
(Toolbox/trans_matrix.m in BrainStorm 2.0 (Alpha))
Function Synopsis
[Te_ISA,Te,Tm_ISA,Tm] = trans_matrix(mode,test_opt,ISA,DIM,s,I,H,P,A,no_megsensor)
Help Text
TRANS_MATRIX - calculate BEM transfer matrices for EEG and MEG
function [Te_ISA,Te,Tm_ISA,Tm] = trans_matrix(mode,test_opt,ISA,DIM,s,I,H,P,A,no_megsensor)
****************************************************************************
function trans_matrix(mode,N,s,no_megsensor)
this function calculates transfer matrices for EEG and MEG
mode =1 , compute Te
2 , compute Tm
3 , compute BOTH
ISA see bem.m
DIM : DIM(i) is the number of triangles(or nodes) on surface i
: 3 x 1
s : [conductivity of brain, conductivity of skull]
: 2 x 1
P : EEG scan matrix no_eegsensor x sum(DIM)
H,A :
no_megsensor: number of MEG sensors
The isolated skull approach is incorporated for THREE shells model.
*****************************************************************************
Cross-Reference Information
This function is called by
- bem_xfer C:\BrainStorm_2001\Toolbox\bem_xfer.m
Listing of function C:\BrainStorm_2001\Toolbox\trans_matrix.m
function [Te_ISA,Te,Tm_ISA,Tm] = trans_matrix(mode,test_opt,ISA,DIM,s,I,H,P,A,no_megsensor)
%TRANS_MATRIX - calculate BEM transfer matrices for EEG and MEG
% function [Te_ISA,Te,Tm_ISA,Tm] = trans_matrix(mode,test_opt,ISA,DIM,s,I,H,P,A,no_megsensor)
%****************************************************************************
%
% function trans_matrix(mode,N,s,no_megsensor)
% this function calculates transfer matrices for EEG and MEG
% mode =1 , compute Te
% 2 , compute Tm
% 3 , compute BOTH
% ISA see bem.m
% DIM : DIM(i) is the number of triangles(or nodes) on surface i
% : 3 x 1
% s : [conductivity of brain, conductivity of skull]
% : 2 x 1
% P : EEG scan matrix no_eegsensor x sum(DIM)
% H,A :
% no_megsensor: number of MEG sensors
%
% The isolated skull approach is incorporated for THREE shells model.
%*****************************************************************************
%<autobegin> ---------------------- 26-May-2004 11:34:40 -----------------------
% --------- Automatically Generated Comments Block Using AUTO_COMMENTS ---------
%
% CATEGORY: Forward Modeling
%
% At Check-in: $Author: Mosher $ $Revision: 14 $ $Date: 5/26/04 10:02a $
%
% This software is part of BrainStorm Toolbox Version 2.0 (Alpha) 24-May-2004
%
% Principal Investigators and Developers:
% ** Richard M. Leahy, PhD, Signal & Image Processing Institute,
% University of Southern California, Los Angeles, CA
% ** John C. Mosher, PhD, Biophysics Group,
% Los Alamos National Laboratory, Los Alamos, NM
% ** Sylvain Baillet, PhD, Cognitive Neuroscience & Brain Imaging Laboratory,
% CNRS, Hopital de la Salpetriere, Paris, France
%
% See BrainStorm website at http://neuroimage.usc.edu for further information.
%
% Copyright (c) 2004 BrainStorm by the University of Southern California
% This software distributed under the terms of the GNU General Public License
% as published by the Free Software Foundation. Further details on the GPL
% license can be found at http://www.gnu.org/copyleft/gpl.html .
%
% FOR RESEARCH PURPOSES ONLY. THE SOFTWARE IS PROVIDED "AS IS," AND THE
% UNIVERSITY OF SOUTHERN CALIFORNIA AND ITS COLLABORATORS DO NOT MAKE ANY
% WARRANTY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF
% MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, NOR DO THEY ASSUME ANY
% LIABILITY OR RESPONSIBILITY FOR THE USE OF THIS SOFTWARE.
%<autoend> ------------------------ 26-May-2004 11:34:40 -----------------------
s3=s(1);
s2=s(2);
no_elt=sum(DIM);
%disp(' LU decomposition .......')
% Incoporate the isolated skull approach
% C3: solid angle matrix of brain layer
if ISA,
M=DIM(1)+DIM(2);
b = M+1:no_elt;
I3 = I(b,b);
C3 =I3 - H(b,b)*(s3+s2)/(s3-s2);
for i=1:size(C3,1)
C3(i,i)=0;
C3(i,i)= -sum(C3(i,:));
end
C3 = C3+1/DIM(3); % deflation
[L3,U3]=lu(C3);
L3=sparse(L3); U3=sparse(U3);
clear C3 b
end
H = I- H + 1/no_elt;
clear I
[L,U] = lu(H);
%
L=sparse(L); U=sparse(U);
clear H
Te_ISA = []; % transfer matrix for EEG, with isolated skull approach(ISA)
Tm_ISA = []; % transfer matrix for MEG, with ISA
Te = []; % without isa
Tm = [];
if mode==1 | mode==3,
%disp(' ')
%disp('>>>> Compute Te ...')
% t=clock;
Te = P/U/L;
if ISA % isolated skull approach
P3 = P(:,M+1:no_elt);
Te_ISA = s2/s3*[Te(:,1:M),Te(:,M+1:no_elt)-2*(Te(:,M+1:no_elt)*I3)/U3/L3+(1+s3/s2)*P3/U3/L3];
end
% run_Te_in_min=etime(clock,t)/60
%keyboard
clear P P3
end;
if mode==2 | mode==3,
%disp(' ')
%disp('>>>> Compute Tm .....')
% t=clock;
Tm = A/U/L;
if ISA
A3 = A(:,M+1:no_elt);
clear U L A
Tm_ISA = s2/s3*[Tm(:,1:M),Tm(:,M+1:no_elt)-2*(Tm(:,M+1:no_elt)*I3)/U3/L3+(1+s3/s2)*A3/U3/L3];
end
% run_Tm_in_min=etime(clock,t)/60
end;
%keyboard
Produced by color_mat2html, a customized BrainStorm 2.0 (Alpha) version of mat2html on Tue Oct 12 12:05:14 2004
Cross-Directory links are: ON