12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- function [N,Z,M,A,XYZ] = spm_mesh_max(X,L,G)
- % Sizes, local maxima and locations of excursion sets on a surface mesh
- % FORMAT [N,Z,M,A,XYZ] = spm_mesh_max(X,L,G)
- % X - a [nx1] array of stat values
- % L - a [nx1] array of locations {in vertices}
- % G - a patch structure
- %
- % N - a [px1] size of connected components {in vertices}
- % Z - stat values of maxima
- % M - location of maxima {in vertices}
- % A - region number
- % XYZ - cell array of vertices locations
- %__________________________________________________________________________
- %
- % See also: spm_max.m, spm_mesh_clusters.m and spm_mesh_get_lm.m
- %__________________________________________________________________________
- % Copyright (C) 2012-2016 Wellcome Trust Centre for Neuroimaging
- % Guillaume Flandin
- % $Id: spm_mesh_max.m 6860 2016-08-25 12:00:10Z guillaume $
- %-Get connected components
- %--------------------------------------------------------------------------
- LL = NaN(size(G.vertices,1),1);
- LL(L(1,:)) = X;
- [C, N] = spm_mesh_clusters(G,LL);
- %-Get local maxima
- %--------------------------------------------------------------------------
- M = spm_mesh_get_lm(G,LL);
- Z = LL(M);
- A = C(M);
- M = [M;ones(2,size(M,2))];
- N = N(A);
- if nargout > 4
- XYZ = cell(1,max(A));
- for i=1:numel(XYZ)
- XYZ{i} = find(C==i)';
- XYZ{i} = [XYZ{i};ones(2,size(XYZ{i},2))];
- end
- end
|