[Master Index]
[Index for Toolbox]
embedding
(Toolbox/embedding.m in BrainStorm 2.0 (Alpha))
Function Synopsis
v_embedding=embedding(v,connectivity_mat,jmax,nbmax)
Help Text
EMBEDDING - computing the approximate embedding surface
function v_embedding=embedding(v,connectivity_mat,jmax,nbmax)
computing the approximative embedding surface
inputs : v : vertices, connectivity_mat : result of vertices_connectivity, but in a matrix
jmax and nb max : number of iterations for embedding surface computation
output : v_embedding : approximative embedding surface
Cross-Reference Information
This function is called by
- contraste C:\BrainStorm_2001\Toolbox\contraste.m
Listing of function C:\BrainStorm_2001\Toolbox\embedding.m
function v_embedding=embedding(v,connectivity_mat,jmax,nbmax)
%EMBEDDING - computing the approximate embedding surface
% function v_embedding=embedding(v,connectivity_mat,jmax,nbmax)
%
% computing the approximative embedding surface
%
% inputs : v : vertices, connectivity_mat : result of vertices_connectivity, but in a matrix
% jmax and nb max : number of iterations for embedding surface computation
% output : v_embedding : approximative embedding surface
%
%<autobegin> ---------------------- 26-May-2004 11:30:14 -----------------------
% --------- Automatically Generated Comments Block Using AUTO_COMMENTS ---------
%
% CATEGORY: Utility - Numeric
%
% At Check-in: $Author: Mosher $ $Revision: 14 $ $Date: 5/26/04 9:59a $
%
% 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:30:14 -----------------------
% History ---------------------------------------
% JCM 08-Sep-2003 commenting
% -----------------------------------------------
% "blowing"of the brain
clear vsph;
vsph=[v(:,1)/max(v(:,1)) v(:,2)/max(v(:,2)) v(:,3)/max(v(:,3))];
% computing the approximative embedding surface
clear vsph_embedding;
vsph_embedding(:,:)=vsph;
stop_it=zeros(size(vsph_embedding,1),1);
clear I_nn;
I_nn=find(vsph(:,1)~=0 & vsph(:,2)~=0 & vsph(:,3)~=0);
for j=1:jmax
maxim=zeros(size(v,1),1);
vsph_embedding_temp=vsph_embedding;
clear I_z;
I_z=find(stop_it(I_nn)==0);
d=sqrt(sum(vsph_embedding.^2,2));
if ~isempty(I_z)
for i=1:size(I_z,1)
maxim(I_nn(I_z(i)))=max(max(d(connectivity_mat(I_nn(I_z(i)),2:connectivity_mat(I_nn(I_z(i)),1)+1))));
end
vsph_embedding(I_nn(I_z),:)=((maxim(I_nn(I_z))./d(I_nn(I_z)))*[1 1 1]).*vsph_embedding_temp(I_nn(I_z),:);
clear vsph_embedding_dif;
vsph_embedding_dif=abs(vsph_embedding(I_nn(I_z),:)-vsph_embedding_temp(I_nn(I_z),:));
clear I_dif;
I_dif=find(vsph_embedding_dif(:,1)==0 & vsph_embedding_dif(:,2)==0 & vsph_embedding_dif(:,3)==0);
if ~isempty(I_dif)
stop_it(I_nn(I_z(I_dif)))=1;
end
end
end
clear stop_it;
clear vsph_embedding_dif;
clear I_dif;
clear vsph_embedding_temp;
clear d;
% smoothing of the surface
for j=1:nbmax
clear mean_d;
mean_d=zeros(size(v,1),1);
vsph_embedding_temp=vsph_embedding;
d=sqrt(sum(vsph_embedding.^2,2));
for i=1:size(I_nn,1)
mean_d(I_nn(i))=sum(sum(d(connectivity_mat(I_nn(i),2:connectivity_mat(I_nn(i),1)+1))))/connectivity_mat(I_nn(i),1);
end
vsph_embedding(I_nn,:)=((mean_d(I_nn)./d(I_nn))*[1 1 1]).*vsph_embedding_temp(I_nn,:);
end
% "unblowing" of the surface
clear v_embedding;
v_embedding=[vsph_embedding(:,1)*max(v(:,1)) vsph_embedding(:,2)*max(v(:,2)) vsph_embedding(:,3)*max(v(:,3))];
clear vsph_embedding;
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