From e0206981ef9815fdc4a2d7f897ecf4fe4690fedd Mon Sep 17 00:00:00 2001 From: Jim Pollaro Date: Tue, 18 Nov 2025 10:03:51 -0600 Subject: [PATCH 1/7] added quickperms and dependent functions --- +nla/+lib/palm_quickperms.m | 753 ++++++++++++++++++++++++++++++++++++ 1 file changed, 753 insertions(+) create mode 100644 +nla/+lib/palm_quickperms.m diff --git a/+nla/+lib/palm_quickperms.m b/+nla/+lib/palm_quickperms.m new file mode 100644 index 00000000..6bb72bfc --- /dev/null +++ b/+nla/+lib/palm_quickperms.m @@ -0,0 +1,753 @@ +function varargout = palm_quickperms(varargin) + % Create a set of permutations that is left in the Octave/Matlab workspace + % for later use, or to be exported to other programs. + % + % [Pset,VG] = palm_quickperms(M,EB,P,EE,ISE,CMCx,CMCp) + % + % Inputs (to skip an argument, use an empty array, []): + % M : Design matrix. It can be the full, unpartitioned design, or + % if there are nuisance, simply the part that contains the EVs + % of interest. This distinction is only relevant if there are + % discrete EVs of interest and nuisance variables that are + % continuous. You may consider a partitioning as in the + % function palm_partition.m. + % If you have no idea what to use, it is in general, it is in + % general safe to use as M simply a vector (1:N)'. + % You can also simply leave it empty ([]) if EB is supplied, and + % by default it will be (1:N)'. If an EB isn't supplied, you can + % simply use N and by default it will be (1:N)'. + % EB : Exchangeability blocks (can be multi-level). For freely + % exchangeable data, use ones(N,1). You can also leave it + % empty ([]) if a valid, non-empty M was supplied. + % P : Desired number of permutations. The actual number may be + % smaller if N is too small. Use 0 for exhaustive. + % Default is 10000. + % EE : True/False indicating whether to assume exchangeable errors, + % which allow permutations. + % ISE : True/False indicating whether to assume independent and + % symmetric errors, which allow sign-flippings. + % CMCx : True/False indicating whether repeated rows in the design + % should be be ignored. Default is false. + % CMCp : True/False indicating whether repeated permutations should + % be ignored. Default is false. + % + % Outputs: + % Pset : Permutation set. It contains one permutation per column. + % VG : Variance groups (VGs), to be used with a statistic that is + % robust to heteroscedasticity. + % + % _____________________________________ + % Anderson M. Winkler + % FMRIB / University of Oxford + % Sep/2015 + % http://brainder.org + + % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + % PALM -- Permutation Analysis of Linear Models + % Copyright (C) 2015 Anderson M. Winkler + % + % This program is free software: you can redistribute it and/or modify + % it under the terms of the GNU General Public License as published by + % the Free Software Foundation, either version 3 of the License, or + % any later version. + % + % This program is distributed in the hope that it will be useful, + % but WITHOUT ANY WARRANTY; without even the implied warranty of + % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + % GNU General Public License for more details. + % + % You should have received a copy of the GNU General Public License + % along with this program. If not, see . + % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + % Take the inputs: + v.M = []; + v.EB = []; + v.P = 10000; + v.EE = true; + v.ISE = false; + v.CMCx = false; + v.CMCp = false; + fields = fieldnames(v); + for a = 1:nargin + if ~ isempty(varargin{a}) + v.(fields{a}) = varargin{a}; + end + end + if ~ v.EE && ~ v.ISE + error('At least one of EE or ISE must be given as "true".'); + end + if v.P < 0 + error('P must not be negative'); + end + if isempty(v.M ), v.M = 0; end + if isempty(v.EB), v.EB = 0; end + + % Number of subjects + N = max(size(v.M,1),size(v.EB,1)); + if N == 1 + N = max(v.M,v.EB); + elseif N == 0 + error('Design matrix and exchangeability blocks cannot be both empty.'); + end + if v.M == 0, v.M = N; end + if v.EB == 0, v.EB = N; end + if ... + (size(v.M,1) > 1 && N ~= size(v.M,1)) || ... + (isscalar(v.M) && N ~= v.M) || ... + (size(v.EB,1) > 1 && N ~= size(v.EB,1)) || ... + (isscalar(v.EB) && N ~= v.EB) + error('Design matrix and exchangeability blocks of incompatible sizes'); + end + + % Design matrix: + if isempty(v.M) || isscalar(v.M) || v.CMCx + v.M = (1:N)'; + end + + % Create the shufflings: + if ... + isempty(v.EB) || ... + isscalar(v.EB) || ... + (isvector(v.EB) && numel(unique(v.EB)) == 1) + + % If no EBs were given, use simple shuffling: + simpleshuf = true; + Pset = palm_shuffree(v.M,v.P,v.CMCp,v.EE,v.ISE,true); + + else + + % Or use the multi-level blocks. Begin by reindexing the leaves: + simpleshuf = false; + v.EB = palm_reindex(v.EB,'fixleaves'); + + % Then create the permutation tree: + Ptree = palm_tree(v.EB,v.M); + + % Then the set of permutations: + Pset = palm_shuftree(Ptree,v.P,v.CMCp,v.EE,v.ISE,true); + end + varargout{1} = Pset; + + % Define the variance groups (for heteroscedasticity, if needed): + if nargout == 2 + + % Create the VGs: + if simpleshuf + VG = ones(N,1); + else + VG = palm_ptree2vg(Ptree); + end + varargout{2} = VG; + end + +% ====================================================== +function Br = palm_reindex(varargin) + % Reindexes blocks so that each is numbered natural numbers, + % starting from 1. There are two pure possibilities: the numbering + % goes continuously for each level, crossing block definitions, + % or it restarts at 1 for each new block. A third method is a + % mixture of both, i.e., it restarts at each block, but at the + % last block it is continuous, crossing blocks. + % Finally (and the default), it is also possible to add one + % extra column to treat the simplification in which the last + % level is omited for whole-block permutation ('fixleaves'). + % + % Usage: + % Br = palm_reindex(B,method) + % + % B : Block definitions (multilevel). + % meth : Method for reindexing: 'continuous', 'restart', + % 'mixed' or 'fixleaves' as described above. + % Default: 'fixleaves'. + % Br : Reindexed block definitions. + + + % Default + meth = 'fixleaves'; + + % Take care of input and output vars + B = varargin{1}; + Br = zeros(size(B)); + if nargin > 1 + meth = varargin{2}; + end + + switch lower(meth) + + case 'continuous' + + % Renumber using sequential natural numbers starting + % from 1 and crossing blocks. The first level is + % treated differently as it doesn't have a + % "previous" block. + U = unique(B(:,1)); + for u = 1:numel(U) + idx = B(:,1) == U(u); + Br(idx,1) = u*sign(U(u)); + end + for b = 2:size(B,2) % 2nd onwards + Bb = B(:,b); + Bp = Br(:,b-1); % previous + Up = unique(Bp); + cnt = 1; + for up = 1:numel(Up) + idxp = Bp == Up(up); + U = unique(Bb(idxp)); + for u = 1:numel(U) + idx = (Bb == U(u)) & idxp; + Br(idx,b) = cnt*sign(U(u)); + cnt = cnt + 1; + end + end + end + + case 'restart' + + % Renumber using sequential natural numbers + % starting from 1 but never crossing blocks, + % restarting instead for each block. + Br = renumber(B); + + case 'mixed' + + % This mixes both above + Ba = palm_reindex(B,'restart'); + Bb = palm_reindex(B,'continuous'); + Br = horzcat(Ba(:,1:end-1),Bb(:,end)); + + case 'fixleaves' + + % Renumber using sequential natural numbers + % starting from 1 but never crossing blocks, + % restarting instead for each block. + [Br,addcol] = renumber(B); + if addcol + Br = horzcat(Br,(1:size(Br,1))'); + Br = renumber(Br); + end + + otherwise + error('Unknown method: %s',meth); + end + +% ============================================== +function [Br,addcol] = renumber(B) + % Note that this runs recursively. + + B1 = B(:,1); + U = unique(B1); + addcolvec = false(size(U)); + nU = numel(U); + Br = zeros(size(B)); + for u = 1:nU + idx = B1 == U(u); + Br(idx,1) = u*sign(U(u)); + if size(B,2) > 1 + [Br(idx,2:end),addcolvec(u)] = renumber(B(idx,2:end)); + elseif sum(idx) > 1 + addcol = true; + Br(idx) = -abs(B(idx)); + else + addcol = false; + end + end + + if size(B,2) > 1 + addcol = any(addcolvec); + end + +% =================================================== +function Ptree = palm_tree(B,M) + % Generates a tree that takes the dependence structure + % between observations into account. From this tree, the + % permutations can be generated later. + % + % Usage: + % Ptree = palm_tree(B,M) + % + % - B : Multi-level block definitions. + % - M : Design matrix. + % - Ptree : Permutation tree, from which permutations are generated + % later. + % + % Each node is a cell with 4 elements: + % N{1,1} : A 3-column array for whole block in which: + % - the 1st is a sequence of indices that indicates the + % current lexicographic permutation. + % - the 2nd are indices that indicate the current + % shuffling in relation to the original + % - the 3rd are indices that indicate the current + % permutation in relation to the previous + % For within-block, this is a NaN. + % N{1,2} : A logical vector indicating the current state of sign + % flips for the tree. 0 is treated as 1, and 1 as -1. + % N{1,3} : The branches that begin here. + % + % Reference: + % * Winkler AM, Webster MA, Vidaurre D, Nichols TE, Smith SM. + % Multi-level block permutation. Neuroimage. 2015;123:253-68. + + if nargin == 1 || isempty(M) + M = (1:size(B,1))'; + elseif size(B,1) ~= size(M,1) + error('The two inputs must have the same number of rows.'); + end + + % Make some initial sanity checks: + Bs = sortrows(B); + warned = checkblk(Bs,Bs(1)>=0,0); + if warned + error([... + 'Due to one or more of the issues listed above, the block\n' ... + 'definition may cause problems when the permutations are generated.\n' ... + 'Please, correct the block definition file and try again.%s'],''); + end + + % Order of the observations in the original data. Note + % that B should have not been sorted, and should retain + % the order as originally entered by the user (even if + % the rows are totally scrambled). + O = (1:size(M,1))'; + + % Now make the actual tree. + % The sanity of the block definitions should have already + % been taken care of by the wrapper function, so no need to + % check validity here. If the first element is negative, + % it is fair to assume that so are the remaining of the + % elements in the first column. + wholeblock = B(1) > 0; + Ptree = cell(1,3); + [Ptree{1},Ptree{3}] = maketree( ... + B(:,2:end),M,O,wholeblock,wholeblock); + if wholeblock + Ptree{2} = false(size(Ptree{3},1),1); + else + Ptree{2} = []; + end + +% ============================================================== +function [S,Ptree] = maketree(B,M,O,wholeblock,nosf) + % Now makes the actual tree, each branch recursively. + % - B : Block definitions + % - M : Design matrix + % - O : Observation indices + % - wholeblock : boolean, indicates if this is part of whole-block + % at the immediately upper level. + % - nosf : It also implies no signflip this level, because + % of a higher whole-block) + + % Unique blocks at this level & some other vars for later + B1 = B(:,1); + U = unique(B1); + nU = numel(U); + if size(B,2) > 1 + Ptree = cell(nU,3); + else + Ptree = cell(nU,1); + end + + % For each block + for u = 1:nU + + % Enter into each unique block + idx = B1 == U(u); + + % If this isn't the last level, continue constructing + % the branches recursively. + if size(B,2) > 1 + wholeblockb = B(find(idx,1),1) > 0; + [Ptree{u,1},Ptree{u,3}] = ... + maketree( ... + B(idx,2:end), ... + M(idx,:), ... + O(idx), ... + wholeblockb, ... + wholeblockb || nosf); + Ptree{u,2} = []; + + % Count the number of possible sign-flips for these branches + if nosf + % If it was flipped at higher levels (whole-block) + Ptree{u,2} = []; + + elseif size(Ptree{u,3},2) > 1 + % If it might be flipped here, but there are distal branches: + % If this is whole-block, assign a number. If within-block, + % no sign-flips allowed at this level. + if isnan(Ptree{u,1}(1)) + Ptree{u,2} = []; + else + Ptree{u,2} = false(size(Ptree{u,3},1),1); + end + else + % If there are no further branches + Ptree{u,2} = false(size(Ptree{u,3},1),1); + end + + else + % At the terminal branches, there is no more tree, so + % just keep track of the observation indices. + Ptree{u,1} = O(idx); + end + end + + % Make the sequence of values that are the reference for the + % lexicographic permutations to be done later. This is doesn't + % apply to the highest level. + if wholeblock && nU > 1 + + % Identify repeated sets of rows, which receive then + % the same index; these repetitions are taken care of + % later by the Algorithm L. + B1M = sortrows([B1 M]); % B1 is here to be together with M during sorting + Ms = B1M(:,2:end); % but its removed here, as it's of no use. + [~,~,S] = unique(reshape(Ms',[numel(Ms)/nU nU])','rows'); + + % Put in ascending order, and (un)shuffle the branches + % accordingly + [S,idx] = sort(S); + S = [S (1:numel(S))' (1:numel(S))']; + Ptree = Ptree(idx,:); + + elseif wholeblock && nU == 1 + % For whole block starting at the second level, the + % permutation matrix is simply the number 1. + S = [1 1 1]; + + else + % There isn't whole-block permutation at the 1st level, + % only within-block, so this case is marked as NaN. + S = NaN; + end + +% ============================================================== +function warned = checkblk(B,wholeblock,recdepth) + % For a given block, check if: + % - the leftmost column is valid. + % - the blocks are of the same size for whole-block permutation. + % - the sign indicator is the same for all blocks for whole-block + % permutation. + % - the indices aren't 0 or non-integer. + % - the tree branches are all identical for whole-block permutation. + % Note this uses recursion. + + % Vars for later + warned = false; + B1 = B(:,1); + U = unique(B1); + nU = numel(U); + Ucnt = zeros(nU,1); + Usgn = Ucnt; + Uvec = cell(nU,1); + + % Using positive/negative indices implies that the leftmost column must + % exist and be filled entirely with the same digit. + if recdepth == 0 && numel(U) > 1 + error('The highest level (leftmost column) must be entirely filled by the same value.'); + end + + % For each block + for u = 1:nU + + if U(u) == 0 + + % The index 0 cannot be considered valid (neither + % positive or negative). + warning('The digit 0 should be avoided as block indicator (level %d).\n',recdepth); + warned = true; + + elseif rem(U(u),1) ~= 0 + + % Let's avoid fractional indices too. + warning('Non-integer indices should be avoided (level %d).\n',recdepth); + warned = true; + + else + + % Enter into each unique block to see what else + idx = B1 == U(u); + if size(B,2) > 1 + + % Here the test for whole-block permutation allows 0 as index, + % just so that these otherwise invalid blocks are not ignored. + % The warning message above should raise the user attention. + checkblk(B(idx,2:end),B(find(idx,1),1)>=0,recdepth+1); + + % This is to check if the remainder cols are all equal. It's + % necessary that the rows of the original B are sorted for this + % to work. + tmp = B(idx,2:end); + Uvec{u} = tmp(:)'; + end + + % Check the size and sign of the sub-blocks + Ucnt(u) = sum(idx); + Usgn(u) = sign(U(u)); + end + end + + % Check if all subblocks within each EB are of the same size. + if wholeblock && any(diff(Ucnt)) + + % Note that counting the number of times Matlab/Octave + % reports as the source of the error the line above where + % palm_renumber is called again also helps to identify + % which is the offending block level. + error('Not al sub-blocks within an EB are of the same size at level %d.\n',recdepth); + + elseif wholeblock && numel(unique(Usgn)) > 1 + + % Make sure that for whole-block permutation, there is no mix of + % sub-blocks with positive and negative signs, as these cannot be + % shuffled. + error('Not all sub-blocks within an EB have the same sign indicator at level %d.\n',recdepth); + + elseif wholeblock + + % Now check whether the branches that begin at a given level are all + % identical, as needed for whole-block permutation. Note that for this + % check to work, the blocks must be numbered using the "restart" (i.e., + % not "continuous") method. See the function palm_reindex.m. + Uvec = cell2mat(Uvec); + Ur = unique(Uvec,'rows'); + if size(Ur,1) > 1 + warning('Not all blocks are identical after level %d to allow valid whole-block permutation.\n',recdepth); + warned = true; + end + end + +% ================================================================== +function [Bset,nB,mtr] = palm_shuftree(varargin) + % This is a wrapper for the palm_permtree.m and palm_fliptree.m + % that generates a sigle set of permutations. It can also generate + % only permutations with sign-flipping depending on the input + % arguments. + % + % Usage (style 1) + % [Bset,nB] = palm_shuftree(Ptree,nP0,CMC,EE,ISE,idxout) + % + % Inputs: + % - Ptree : Permutation tree. + % - nP0 : Requested number of permutations. + % - CMC : Use Conditional Monte Carlo. + % - EE : Allow permutations? + % - ISE : Allow sign-flips? + % If you supply the EE argument, you must + % also supply ISE argument. If one is omited, + % the other needs to be omited too. + % Default is true for EE, and false for ISE. + % - idxout : (Optional) If true, the output isn't a cell + % array with permutation matrices, but an array + % with permutation indices. + % + % Outputs: + % - Bset : Set of permutations and/or sign flips. + % - nB : Number of permutations and/or sign-flips. + % + % + % Usage (style 2, to be used by the PALM main function): + % [Bset,nB,metr] = palm_shuftree(opts,plm) + % + % Inputs: + % - opts : Struct with PALM options + % - plm : Struct with PALM data + % + % Outputs: + % - Bset : Set of permutations and/or sign flips. + % - nB : Number of permutations and/or sign-flips. + + % Take arguments + if nargin == 2 || nargin == 4 + opts = varargin{1}; + plm = varargin{2}; + EE = opts.EE; + ISE = opts.ISE; + nP0 = opts.nP0; + CMC = opts.cmcp; + seq = plm.seq{varargin{3}}{varargin{4}}; + Ptree = palm_tree(plm.EB,seq); + idxout = false; + elseif nargin == 3 || nargin == 5 || nargin == 6 + Ptree = varargin{1}; + nP0 = varargin{2}; + CMC = varargin{3}; + if nargin == 5 || nargin == 6 + EE = varargin{4}; + ISE = varargin{5}; + else + EE = true; + ISE = false; + end + if nargin == 6 + idxout = varargin{6}; + else + idxout = false; + end + else + error('Incorrect number of input arguments'); + end + if ~EE && ~ISE + error('EE and/or ISE must be enabled, otherwise there is nothing to shuffle.') + end + + % Maximum number of shufflings (perms, sign-flips or both) + maxP = 1; + maxS = 1; + if EE + lmaxP = palm_maxshuf(Ptree,'perms',true); + maxP = exp(lmaxP); + if isinf(maxP) + fprintf('Number of possible permutations is exp(%g).\n',lmaxP); + else + fprintf('Number of possible permutations is %g.\n',maxP); + end + end + if ISE + lmaxS = palm_maxshuf(Ptree,'flips',true); + maxS = exp(lmaxS); + if isinf(maxS) + fprintf('Number of possible sign-flips is exp(%g).\n',lmaxS); + else + fprintf('Number of possible sign-flips is %g.\n',maxS); + end + end + maxB = maxP * maxS; + + % String for the screen output below + if EE && ~ISE + whatshuf = 'permutations only'; + whatshuf2 = 'perms'; + elseif ISE && ~EE + whatshuf = 'sign-flips only'; + whatshuf2 = 'flips'; + elseif EE && ISE + whatshuf = 'permutations and sign-flips'; + whatshuf2 = 'both'; + end + + % Generate the Pset and Sset + Pset = {}; + Sset = {}; + if nP0 == 0 || nP0 >= maxB + % Run exhaustively if the user requests too many permutations. + % Note that here CMC is irrelevant. + fprintf('Generating %g shufflings (%s).\n',maxB,whatshuf); + if EE + Pset = palm_permtree(Ptree,round(maxP),[],false,round(maxP)); + end + if ISE + Sset = palm_fliptree(Ptree,round(maxS),[],false,round(maxS)); + end + elseif nP0 < maxB + % Or use a subset of possible permutations. The nested conditions + % are to avoid repetitions, and to compensate fewer flips with more + % perms or vice versa as needed in the tight situations + fprintf('Generating %g shufflings (%s).\n',nP0,whatshuf); + if EE + if nP0 >= maxP + Pset = palm_permtree(Ptree,round(maxP),CMC,false,round(maxP)); + else + Pset = palm_permtree(Ptree,nP0,CMC,false,round(maxP)); + end + end + if ISE + if nP0 >= maxS + Sset = palm_fliptree(Ptree,round(maxS),CMC,false,round(maxS)); + else + Sset = palm_fliptree(Ptree,nP0,CMC,false,round(maxS)); + end + end + end + + % This ensures that there is at least 1 permutation (no permutation) + % and 1 sign-flipping (no sign-flipping). + nP = numel(Pset); + nS = numel(Sset); + if nP > 0 && nS == 0 + Sset{1} = Pset{1}; + nS = 1; + elseif nP == 0 && nS > 0 + Pset{1} = Sset{1}; + nP = 1; + end + + % Generate the set of shufflings, mixing permutations and + % sign-flippings as needed. + if nS == 1 + % If only 1 sign-flip is possible, ignore it. + Bset = Pset; + elseif nP == 1 + % If only 1 permutation is possible, ignore it. + Bset = Sset; + elseif nP0 == 0 || nP0 >= maxB + % If the user requested too many shufflings, do all + % those that are possible. + Bset = cell(maxB,1); + b = 1; + for p = 1:numel(Pset) + for s = 1:numel(Sset) + Bset{b} = Pset{p} * Sset{s}; + b = b + 1; + end + end + else + % The typical case, with an enormous number of possible + % shufflings, and the user choses a moderate number + Bset = cell(nP0,1); + % 1st shuffling is no shuffling, regardless + Bset{1} = Pset{1} * Sset{1}; + if CMC + % If CMC, no need to take care of repetitions. + for b = 2:nP0 + Bset{b} = Pset{randi(nP)} * Sset{randi(nS)}; + end + else + % Otherwise, avoid them + [~,idx] = sort(rand(nP*nS,1)); + idx = idx(1:nP0); + [pidx,sidx] = ind2sub([nP nS],idx); + for b = 2:nP0 + Bset{b} = Pset{pidx(b)} * Sset{sidx(b)}; + end + end + end + nB = numel(Bset); + + % In the draft mode, the permutations can't be in lexicographic + % order, but entirely shuffled. + if nargin == 2 || nargin == 4 + if opts.accel.negbin + Bset2 = cell(size(Bset)); + [~,idx] = sort(rand(nB,1)); + for p = 2:nB + Bset2{p} = Bset(idx(p)); + end + Bset = Bset2; + end + end + + % If the desired outputs are permutation indices instead + % of permutation matrices, output them + if idxout || ... % indices out instead of a cell array + (nargout == 3 && nargin == 4) % save metrics + + % Convert formats + Bidx = palm_swapfmt(Bset); + + % Compute some metrics + if nargout == 3 + Ptree1 = palm_tree(plm.EB,ones(size(seq))); + mtr = zeros(9,1); + [mtr(1),mtr(2),mtr(4)] = ... + palm_metrics(Ptree,seq,whatshuf2); + [~,~,mtr(3)] = ... + palm_metrics(Ptree1,ones(size(seq)),whatshuf2); + [mtr(5),mtr(6),mtr(7),mtr(8),mtr(9)] = palm_metrics(Bidx,seq,whatshuf2); + end + + % Output as indices if needed + if idxout + Bset = Bidx; + end + end \ No newline at end of file From 1e00a942a2e3125cd39adeeec2537f3afef968c6 Mon Sep 17 00:00:00 2001 From: Jim Pollaro Date: Fri, 21 Nov 2025 13:57:42 -0600 Subject: [PATCH 2/7] added quickperms and dependents, created quickperms class and hopefully implemented permutation --- +nla/+edge/+permutationMethods/Quickperms.m | 26 ++ +nla/+lib/palm_quickperms.m | 367 ++++++++++++++++++++ NLA_GUI.mlapp | Bin 87028 -> 87022 bytes 3 files changed, 393 insertions(+) create mode 100644 +nla/+edge/+permutationMethods/Quickperms.m diff --git a/+nla/+edge/+permutationMethods/Quickperms.m b/+nla/+edge/+permutationMethods/Quickperms.m new file mode 100644 index 00000000..3c4593af --- /dev/null +++ b/+nla/+edge/+permutationMethods/Quickperms.m @@ -0,0 +1,26 @@ +classdef Quickperms < nla.edge.permutationMethods.Base + %QUICKPERMS Implementation of Palm's quickperms method + % + % + + properties + permutation_count = 0 + end + + methods + function obj = Quickperms() + end + + function permuted_input_struct = permute(obj, orig_input_struct) + permuted_input_struct = copy(orig_input_struct); + permuted_input_struct.behavior = orig_input_struct.behavior(orig_input_struct.permutations(obj.permutation_count + 1)); + obj.permutation_count = obj.permutation_count + 1; + end + + function extended_input_struct = createPermutations(obj, orig_input_struct, number_permutations) + extended_input_struct = orig_input_struct; + [permutations, ~] = nla.lib.palm_quickperms(orig_input_struct.behavior, orig_input_struct.permutation_groups, number_permutations); + extended_input_struct.permutations = permutations; + end + end +end \ No newline at end of file diff --git a/+nla/+lib/palm_quickperms.m b/+nla/+lib/palm_quickperms.m index 6bb72bfc..2ab41cb6 100644 --- a/+nla/+lib/palm_quickperms.m +++ b/+nla/+lib/palm_quickperms.m @@ -750,4 +750,371 @@ if idxout Bset = Bidx; end + end +% ================================================ +function [Bset,nB,mtr] = palm_shuffree(varargin) + % A single function to generate a set of permutations and/or + % sign-flips. This function is a faster replacement to + % palm_shuftree.m when all observations are freely exchangeable, + % i.e., when there are no block restrictions and no tree needs + % to be constructed. + % + % Usage + % [Bset,nB] = palm_shuffree(M,nP0,CMC,EE,ISE,idxout) + % + % Inputs: + % - M : Design matrix. + % - nP0 : Requested number of permutations. + % - CMC : Use Conditional Monte Carlo? + % - EE : Allow permutations? + % - ISE : Allow sign-flips? + % If you supply the EE argument, you must + % also supply ISE argument. If one is omited, + % the other needs to be omited too. + % Default is true for EE, and false for ISE. + % - idxout : (Optional) If true, the output isn't a cell + % array with permutation matrices, but an array + % with permutation indices. + % + % Outputs: + % - Bset : Set of permutations and/or sign flips. + % - nB : Number of permutations and/or sign-flips. + % - mtr : Some metrics. See palm_metrics.m for details. + % + % _____________________________________ + % Anderson M. Winkler + % FMRIB / University of Oxford + % Jan/2014 + % http://brainder.org + + % Accept arguments + if nargin < 2 || nargin > 6 || nargin == 4 + error('Incorrect number of arguments'); + end + M = varargin{1}; + nP0 = varargin{2}; + if nargin > 2 + CMC = varargin{3}; + else + CMC = false; + end + if nargin > 4 + EE = varargin{4}; + ISE = varargin{5}; + else + EE = true; + ISE = false; + end + if nargin > 5 + idxout = varargin{6}; + else + idxout = false; + end + if ~EE && ~ISE + error('EE and/or ISE must be enabled, otherwise there is nothing to shuffle.') + end + + % Sequence of unique values to shuffle + N = size(M,1); + [~,~,seq] = unique(M,'rows'); + seqS = sortrows(horzcat(seq,(1:N)')); + U = unique(seq); + nU = numel(U); + + % Logs, to help later + lfac = palm_factorial(N); + + % Number of unique permutations & sign flips + maxP = 1; + maxS = 1; + lmaxP = 0; + lmaxS = 0; + if EE + nrep = zeros(size(U)); + for u = 1:nU + nrep(u) = sum(seqS(:,1) == U(u)); + end + lmaxP = lfac(N+1) - sum(lfac(nrep+1)); + maxP = round(exp(lmaxP)); + if nU == N + if isinf(maxP) + fprintf('Number of possible permutations is exp(%g) = %d!.\n',lmaxP,N); + else + fprintf('Number of possible permutations is %g = %d!.\n',maxP,N); + end + else + if isinf(maxP) + fprintf('Number of possible permutations is exp(%g).\n',lmaxP); + else + fprintf('Number of possible permutations is %g.\n',maxP); + end + end + end + if ISE + lmaxS = N * log(2); + maxS = 2^N; + if isinf(maxS) + fprintf('Number of possible sign-flips is exp(%g) = 2^%d.\n',lmaxS,N); + else + fprintf('Number of possible sign-flips is %g = 2^%d.\n',maxS,N); + end + end + maxB = maxP * maxS; + lmaxB = lmaxP + lmaxS; + + % String for the screen output below + if EE && ~ISE + whatshuf = 'permutations only'; + stype = 'perms'; + elseif ISE && ~EE + whatshuf = 'sign-flips only'; + stype = 'flips'; + elseif EE && ISE + whatshuf = 'permutations and sign-flips'; + stype = 'both'; + end + + % This ensures that there is at least 1 permutation (no permutation) + % and 1 sign-flipping (no sign-flipping). These are modified below as + % needed. + Pset = seqS(:,2); + Sset = ones(N,1); + + % Generate the Pset and Sset + if nP0 == 0 || nP0 >= maxB + % Run exhaustively if the user requests more permutations than possible. + % Note that here CMC is irrelevant. + fprintf('Generating %g shufflings (%s).\n',maxB,whatshuf); + if EE + Pset = horzcat(Pset,zeros(N,maxP-1)); + for p = 2:maxP + seqS = palm_nextperm(seqS); + Pset(:,p) = seqS(:,2); + end + end + if ISE + if N <= 52 + Sset = palm_d2b(0:maxS-1,N)'; + Sset(~~Sset) = -1; + Sset( ~Sset) = 1; + Sset = flipud(Sset); + else + Sset = false(N,maxS); + for s = 2:maxS + Sset(:,s) = palm_incrbin(Sset(:,s-1)); + end + end + end + elseif nP0 < maxB + % Or use a subset of possible permutations. The nested conditions + % are to avoid repetitions, and to compensate fewer flips with more + % perms or vice versa as needed in the tight situations + fprintf('Generating %g shufflings (%s).\n',nP0,whatshuf); + if EE + if nP0 >= maxP + Pset = horzcat(Pset,zeros(N,maxP-1)); + for p = 2:maxP + seqS = palm_nextperm(seqS); + Pset(:,p) = seqS(:,2); + end + else + Pset = horzcat(Pset,zeros(N,nP0-1)); + if CMC + for p = 1:nP0 + Pset(:,p) = randperm(N)'; + end + else + Pseq = zeros(size(Pset)); + Pseq(:,1) = seqS(:,2); + for p = 2:nP0 + whiletest = true; + while whiletest + Pset(:,p) = randperm(N)'; + Pseq(:,p) = seqS(Pset(:,p)); + whiletest = any(all(bsxfun(@eq,Pseq(:,p),Pseq(:,1:p-1)))); + end + end + end + end + end + if ISE + if nP0 >= maxS + Sset = palm_d2b(0:maxS-1,N)'; + Sset(~~Sset) = -1; + Sset( ~Sset) = 1; + else + if CMC + Sset = double(rand(N,nP0) > .5); + Sset(:,1) = 0; + Sset(~~Sset) = -1; + Sset( ~Sset) = 1; + else + Sset = zeros(N,nP0); + for p = 2:nP0 + whiletest = true; + while whiletest + Sset(:,p) = rand(N,1) > .5; + whiletest = any(all(bsxfun(@eq,Sset(:,p),Sset(:,1:p-1)))); + end + end + Sset(~~Sset) = -1; + Sset( ~Sset) = 1; + end + end + end + end + + % Generate the set of shufflings, mixing permutations and + % sign-flippings as needed. + nP = size(Pset,2); + nS = size(Sset,2); + if nS == 1 + % If only 1 sign-flip is possible, ignore it. + Bset = Pset; + elseif nP == 1 + % If only 1 permutation is possible, ignore it. + Bset = bsxfun(@times,Pset,Sset); + elseif nP0 == 0 || nP0 >= maxB + % If the user requested too many shufflings, do all + % those that are possible. + Bset = zeros(N,maxB); + b = 1; + for p = 1:size(Pset,2) + for s = 1:size(Sset,2) + Bset(:,b) = Pset(:,p) .* Sset(:,s); + b = b + 1; + end + end + else + % The typical case, with an enormous number of possible + % shufflings, and the user choses a moderate number + Bset = zeros(N,nP0); + % 1st shuffling is no shuffling, regardless + Bset(:,1) = (1:N)'; + if CMC + % If CMC, no need to take care of repetitions. + for b = 2:nP0 + Bset(:,b) = Pset(:,randi(nP)) .* Sset(:,randi(nS)); + end + else + % Otherwise, avoid them + [~,bidx] = sort(rand(nP*nS,1)); + bidx = bidx(1:nP0); + [pidx,sidx] = ind2sub([nP nS],bidx); + for b = 2:nP0 + Bset(:,b) = Pset(:,pidx(b)) .* Sset(:,sidx(b)); + end + end + end + nB = size(Bset,2); + + % Sort back to the original order + Bset = sortrows(Bset); + + % Compute some metrics + if nargout == 3 + mtr = zeros(9,1); + mtr(1:2) = lmaxB; + mtr(4) = 2^nU - 1; + [mtr(5),mtr(6),mtr(7),mtr(8),mtr(9)] = palm_metrics(Bset,seq,stype); + end + + % If the desired outputs are permutation matrices instead of indices + if ~ idxout + Bset = palm_swapfmt(Bset); + end +% =========================================== +function lfac = palm_factorial(N) + % Computes the log(factorial(0:N)), so dealing with + % precision issues. + % + % lfac = palm_factorial(N) + % + % _____________________________________ + % Anderson M. Winkler + % FMRIB / University of Oxford + % Dec/2012 + % http://brainder.org + + persistent lf; + if isempty(lf) || length(lf) < N+1 + lf = zeros(N+1,1); + for n = 1:N + lf(n+1) = log(n) + lf(n); + end + end + lfac = lf; +% ==================================== +function [a,succ] = palm_nextperm(a) + % Given a sequence of integers "a", returns the next lexicographic + % permutation of this sequence. If "a" is already the last possible + % permutation, returns a vector of zeros of size(a). + % Note that to shuffle vectors, they must be supplied as + % column vectors (N by 1). + % + % Usage: + % [a1,succ] = palm_nextperm(a) + % + % a : 2D array to be shuffled. Only the 1st column is + % considered for the permutations. The rows as a whole + % are shuffled together. + % a1 : Permuted sequence of values that corresponds to the + % next lexicographic permutation. + % succ : If a is already the last possible permutation, + % a1 = flipud(a) and succ is false. + % Otherwise sucs is true. + % + % This function is an implementation of the "Algorithm L", + % by D. Knuth (see "The Art of Computer Programming", Vol.4, + % Fasc.2: Generating All Tuples and Permutations. + % See also palm_algol.m to produce all possible permutations for + % a given sequence in a single function. + % + % _____________________________________ + % Anderson M. Winkler + % FMRIB / University of Oxford + % Feb/2012 (first version) + % Oct/2013 (this version) + % http://brainder.org + + % Algorithm L + % Step L2 + n = size(a,1); + j = n - 1; + while j > 0 && a(j,1) >= a(j+1,1) + j = j - 1; + end + + % If this isn't yet the last permutation, bring up the next one. + if j > 0 + + % Step L3 + l = n; + while a(j,1) >= a(l,1) + l = l - 1; + end + tmp = a(j,:); + a(j,:) = a(l,:); + a(l,:) = tmp; + + % Step L4 + k = j + 1; + l = n; + while k < l + tmp = a(k,:); + a(k,:) = a(l,:); + a(l,:) = tmp; + k = k + 1; + l = l - 1; + end + + % Was the permutation successful? + succ = true; + + else + % If the input is the last permutation, then there is no next. + % Return then the first shuffle and a successful flag "false" + % that can be tested outside. + a = flipud(a); + succ = false; end \ No newline at end of file diff --git a/NLA_GUI.mlapp b/NLA_GUI.mlapp index 36853e5037b01207878b67112e843c890daf58eb..b7e1b4f22ae2c1b708467048e20258f368ba51cc 100755 GIT binary patch delta 30887 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 Date: Wed, 3 Dec 2025 14:27:45 -0600 Subject: [PATCH 3/7] integrate quickperms fully --- +nla/+edge/+permutationMethods/Base.m | 2 +- +nla/+edge/+permutationMethods/BehaviorVec.m | 2 +- .../+permutationMethods/FCWildBootstrap.m | 2 +- +nla/+edge/+permutationMethods/None.m | 2 +- +nla/+edge/+permutationMethods/Quickperms.m | 27 +- +nla/+lib/palm_quickperms.m | 495 ++++++++++++++++++ +nla/TestPool.m | 2 +- NLA_GUI.mlapp | Bin 87022 -> 87099 bytes examples/fc_and_behavior/sample_behavior.mat | Bin 2880 -> 2993 bytes 9 files changed, 519 insertions(+), 13 deletions(-) diff --git a/+nla/+edge/+permutationMethods/Base.m b/+nla/+edge/+permutationMethods/Base.m index bdfb4737..7f1c166c 100755 --- a/+nla/+edge/+permutationMethods/Base.m +++ b/+nla/+edge/+permutationMethods/Base.m @@ -1,5 +1,5 @@ classdef Base methods (Abstract) - permuted_input_struct = permute(obj, orig_input_struct) + permuted_input_struct = permute(obj, orig_input_struct, permutation_number) end end \ No newline at end of file diff --git a/+nla/+edge/+permutationMethods/BehaviorVec.m b/+nla/+edge/+permutationMethods/BehaviorVec.m index 363f8e83..a4fa0d96 100755 --- a/+nla/+edge/+permutationMethods/BehaviorVec.m +++ b/+nla/+edge/+permutationMethods/BehaviorVec.m @@ -1,6 +1,6 @@ classdef BehaviorVec < nla.edge.permutationMethods.Base methods - function permuted_input_struct = permute(obj, orig_input_struct) + function permuted_input_struct = permute(obj, orig_input_struct, ~) permuted_input_struct = orig_input_struct; permuted_behavior = nla.helpers.permuteVector(orig_input_struct.behavior); permuted_input_struct.behavior = permuted_behavior; diff --git a/+nla/+edge/+permutationMethods/FCWildBootstrap.m b/+nla/+edge/+permutationMethods/FCWildBootstrap.m index 42999c83..dda7ffb9 100755 --- a/+nla/+edge/+permutationMethods/FCWildBootstrap.m +++ b/+nla/+edge/+permutationMethods/FCWildBootstrap.m @@ -1,6 +1,6 @@ classdef FCWildBootstrap < nla.edge.permutationMethods.Base methods - function permuted_input_struct = permute(obj, orig_input_struct) + function permuted_input_struct = permute(obj, orig_input_struct, ~) permuted_input_struct = orig_input_struct; permuted_input_struct.func_conn = orig_input_struct.func_conn.copy(); fcData = permuted_input_struct.func_conn.v'; diff --git a/+nla/+edge/+permutationMethods/None.m b/+nla/+edge/+permutationMethods/None.m index dccf792b..78f31889 100755 --- a/+nla/+edge/+permutationMethods/None.m +++ b/+nla/+edge/+permutationMethods/None.m @@ -1,6 +1,6 @@ classdef None < nla.edge.permutationMethods.Base methods - function permuted_input_struct = permute(~, orig_input_struct) + function permuted_input_struct = permute(~, orig_input_struct, ~) permuted_input_struct = orig_input_struct; end end diff --git a/+nla/+edge/+permutationMethods/Quickperms.m b/+nla/+edge/+permutationMethods/Quickperms.m index 3c4593af..f104c6e1 100644 --- a/+nla/+edge/+permutationMethods/Quickperms.m +++ b/+nla/+edge/+permutationMethods/Quickperms.m @@ -4,23 +4,34 @@ % properties - permutation_count = 0 end methods function obj = Quickperms() end - function permuted_input_struct = permute(obj, orig_input_struct) - permuted_input_struct = copy(orig_input_struct); - permuted_input_struct.behavior = orig_input_struct.behavior(orig_input_struct.permutations(obj.permutation_count + 1)); - obj.permutation_count = obj.permutation_count + 1; + function permuted_input_struct = permute(obj, orig_input_struct, permutation) + permuted_input_struct = orig_input_struct; + permuted_input_struct.behavior = orig_input_struct.behavior(orig_input_struct.permutations(:, permutation)); end - function extended_input_struct = createPermutations(obj, orig_input_struct, number_permutations) - extended_input_struct = orig_input_struct; + function orig_input_struct = createPermutations(obj, orig_input_struct, number_permutations) + % Check if all values in first column of permutation struct are single value + [rows, columns] = size(orig_input_struct.permutation_groups); + unique_values = unique(orig_input_struct.permutation_groups(:, columns)); + counts = ones(max(unique_values),1); + last_column = zeros(rows, 1); + for row_num = 1:rows + last_column(row_num) = counts(orig_input_struct.permutation_groups(row_num, columns)); + counts(orig_input_struct.permutation_groups(row_num, columns)) = counts(orig_input_struct.permutation_groups(row_num, columns)) + 1; + end + if ~all(orig_input_struct.permutation_groups(:, 1) == orig_input_struct.permutation_groups(1, 1)) + all_ones = ones(rows, 1); + orig_input_struct.permutation_groups = [all_ones orig_input_struct.permutation_groups]; + end + orig_input_struct.permutation_groups = [orig_input_struct.permutation_groups last_column]; [permutations, ~] = nla.lib.palm_quickperms(orig_input_struct.behavior, orig_input_struct.permutation_groups, number_permutations); - extended_input_struct.permutations = permutations; + orig_input_struct.permutations = permutations; end end end \ No newline at end of file diff --git a/+nla/+lib/palm_quickperms.m b/+nla/+lib/palm_quickperms.m index 2ab41cb6..b9efdea8 100644 --- a/+nla/+lib/palm_quickperms.m +++ b/+nla/+lib/palm_quickperms.m @@ -1117,4 +1117,499 @@ % that can be tested outside. a = flipud(a); succ = false; + end +% ================================= +function maxb = palm_maxshuf(Ptree,stype,uselog) + % Computes the maximum number of possible permutations given + % a tree that specifies the depencence between the observations. + % + % Usage: + % maxb = palm_maxshuf(Ptree,ptype,uselog) + % + % - Ptree : Permutation tree, generated by palm_tree. + % - stype : Shuffling type to count. It can be one of: + % - 'perms' for permutations. + % - 'flips' for sign-flips + % - 'both' for permutations with sign-flips. + % - uselog : A true/false indicating whether compute in logs. + % Default is false. + % - maxb : Maximum number of possible shufflings. + % + % _____________________________________ + % Anderson M. Winkler + % FMRIB / University of Oxford + % Oct/2013 + % http://brainder.org + + if nargin == 1 + stype = 'perms'; + uselog = false; + elseif nargin == 2 + uselog = false; + end + + if uselog + switch lower(stype) + case 'perms' + maxb = lmaxpermnode(Ptree,0); + case 'flips' + maxb = lmaxflipnode(Ptree,0); + maxb = maxb/log2(exp(1)); + case 'both' + maxp = lmaxpermnode(Ptree,0); + maxs = lmaxflipnode(Ptree,0); + maxs = maxs/log2(exp(1)); + maxb = maxp + maxs; + end + else + switch lower(stype) + case 'perms' + maxb = maxpermnode(Ptree,1); + case 'flips' + maxb = maxflipnode(Ptree,1); + case 'both' + maxp = maxpermnode(Ptree,1); + maxs = maxflipnode(Ptree,1); + maxb = maxp * double(maxs); + end + end + + % ============================================================== + function np = maxpermnode(Ptree,np) + % Number of permutations per node, recursive and + % incremental. + for u = 1:size(Ptree,1) + np = np * seq2np(Ptree{u,1}(:,1)); + if size(Ptree{u,3},2) > 1 + np = maxpermnode(Ptree{u,3},np); + end + end + + % ============================================================== + function np = seq2np(S) + % Takes a sequence of integers and computes the + % number of possible permutations. + U = unique(S); + nU = numel(U); + cnt = zeros(size(U)); + for u = 1:nU + cnt(u) = sum(S == U(u)); + end + np = factorial(numel(S))/prod(factorial(cnt)); + + % ============================================================== + function ns = maxflipnode(Ptree,ns) + % Number of sign-flips per node, recursive and + % incremental. + for u = 1:size(Ptree,1) + if size(Ptree{u,3},2) > 1 + ns = maxflipnode(Ptree{u,3},ns); + end + ns = ns * 2^length(Ptree{u,2}); + end + + % ============================================================== + function np = lmaxpermnode(Ptree,np) + % Number of permutations per node, recursive and + % incremental. + for u = 1:size(Ptree,1) + np = np + lseq2np(Ptree{u,1}(:,1)); + if size(Ptree{u,3},2) > 1 + np = lmaxpermnode(Ptree{u,3},np); + end + end + + % ============================================================== + function np = lseq2np(S) + % Takes a sequence of integers and computes the + % number of possible permutations. + nS = numel(S); + U = unique(S); + nU = numel(U); + cnt = zeros(size(U)); + for u = 1:nU + cnt(u) = sum(S == U(u)); + end + lfac = palm_factorial(nS); + np = lfac(nS+1) - sum(lfac(cnt+1)); + + % ============================================================== + function ns = lmaxflipnode(Ptree,ns) + % Number of sign-flips per node, recursive and + % incremental. Note the in/output are base2 logarithm. + for u = 1:size(Ptree,1) + if size(Ptree{u,3},2) > 1 + ns = lmaxflipnode(Ptree{u,3},ns); + end + ns = ns + length(Ptree{u,2}); + end +% ==================== +function [Pset,idx] = palm_permtree(Ptree,nP,cmc,idxout,maxP) + % Return a set of permutations from a permutation tree. + % + % Usage: + % Pset = palm_permtree(Ptree,nP,cmc,idxout,maxP) + % + % Inputs: + % - Ptree : Tree with the dependence structure between + % observations, as generated by 'palm_tree'. + % - nP : Number of permutations. Use 0 for exhaustive. + % - cmc : A boolean indicating whether conditional + % Monte Carlo should be used or not. If not used, + % there is a possibility of having repeated + % permutations. The more possible permutations, + % the less likely to find repetitions. + % - idxout : (Optional) is supplied, Pset is an array of indices + % rather than a cell array with sparse matrices. + % - maxP : (Optional) Maximum number of possible permutations. + % If not supplied, it's calculated internally. If + % supplied, it's not calculated internally and some + % warnings that could be printed are omitted. + % Also, this automatically allows nP>maxP (via CMC). + % + % Outputs: + % - Pset : A cell array of size nP by 1 containing sparse + % permutation matrices. If the option idxout is true + % then it's an array of permutation indices. + % - idx : Indices that allow sorting the branches of the + % tree back to the original order. Useful to + % reorder the sign-flips. + % + % Reference: + % * Winkler AM, Webster MA, Vidaurre D, Nichols TE, Smith SM. + % Multi-level block permutation. Neuroimage. 2015;123:253-68. + % + % _____________________________________ + % Anderson M. Winkler + % FMRIB / University of Oxford + % Oct/2013 + % http://brainder.org + + if nargout == 1 && nargin < 5 + maxP = palm_maxshuf(Ptree,'perms'); + if nP > maxP + nP = maxP; % the cap is only imposed if maxP isn't supplied + end + end + if nargin < 4 + idxout = false; + end + + % Permutation #1 is no permutation, regardless. + P = pickperm(Ptree,[])'; + P = horzcat(P,zeros(length(P),nP-1)); + + % All other permutations up to nP + if nP == 1 + + % Do nothing if only 1 permutation is to be done. This is + % here only for speed and because of the idx output that is + % used when sorting the sign-flips (palm_fliptree.m). + + elseif nP == 0 || nP == maxP + + % This will compute exhaustively all possible permutations, + % shuffling one branch at a time. If nP is too large, + % print a warning. + if nP > 1e5 && nargin <= 3 + warning([... + 'Number of possible permutations is %g.\n' ... + ' Performing all exhaustively.'],maxP); + end + for p = 2:maxP + Ptree = nextperm(Ptree); + P(:,p) = pickperm(Ptree,[])'; + end + + elseif cmc || nP > maxP + + % Conditional Monte Carlo. Repeated permutations allowed. + for p = 2:nP + Ptree = randomperm(Ptree); + P(:,p) = pickperm(Ptree,[])'; + end + + else + + % Otherwise, repeated permutations are not allowed. + % For this to work, maxP needs to be reasonably larger than + % nP, otherwise it will take forever to run, so print a + % warning. + if nP > maxP/2 && nargin <= 3 + warning([ + 'The maximum number of permutations (%g) is not much larger than\n' ... + 'the number you chose to run (%d). This means it may take a while (from\n' ... + 'a few seconds to several minutes) to find non-repeated permutations.\n' ... + 'Consider instead running exhaustively all possible' ... + 'permutations. It may be faster.'],maxP,nP); + end + + % For each perm, keeps trying to find a new, non-repeated + % permutation. + for p = 2:nP + whiletest = true; + while whiletest + Ptree = randomperm(Ptree); + P(:,p) = pickperm(Ptree,[])'; + whiletest = any(all(bsxfun(@eq,P(:,p),P(:,1:p-1)))); + end + end + end + + % The grouping into branches screws up the original order, which + % can be restored by noting that the 1st permutation is always + % the identity, so with indices 1:N. This same variable idx can + % be used to likewise fix the order of sign-flips (separate func). + [~,idx] = sort(P(:,1)); + P = P(idx,:); + + % For compatibility, convert each permutaion to a sparse permutation + % matrix. This section may be removed in the future if the + % remaining of the code is modified. + if idxout + Pset = P; + else + Pset = cell(nP,1); + for p = 1:nP + Pset{p} = palm_idx2perm(P(:,p)); + end + end + + % ============================================================== + function [Ptree,flagsucs] = nextperm(Ptree) + % Make the next single shuffle of tree branches, and return + % the shuffled tree. This can be used to compute exhaustively + % all possible permutations. + + % Some vars for later + nU = size(Ptree,1); + sucs = false(nU,1); + + % Make sure this isn't the last level (marked as NaN). + if size(Ptree,2) > 1 + + % For each branch of the current node + for u = 1:nU + + % If this is within-block at this level (marked as NaN), + % go deeper without trying to shuffle things. + [Ptree{u,3},sucs(u)] = nextperm(Ptree{u,3}); + if sucs(u) + if u > 1 + Ptree(1:u-1,:) = resetperms(Ptree(1:u-1,:)); + end + break; + elseif ~ isnan(Ptree{u,1}) + Ptree{u,1}(:,3) = (1:size(Ptree{u,1},1))'; + [tmp,sucs(u)] = palm_nextperm(Ptree{u,1}); + if sucs(u) + Ptree{u,1} = tmp; + Ptree{u,3} = resetperms(Ptree{u,3}); + Ptree{u,3} = Ptree{u,3}(Ptree{u,1}(:,3),:); + if u > 1 + Ptree(1:u-1,:) = resetperms(Ptree(1:u-1,:)); + end + break; + end + end + end + end + + % Pass along to the upper level the information that all + % the branches at this node finished (or not). + flagsucs = any(sucs); + + % ============================================================== + function Ptree = resetperms(Ptree) + % Recursively reset all permutations of a permutation tree + % back to the original state + + if size(Ptree,2) > 1 + for u = 1:size(Ptree,1) + if isnan(Ptree{u,1}) + Ptree{u,3} = resetperms(Ptree{u,3}); + else + Ptree{u,1}(:,3) = Ptree{u,1}(:,2); + [Ptree{u,1},idx] = sortrows(Ptree{u,1}); + Ptree{u,3} = Ptree{u,3}(idx,:); + Ptree{u,3} = resetperms(Ptree{u,3}); + end + end + end + + % ============================================================== + function Ptree = randomperm(Ptree) + % Make a random shuffle of all branches in the tree. + + % For each branch of the current node + nU = size(Ptree,1); + for u = 1:nU + + % Make sure this isn't within-block at 1st level (marked as NaN) + if ~ isnan(Ptree{u,1}(1)) + tmp = Ptree{u,1}(:,1); + Ptree{u,1} = Ptree{u,1}(randperm(size(Ptree{u,1},1)),:); + + % Only shuffle if at least one of the branches actually changes + % its position (otherwise, repeated branches would be needlessly + % shuffled, wasting permutations). + if any(tmp ~= Ptree{u,1}(:,1)) + Ptree{u,3} = Ptree{u,3}(Ptree{u,1}(:,3),:); + end + end + + % Make sure the next isn't the last level. + if size(Ptree{u,3},2) > 1 + Ptree{u,3} = randomperm(Ptree{u,3}); + end + end + + % ============================================================== + function P = pickperm(Ptree,P) + % Take a tree in a given state and return the permutation. This + % won't permute, only return the indices for the already permuted + % tree. This function is recursive and for the 1st iteration, + % P = [], i.e., a 0x0 array. + + nU = size(Ptree,1); + if size(Ptree,2) == 3 + for u = 1:nU + P = pickperm(Ptree{u,3},P); + end + elseif size(Ptree,2) == 1 + for u = 1:nU + P(numel(P)+1:numel(P)+numel(Ptree{u,1})) = Ptree{u,1}; + end + end +% =========================================== +function P = palm_idx2perm(I) + % Convert a set of indices into a + % sparse permutation matrix. + % _____________________________________ + % Anderson Winkler + % FMRIB / University of Oxford + % Feb/2012 + % http://brainder.org + + P = speye(numel(I)); + P = P(I,:); +% =========================================== +function Pnew = palm_swapfmt(Pset) + % Convert a set of permutation matrices to an array + % of permutation indices and vice versa. + % + % Cell array <===> Shuffling indices + % Shuffling indices <===> Cell array + % + % Pnew = palm_swapfmt(Pset) + % + % Pset : Set of permutations, sign-flips or both. + % This can be supplied either as a cell array + % of (sparse) permutation matrices, or an + % array of permutation indices. + % Pnew : The converted set of permutations. + % + % _____________________________________ + % Anderson M. Winkler + % FMRIB / University of Oxford + % Dec/2013 + % http://brainder.org + + if iscell(Pset) + Pnew = zeros(size(Pset{1},1),numel(Pset)); + I = (1:size(Pset{1},1))'; + for p = 1:numel(Pset) + Pnew(:,p) = Pset{p}*I; + end + if size(unique(abs(Pnew)','rows'),1) == 1 + Pnew = sign(Pnew); + end + else + P = speye(size(Pset,1)); + Pnew = cell(size(Pset,2),1); + for p = 1:size(Pset,2) + sgn = sign(Pset(:,p)); + idx = abs(Pset(:,p)); + if all(true(size(idx)) == idx) + Pnew{p} = sparse(diag(sgn)); + else + Pnew{p} = sparse(diag(sgn))*P(idx,:); + end + end + end +% =============================== +function VG = palm_ptree2vg(Ptree) + % Define the variance groups based on a block tree. + % + % Usage: + % VG = palm_ptree2vg(Ptree) + % + % Ptree : Tree with the dependence structure between + % observations, as generated by 'palm_tree'. + % VG : Vector with the indexed variance groups. + % + % Reference: + % * Winkler AM, Webster MA, Vidaurre D, Nichols TE, Smith SM. + % Multi-level block permutation. Neuroimage. 2015;123:253-68. + % + % _____________________________________ + % Anderson M. Winkler + % FMRIB / University of Oxford + % Nov/2013 + % http://brainder.org + + % Generate the variance groups, then reindex to integers + % for easier readability. + n = 1; + [VG,n] = pickvg(Ptree,isnan(Ptree{1,1}),n); + [~,~,VG] = unique(VG); + + % Fix the sorting of rows using the 1st permutation + [~,idx] = palm_permtree(Ptree,1,false); + VG = VG(idx,:); + + % ============================================== + function [VG,n] = pickvg(Ptree,withinblock,n) + % This is the one that actually does the job, recursively + % along the tree branches. + + % Vars for later + nU = size(Ptree,1); + VG = []; + + if size(Ptree,2) > 1 + % If this is not a terminal branch + + if withinblock + % If these branches cannot be swapped (within-block only), + % define vargroups for each of them, separately, going + % down more levels. + for u = 1:nU + [VGu,n] = pickvg(Ptree{u,3},isnan(Ptree{u,1}),n); + VG = vertcat(VG,VGu); %#ok it's just a small vector + end + + else + % If these branches can be swapped (whole-block), then it + % suffices to define the vargroups for the first one only, + % then replicate for the others. + [VGu,n] = pickvg(Ptree{1,3},isnan(Ptree{1,1}),n); + VG = repmat(VGu,[nU 1]); + end + + else + % If this is a terminal branch + + if withinblock + % If the observations cannot be shuffled, each has to belong + % to its own variance group, so one random number for each + sz = size(Ptree,1) - 1; + VG = (n:n+sz)'; + n = n + sz + 1; + else + % If the observations can be shuffled, then all belong to a + % single vargroup. + VG = n*ones(size(Ptree,1),1); + n = n + 1; + end end \ No newline at end of file diff --git a/+nla/TestPool.m b/+nla/TestPool.m index fdca9536..f10128ab 100755 --- a/+nla/TestPool.m +++ b/+nla/TestPool.m @@ -135,7 +135,7 @@ for iteration = block_start:block_end - 1 rng(iteration); - permuted_input = edge_input_struct.permute_method.permute(edge_input_struct); + permuted_input = edge_input_struct.permute_method.permute(edge_input_struct, iteration); permuted_input.iteration = iteration; single_edge_result = obj.runEdgeTest(permuted_input); diff --git a/NLA_GUI.mlapp b/NLA_GUI.mlapp index b7e1b4f22ae2c1b708467048e20258f368ba51cc..9ca362485003fda60ac00d0c89637526d8f0141f 100755 GIT binary patch delta 30947 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 E0BZ6I{r~^~ diff --git a/examples/fc_and_behavior/sample_behavior.mat b/examples/fc_and_behavior/sample_behavior.mat index c569c4ce05b627f2c33916a9196f310b472ea210..bcdc8d0c26836b6656b0693437297b3a69b35341 100755 GIT binary patch delta 2840 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 Date: Wed, 3 Dec 2025 20:28:07 +0000 Subject: [PATCH 4/7] Exported mlapp files --- NLA_GUI_exported.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/NLA_GUI_exported.m b/NLA_GUI_exported.m index 83571bb7..e4802faa 100644 --- a/NLA_GUI_exported.m +++ b/NLA_GUI_exported.m @@ -68,8 +68,8 @@ if ~isfield(app.input_struct, "permutation_groups") || isfield(app.input_struct, "permutation_groups") && (isequal(app.input_struct.permutation_groups, false) || isempty(app.input_struct.permutation_groups)) app.input_struct.permute_method = nla.edge.permutationMethods.BehaviorVec(); else - app.input_struct.permute_method = nla.edge.permutationMethods.MultiLevel(); - app.input_struct.permute_method = app.input_struct.permute_method.createPermutationTree(app.input_struct); + app.input_struct.permute_method = nla.edge.permutationMethods.Quickperms(); + app.input_struct = app.input_struct.permute_method.createPermutations(app.input_struct, app.net_input_struct.perm_count); end if errors_found From 6683a016f242c4394e70c01776e6d483c6451327 Mon Sep 17 00:00:00 2001 From: Jim Pollaro Date: Wed, 31 Dec 2025 11:24:28 -0600 Subject: [PATCH 5/7] fixed uneven groups permutation --- +nla/+edge/+permutationMethods/Quickperms.m | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/+nla/+edge/+permutationMethods/Quickperms.m b/+nla/+edge/+permutationMethods/Quickperms.m index f104c6e1..ccb8e335 100644 --- a/+nla/+edge/+permutationMethods/Quickperms.m +++ b/+nla/+edge/+permutationMethods/Quickperms.m @@ -16,17 +16,21 @@ end function orig_input_struct = createPermutations(obj, orig_input_struct, number_permutations) - % Check if all values in first column of permutation struct are single value [rows, columns] = size(orig_input_struct.permutation_groups); unique_values = unique(orig_input_struct.permutation_groups(:, columns)); - counts = ones(max(unique_values),1); + if ismember(0, unique_values) + orig_input_struct.permutation_groups(:, columns) = orig_input_struct.permutation_groups(:, columns) + 1; + unique_values = unique(orig_input_struct.permutation_groups(:, columns)); + end + counts = containers.Map(unique_values, ones(1, numel(unique_values))); last_column = zeros(rows, 1); for row_num = 1:rows last_column(row_num) = counts(orig_input_struct.permutation_groups(row_num, columns)); counts(orig_input_struct.permutation_groups(row_num, columns)) = counts(orig_input_struct.permutation_groups(row_num, columns)) + 1; end + % Check if all values in first column of permutation struct are single value if ~all(orig_input_struct.permutation_groups(:, 1) == orig_input_struct.permutation_groups(1, 1)) - all_ones = ones(rows, 1); + all_ones = -1 .* ones(rows, 1); orig_input_struct.permutation_groups = [all_ones orig_input_struct.permutation_groups]; end orig_input_struct.permutation_groups = [orig_input_struct.permutation_groups last_column]; From 567539a84176114f00b7a8570fb9ab36909304c5 Mon Sep 17 00:00:00 2001 From: Jim Pollaro Date: Wed, 31 Dec 2025 13:19:05 -0600 Subject: [PATCH 6/7] added dialog for computing permutations --- NLAResult.mlapp | Bin 32984 -> 29651 bytes NLA_GUI.mlapp | Bin 87099 -> 87353 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/NLAResult.mlapp b/NLAResult.mlapp index c21cb8cf489c131ab96f2a6aacbf39c340e3b675..8ee41c07213398871ed9082ff72ee9946a0977cc 100644 GIT binary patch delta 28421 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 z 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 diff --git a/NLA_GUI.mlapp b/NLA_GUI.mlapp index 9ca362485003fda60ac00d0c89637526d8f0141f..902bd5f6aa5df0b494d6e61c6e7afa30293b2aaa 100755 GIT binary patch delta 31138 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

