[Master Index]
[Index for Toolbox]
source_tess
(Toolbox/source_tess.m in BrainStorm 2.0 (Alpha))
Function Synopsis
[L,xl,yl,zl,geol,tri_num] = ...
Help Text
SOURCE_TESS - generate variable grid of possible source locations
function [L,xl,yl,zl,geol,tri_num] = ...
source_tess(sensor_r,source_maxr,source_minr,coverage,Factor);
Given the scalar radius to the sensors sensor_r,
the maximum scalar radius to the sources source_rmax,
the minimum scalar radius to the sources source_rmin,
then generate possible dipole source locations L in the upper hemisphere.
tri_num is the number of triangles per ring. A zero indicates the
start of a new surface. ctri_sum = cumsum(tri_sum); nd = find(~tri_num);
ctri_sum(nd) gives the number of triangles per surface.
Coverage is from tesselate, 'half','full',or radian from z-axis
Optional Factor is the fraction considered significant, default 0.1;
Cross-Reference Information
This function calls
- tesselate C:\BrainStorm_2001\Toolbox\tesselate.m
Listing of function C:\BrainStorm_2001\Toolbox\source_tess.m
function [L,xl,yl,zl,geol,tri_num] = ...
source_tess(sensor_r,source_maxr,source_minr,coverage,Factor);
%SOURCE_TESS - generate variable grid of possible source locations
% function [L,xl,yl,zl,geol,tri_num] = ...
% source_tess(sensor_r,source_maxr,source_minr,coverage,Factor);
% Given the scalar radius to the sensors sensor_r,
% the maximum scalar radius to the sources source_rmax,
% the minimum scalar radius to the sources source_rmin,
% then generate possible dipole source locations L in the upper hemisphere.
%
% tri_num is the number of triangles per ring. A zero indicates the
% start of a new surface. ctri_sum = cumsum(tri_sum); nd = find(~tri_num);
% ctri_sum(nd) gives the number of triangles per surface.
% Coverage is from tesselate, 'half','full',or radian from z-axis
% Optional Factor is the fraction considered significant, default 0.1;
%<autobegin> ---------------------- 26-May-2004 11:34:31 -----------------------
% --------- Automatically Generated Comments Block Using AUTO_COMMENTS ---------
%
% CATEGORY: Forward Modeling
%
% Alphabetical list of external functions (non-Matlab):
% toolbox\tesselate.m
%
% At Check-in: $Author: Mosher $ $Revision: 12 $ $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:31 -----------------------
% John C. Mosher, Ph.D.
% See Copyright.m file for information
% $Date: 5/26/04 10:02a $ $Revision: 12 $
%
% February 8, 1995 author
% JCM 2/27/95 cleanup from test version to production
% JCM 4/4/95 generate fill3 surfaces, derived from source_grid
% uses: tesselate
if(exist('Factor') ~= 1), % user gave no Factor
Factor = 0.1; % what Factor is considered insignificant
end
next_r = source_maxr; % initialize
L = []; % source locations
xl = []; % vertices for x
yl = []; % y
zl = []; % z
geol = []; % geometry matrix
tri_num = []; % number of triangles
isurfaces = 0; % number of surfaces used
while(next_r > source_minr), % for appropriate spherical surfaces
isurfaces = isurfaces + 1;
min_d = sensor_r - next_r; % min distance to between source and sensor
spacing = 2*min_d*Factor; % spacing between sensors
theta_inc = acos(1 - 0.5*(spacing/next_r)^2); % sensor increment
if(next_r > spacing),
[jkx,jky,jkz,jkL,jkg,jkt] = tesselate(next_r,spacing,coverage);
% Rn = sensor_ring(next_r,theta_inc,ceil((pi/2)/theta_inc));
xl = [xl jkx];
yl = [yl jky];
zl = [zl jkz];
geol = [geol jkg+size(L,1)];
L = [L;jkL]; % add these source locations
tri_num = [tri_num jkt];
end
next_r = next_r - spacing;
tri_num = [tri_num 0]; % tag the start of a new surface
end
return
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