{g3YcNjKMFEg^!zrk5-!V`_^H|G(>pn@XzFER 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 Date: Wed, 31 Dec 2025 19:19:25 +0000 Subject: [PATCH 7/7] Exported mlapp files --- NLAResult_exported.m | 16 ++++++++-------- NLA_GUI_exported.m | 3 +++ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/NLAResult_exported.m b/NLAResult_exported.m index 62e9bb1d..78f9c938 100644 --- a/NLAResult_exported.m +++ b/NLAResult_exported.m @@ -6,15 +6,15 @@ FileMenu matlab.ui.container.Menu SaveButton matlab.ui.container.Menu SaveSummaryTableMenu matlab.ui.container.Menu - OpenDiagnosticPlotsButton matlab.ui.control.Button - OpenTriMatrixPlotButton matlab.ui.control.Button - BranchLabel matlab.ui.control.Label - RunButton matlab.ui.control.Button - NetLevelLabel matlab.ui.control.Label - ViewEdgeLevelButton matlab.ui.control.Button - EdgeLevelLabel matlab.ui.control.Label - FlipNestingButton matlab.ui.control.Button ResultTree matlab.ui.container.Tree + FlipNestingButton matlab.ui.control.Button + EdgeLevelLabel matlab.ui.control.Label + ViewEdgeLevelButton matlab.ui.control.Button + NetLevelLabel matlab.ui.control.Label + RunButton matlab.ui.control.Button + BranchLabel matlab.ui.control.Label + OpenTriMatrixPlotButton matlab.ui.control.Button + OpenDiagnosticPlotsButton matlab.ui.control.Button end diff --git a/NLA_GUI_exported.m b/NLA_GUI_exported.m index e4802faa..c9e4c162 100644 --- a/NLA_GUI_exported.m +++ b/NLA_GUI_exported.m @@ -69,7 +69,10 @@ app.input_struct.permute_method = nla.edge.permutationMethods.BehaviorVec(); else app.input_struct.permute_method = nla.edge.permutationMethods.Quickperms(); + d = uiprogressdlg(app.NetworkLevelAnalysisUIFigure, "Title", "Computing permutations", "Indeterminate","on"); + drawnow app.input_struct = app.input_struct.permute_method.createPermutations(app.input_struct, app.net_input_struct.perm_count); + close(d) end if errors_found