From 539506743597f427e2cc27997d0cfc2f620c2800 Mon Sep 17 00:00:00 2001 From: Andy Date: Wed, 17 Dec 2025 17:19:33 -0600 Subject: [PATCH 1/5] Add new files from dev swe branch without NLAResult or TestPool changes --- .../+permutationMethods/FCWildBootstrap.m | 7 +- +nla/+edge/+result/MultiContrast.m | 51 ++++ +nla/+edge/+test/OrdinaryLeastSquares.m | 22 ++ +nla/+edge/+test/SandwichEstimator.m | 254 ++++++++++++++++++ +nla/+edge/ContrastInput.m | 32 +++ +nla/+edge/ContrastInputGUI.mlapp | Bin 0 -> 84251 bytes +nla/+edge/SandwichEstimatorInputGUI.mlapp | Bin 0 -> 55547 bytes +nla/+helpers/+stdError/Guillaume.m | 3 + +nla/+helpers/+stdError/Heteroskedastic.m | 6 +- .../+helpers/+stdError/Heteroskedastic_FAST.m | 4 + +nla/+helpers/+stdError/Homoskedastic.m | 4 + +nla/+helpers/+stdError/UnconstrainedBlocks.m | 9 +- +nla/+helpers/wildBootstrap.m | 60 +++-- +nla/+inputField/OrdinaryLeastSquares.m | 57 ++++ +nla/+inputField/SandwichEstimator.m | 99 +++++++ 15 files changed, 582 insertions(+), 26 deletions(-) create mode 100644 +nla/+edge/+result/MultiContrast.m create mode 100644 +nla/+edge/+test/OrdinaryLeastSquares.m create mode 100755 +nla/+edge/+test/SandwichEstimator.m create mode 100644 +nla/+edge/ContrastInput.m create mode 100644 +nla/+edge/ContrastInputGUI.mlapp create mode 100644 +nla/+edge/SandwichEstimatorInputGUI.mlapp create mode 100644 +nla/+inputField/OrdinaryLeastSquares.m create mode 100644 +nla/+inputField/SandwichEstimator.m diff --git a/+nla/+edge/+permutationMethods/FCWildBootstrap.m b/+nla/+edge/+permutationMethods/FCWildBootstrap.m index 42999c83..e91ff511 100755 --- a/+nla/+edge/+permutationMethods/FCWildBootstrap.m +++ b/+nla/+edge/+permutationMethods/FCWildBootstrap.m @@ -4,7 +4,12 @@ permuted_input_struct = orig_input_struct; permuted_input_struct.func_conn = orig_input_struct.func_conn.copy(); fcData = permuted_input_struct.func_conn.v'; - permuted_fcData = nla.helpers.wildBootstrap(fcData, [orig_input_struct.behavior, orig_input_struct.covariates], orig_input_struct.contrasts); + if isfield(orig_input_struct,'behavior') && (orig_input_struct.behavior ~= 0) + allCovariates = [orig_input_struct.behavior, orig_input_struct.covariates]; + else + allCovariates = orig_input_struct.covariates; + end + permuted_fcData = nla.helpers.wildBootstrap(fcData, allCovariates, orig_input_struct.contrasts); permuted_input_struct.func_conn.v = permuted_fcData'; end end diff --git a/+nla/+edge/+result/MultiContrast.m b/+nla/+edge/+result/MultiContrast.m new file mode 100644 index 00000000..8ec83bd2 --- /dev/null +++ b/+nla/+edge/+result/MultiContrast.m @@ -0,0 +1,51 @@ +classdef MultiContrast < nla.edge.result.Base + + properties + contrastNames %cell array of names of each contrast + contrastValues % m x p matrix. Each row is the vector of values for one contrast + contrastResultsMap % containers.Map object that stores each contrast with the key of its name + end + + + methods + + function obj = MultiContrast() + obj.contrastNames = {}; + obj.contrastValues = []; + obj.contrastResultsMap = containers.Map(); + end + + function addNamedResult(obj, contrastName, resultObj) + obj.contrastNames{end+1} = contrastName; + if isempty(obj.contrastValues) + obj.contrastValues = resultObj.contrasts; + else + obj.contrastValues(end+1,:) = resultObj.contrasts; + end + obj.contrastResultsMap(contrastName) = resultObj; + end + + function resultObj = getNamedResult(obj, contrastName) + if obj.contrastResultsMap.isKey(contrastName) + resultObj = obj.contrastResultsMap(contrastName); + else + resultObj = []; + end + end + + function clearResults(obj) + obj.contrastNames = {}; + obj.contrastValues = []; + obj.contrastResultsMap = containers.Map(); + end + + function outStrArrays = contrastsAsStrings(obj) + outStrArrays = obj.contrastResultsMap.keys'; + end + + end + + + + +end \ No newline at end of file diff --git a/+nla/+edge/+test/OrdinaryLeastSquares.m b/+nla/+edge/+test/OrdinaryLeastSquares.m new file mode 100644 index 00000000..6a920a1d --- /dev/null +++ b/+nla/+edge/+test/OrdinaryLeastSquares.m @@ -0,0 +1,22 @@ +classdef OrdinaryLeastSquares < nla.edge.test.SandwichEstimator + + + methods + %Hacky way to change name and coeff_name in superclass is to change + %properties in constructor + function obj = OrdinaryLeastSquares() + + obj = obj@nla.edge.test.SandwichEstimator(); + obj.name = "Ordinary Least Squares"; + obj.coeff_name = "Contrast T -value"; + end + + end + + methods (Static) + function inputs = requiredInputs() + inputs = {nla.inputField.Number('prob_max', 'Edge-level P threshold <', 0, 0.05, 1),... + nla.inputField.NetworkAtlasFuncConn(), nla.inputField.OrdinaryLeastSquares()}; + end + end +end \ No newline at end of file diff --git a/+nla/+edge/+test/SandwichEstimator.m b/+nla/+edge/+test/SandwichEstimator.m new file mode 100755 index 00000000..a16d90b5 --- /dev/null +++ b/+nla/+edge/+test/SandwichEstimator.m @@ -0,0 +1,254 @@ +classdef SandwichEstimator < nla.edge.BaseTest + %SANDWICHESTIMATOR Summary of this class goes here + % Detailed explanation goes here + properties + name = "Sandwich Estimator" + coeff_name = 'SwE Contrast T-value' + end + + properties + % test specific properties go here (things that will persist + % over multiple runs) + aren't specific to a given data set) + + nonpermRegressCoeffs + nonpermResiduals + end + + methods + function obj = SandwichEstimator() + obj@nla.edge.BaseTest(); + + end + + function result = run(obj, input_struct) + + sweInput = obj.sweInputObjFromStruct(input_struct); + + if ~isfield(input_struct, 'fit_intercept') | input_struct.fit_intercept + sweInput = obj.addInterceptCovariateToInputIfNone(sweInput); %Forces model to include fitting an intercept term. Adds column to covariates and contrasts + end + + numContrasts = size(sweInput.contrasts,1); + if numContrasts == 1 + result = obj.fitModel(sweInput); + else + result = cell(numContrasts,1); + for i = 1:numContrasts + thisInput = sweInput; + thisInput.contrasts = sweInput.contrasts(i,:); + result{i} = obj.fitModel(thisInput); + end + end + + + end + + + end + + + methods (Access = private) + + + function sweInputStruct = sweInputObjFromStruct(obj, input_struct) + + sweInputStruct = struct(); + + if isfield(input_struct, 'subjId') + sweInputStruct.subjId = input_struct.subjId; + else + numObs = size(input_struct.covariates,1); + sweInputStruct.subjId = (1:numObs)'; + end + + if isfield(input_struct, 'groupId') + sweInputStruct.groupId = input_struct.groupId; + else + sweInputStruct.groupId = ones(length(input_struct.subjId),1); + end + + if isfield(input_struct, 'visitId') + sweInputStruct.visitId = input_struct.visitId; + else + sweInputStruct.visitId = ones(length(sweInputStruct.subjId),1); + end + + sweInputStruct.fcData = input_struct.func_conn.v'; + if isfield(input_struct, 'behavior') & (input_struct.behavior ~= 0) + sweInputStruct.covariates = [input_struct.behavior, input_struct.covariates]; + else + sweInputStruct.covariates = input_struct.covariates; + end + %sweInput.scanMetadata = scanMetadata; + sweInputStruct.prob_max = input_struct.prob_max; + sweInputStruct.contrasts = input_struct.contrasts; + + if isfield(input_struct, 'stdErrCalcObj') + sweInputStruct.stdErrCalcObj = input_struct.stdErrCalcObj; %How will this really be passed in? + else + sweInputStruct.stdErrCalcObj = nla.helpers.stdError.UnconstrainedBlocks(); + end + + if isfield(input_struct, 'fit_intercept') + sweInputStruct.fit_intercept = input_struct.fit_intercept; + end + + end + + function sweInput = addInterceptCovariateToInputIfNone(obj, sweInput) + + + columnIsAllSameValue = ~any(diff(sweInput.covariates,1),1); + if ~any(columnIsAllSameValue) + %If no column in covariates is currently all same value, + %add a column so that an intercept term is fit by the + %linear model + numObs = size(sweInput.covariates,1); + sweInput.covariates = [sweInput.covariates, ones(numObs,1)]; + sweInput.contrasts = [sweInput.contrasts, 0]; + + end + + + + end + + + function sweRes = fitModel(obj, input) + + + numFcEdges = size(input.fcData,2); + + %the data for each scan in fcData (ie each row) represents the + %flattened lower triangle of fc data. Use the number of fc + %edges represented to compute the size of the original + %non-flattened matrix, which is needed to construct a result + %object + fcMatSize = (1 + sqrt(1 + 4*(numFcEdges*2))) / 2; + + sweRes = nla.edge.result.SandwichEstimator(fcMatSize, input.prob_max); + + designMtx = input.covariates; + %designMtx = obj.zeroMeanUnitVarianceByColumn(designMtx); %Make covariates zero mean unit variance + + [regressCoeffs, residual] = obj.fitLinearModel(input.fcData, designMtx); + + + %Build input and pass to one of several methods for calculating + %standard error + %TODO: Should this calculate beta covariance instead? + + stdErrCalcObj = input.stdErrCalcObj; + %stdErrCalcObj = nlaEckDev.sweStdError.Guillaume(); %If you want to hard code the std err calc object + + stdErrInput = struct();% nlaEckDev.sweStdError.SwEStdErrorInput(); + scanMetadata = struct(); + scanMetadata.subjId = input.subjId; % vec [numScans] + scanMetadata.groupId = input.groupId;%groupId; % vec [numScans] + scanMetadata.visitId = input.visitId; % vec [numScans] + + stdErrInput.scanMetadata = scanMetadata; + stdErrInput.residual = residual; + stdErrInput.pinvDesignMtx = pinv(designMtx); + + %sweRes.stdError = stdErrCalcObj.calculate(stdErrInput); + stdError = stdErrCalcObj.calculate(stdErrInput); + + + contrastCalc = input.contrasts * regressCoeffs; + contrastSE = sqrt((input.contrasts.^2) * (stdError.^2)); + + dof = obj.calcDegreesOfFreedom(designMtx); + + %tVals = regressCoeffs ./ stdError; + contrastTVal = contrastCalc ./ contrastSE; + + %pVals = zeros(size(tVals)); + contrastPVal = 2*(1-cdf('T',abs(contrastTVal),dof)); + + %sweRes.tVals = tVals; + %sweRes.pVals = pVals; + %sweRes.regressCoeffs = regressCoeffs; + sweRes.coeff.v = contrastTVal'; + sweRes.prob.v = contrastPVal'; + sweRes.prob_sig.v = (sweRes.prob.v < input.prob_max); + sweRes.avg_prob_sig = sum(sweRes.prob_sig.v) ./ numel(sweRes.prob_sig.v); + sweRes.contrasts = input.contrasts; + + %Change expected coefficient range to be more accurate to Sandwich + %Estimator ranges + sweRes.coeff_range = [-3 3]; + + end + + + function outResidual = calcResidual(obj, X, pInvX, Y) + + hat = X * pInvX; + + residCorrectFactor = (1 - diag(hat)).^(-1); %Type 3 residual correction defined in Guillaume 2014 + + %compute residuals + + % Goal is to multiply row for each subject by respective + % correction factor in vector residCorrectFactor. + % Below equation is equivalent to row wise multiplying Y-hat*Y + % with elements of residCorrectFactor. + % It is exactly equivalent to: + % outResidual = diag(residCorrectFactor) * (Y - hat*Y); + % but over twice as fast by avoiding constructing sparse + % [subjxsubj] matrix of diag(residCorrectFactor) + + %outResidual = diag(residCorrectFactor) * (Y - hat*Y); + outResidual = residCorrectFactor .* (Y - hat*Y); + + + end + + function outMtx = zeroMeanUnitVarianceByColumn(obj, inMtx) + + outMtx = zeros(size(inMtx)); + + for colIdx = 1:size(inMtx,2) + + colMean = mean(inMtx(:,colIdx)); + colStd = std(inMtx(:,colIdx)); + if colStd ~=0 + outMtx(:,colIdx) = (inMtx(:,colIdx) - colMean) / colStd; + else + %If all values of column are same, do not change them + %TODO: handle this here??? or somewhere else? + %TODO: set to zeros? ones? orig values? + outMtx(:,colIdx) = inMtx(:,colIdx); + end + + end + + end + + function degOfFree = calcDegreesOfFreedom(obj, designMtx) + + degOfFree = size(designMtx,1) - size(designMtx,2) - 1; + + end + + function [regressCoeffs, residual] = fitLinearModel(obj, fcData, designMtx) + + pinvDesignMtx = pinv(designMtx); + regressCoeffs = pinvDesignMtx * fcData; + residual = obj.calcResidual(designMtx, pinvDesignMtx, fcData); + + end + + + + end % end private methods + + methods (Static) + function inputs = requiredInputs() + inputs = {nla.inputField.Number('prob_max', 'Edge-level P threshold <', 0, 0.05, 1),... + nla.inputField.NetworkAtlasFuncConn(), nla.inputField.SandwichEstimator()}; + end + end +end + diff --git a/+nla/+edge/ContrastInput.m b/+nla/+edge/ContrastInput.m new file mode 100644 index 00000000..f839522b --- /dev/null +++ b/+nla/+edge/ContrastInput.m @@ -0,0 +1,32 @@ +classdef ContrastInput < handle & matlab.mixin.Copyable + + properties + dataTable = []; + name = ''; + contrastVector = []; + end + + methods + function isValidFlag = isValid(obj) + if any(~isspace(obj.name)) + isValidFlag = true; + else + isValidFlag = false; + end + end + + function str = asDetailedString(obj) + str = sprintf('%s (%s)',obj.name, obj.contrastVectorAsString()); + end + + function str = contrastVectorAsString(obj) + str = num2str(obj.contrastVector); + str = regexprep(str, '\s+', ' '); + end + end + + + + + +end \ No newline at end of file diff --git a/+nla/+edge/ContrastInputGUI.mlapp b/+nla/+edge/ContrastInputGUI.mlapp new file mode 100644 index 0000000000000000000000000000000000000000..30125ad53f6c9b61acf7ccf4ca89eafffafeb0ec GIT binary patch literal 84251 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%0D>d38$?M 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%0D@J$NbWqJ?L>YyFwX)cO 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 QPA(uk3ryA)ZlEXw0FmU=-T(jq literal 0 HcmV?d00001 diff --git a/+nla/+edge/SandwichEstimatorInputGUI.mlapp b/+nla/+edge/SandwichEstimatorInputGUI.mlapp new file mode 100644 index 0000000000000000000000000000000000000000..27e8cdd69181789eb1b48bedb519fc88245397c4 GIT binary patch literal 55547 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 a|D&>4?Hwl8U)SLwKf}nsHQDrEzy1gBo9Vy+ literal 0 HcmV?d00001 diff --git a/+nla/+helpers/+stdError/Guillaume.m b/+nla/+helpers/+stdError/Guillaume.m index f2f65cc3..616f4501 100755 --- a/+nla/+helpers/+stdError/Guillaume.m +++ b/+nla/+helpers/+stdError/Guillaume.m @@ -9,6 +9,9 @@ properties totalSpectralCorrections; end + properties (SetAccess = protected) + REQUIRES_GROUP = true; + end methods diff --git a/+nla/+helpers/+stdError/Heteroskedastic.m b/+nla/+helpers/+stdError/Heteroskedastic.m index 0305632a..2dc7174b 100755 --- a/+nla/+helpers/+stdError/Heteroskedastic.m +++ b/+nla/+helpers/+stdError/Heteroskedastic.m @@ -1,10 +1,14 @@ classdef Heteroskedastic < nla.helpers.stdError.AbstractSwEStdErrStrategy + + properties (SetAccess = protected) + REQUIRES_GROUP = true; + end methods function stdErr = calculate(obj, sweStdErrInput) - validateattributes(sweStdErrInput, 'nlaEckDev.sweStdError.SwEStdErrorInput', {}); + %Calculation of standard error assuming heteroskedascticity %consistent errors [numCovariates, numObs] = size(sweStdErrInput.pinvDesignMtx); diff --git a/+nla/+helpers/+stdError/Heteroskedastic_FAST.m b/+nla/+helpers/+stdError/Heteroskedastic_FAST.m index 5b240894..ef672a86 100755 --- a/+nla/+helpers/+stdError/Heteroskedastic_FAST.m +++ b/+nla/+helpers/+stdError/Heteroskedastic_FAST.m @@ -1,4 +1,8 @@ classdef Heteroskedastic_FAST < nla.helpers.stdError.AbstractSwEStdErrStrategy + + properties (SetAccess = protected) + REQUIRES_GROUP = true; + end methods diff --git a/+nla/+helpers/+stdError/Homoskedastic.m b/+nla/+helpers/+stdError/Homoskedastic.m index fce89f6b..0c7b0c1b 100755 --- a/+nla/+helpers/+stdError/Homoskedastic.m +++ b/+nla/+helpers/+stdError/Homoskedastic.m @@ -1,4 +1,8 @@ classdef Homoskedastic < nla.helpers.stdError.AbstractSwEStdErrStrategy + + properties (SetAccess = protected) + REQUIRES_GROUP = false; + end methods diff --git a/+nla/+helpers/+stdError/UnconstrainedBlocks.m b/+nla/+helpers/+stdError/UnconstrainedBlocks.m index 18944e06..682848e9 100755 --- a/+nla/+helpers/+stdError/UnconstrainedBlocks.m +++ b/+nla/+helpers/+stdError/UnconstrainedBlocks.m @@ -5,6 +5,9 @@ SPARSITY_THRESHOLD = 0.2; end + properties (SetAccess = protected) + REQUIRES_GROUP = true; + end methods @@ -27,11 +30,11 @@ FORCE_HALF_SW_ALGO = true; if FORCE_HALF_SW_ALGO - stdErrStrategy = nlaEckDev.sweStdError.UnconstrainedBlocks_BenKay(); + stdErrStrategy = nla.helpers.stdError.UnconstrainedBlocks_BenKay(); elseif vSparsity <= obj.SPARSITY_THRESHOLD - stdErrStrategy = nlaEckDev.sweStdError.UnconstrainedBlocks_Sparse(); + stdErrStrategy = nla.helpers.stdError.UnconstrainedBlocks_Sparse(); else - stdErrStrategy = nlaEckDev.sweStdError.UnconstrainedBlocks_Dense(); + stdErrStrategy = nla.helpers.stdError.UnconstrainedBlocks_Dense(); end stdErr = stdErrStrategy.calculate(sweStdErrInput); diff --git a/+nla/+helpers/wildBootstrap.m b/+nla/+helpers/wildBootstrap.m index d366a5e3..fb964a35 100755 --- a/+nla/+helpers/wildBootstrap.m +++ b/+nla/+helpers/wildBootstrap.m @@ -1,33 +1,51 @@ -function outY = wildBootstrap(inY, inX, inContrasts) +function outY = wildBootstrap(inY, inX, inContrasts, origBeta, origResidual) %Inputs %inY - [n x m] matrix (n observations, m outputs per observation) %inX - [n x p] matrix (n observations, p covariates) %inContrasts - 1 x p matrix indicating which covariates we care about, - %and which are noise. Model and resulting residulas will be calculated - %by fitting a model only to noise + %and which are noise. Model and resulting residuals will be calculated + %by fitting a model only to noise + %origBeta (optional) - p x 1 vector of beta weights if we've already fit the + %linear model + %origResidual (optional) - n x 1 vector of residuals if we've already fit the + %linear model - %Fit linear model to only noise variables - covariateIsNoise = inContrasts == 0; - xNoise = inX(:,covariateIsNoise); - pinvNoiseX = pinv(xNoise); - beta = pinvNoiseX * inY; - residual = inY - xNoise * beta; - - %TODO: make this flexible to choose different random dists to - %hit residuals with - %Currently is hardcoded to use rademacher distribution (ie +1 - %or -1 with equal likelihood + %If beta and residual not provided, calculate them now + + if nargin <=3 + + %Fit linear model to only noise variables - incorrect! fit to all, then + %re-add betas for noise variables + % covariateIsNoise = inContrasts == 0; + % xNoise = inX(:,covariateIsNoise); + % pinvNoiseX = pinv(xNoise); + % beta = pinvNoiseX * inY; + % residual = inY - xNoise * beta; + + %Fit linear model to all variables + pinvX = pinv(inX); + beta = pinvX * inY; + else + beta = origBeta; + end + + %if residual not provided, calculate it from x, y, and beta + if nargin <=4 + residual = inY - inX * beta; + else + residual = origResidual; + end + + %generate new values by using betas from noise only, and adding in + %random multiplier of residual numObs = size(inX,1); residualNoiseMultFactor = getRademacherVector(numObs); - - %Applying this noise factor to all fc edges for one - %observation. Is this valid??? - - outY = xNoise * beta + (residualNoiseMultFactor .* residual); %MATLAB can interpret dot multiplication as row-wise multiplication! - - + + covariateIsNoise = inContrasts == 0; + outY = inX(:,covariateIsNoise) * beta(covariateIsNoise,:) + (residualNoiseMultFactor .* residual); + end function outVec = getRademacherVector(numPts) diff --git a/+nla/+inputField/OrdinaryLeastSquares.m b/+nla/+inputField/OrdinaryLeastSquares.m new file mode 100644 index 00000000..f664d8c2 --- /dev/null +++ b/+nla/+inputField/OrdinaryLeastSquares.m @@ -0,0 +1,57 @@ +classdef OrdinaryLeastSquares < nla.inputField.SandwichEstimator + %This class will act nearly identically to the SandwichEstimator input, + %with the only difference being that it will startup the sandwich + %estimator input GUI with an extra flag indicating that we will force + %the standard error calculation to be the homoskedastic one. + % + %It overrides the following functions from the base class: + %draw(...), giving the button a different label specific to OLS, and + %a different callback that starts the sandwich input GUI with a flag + %that forces OLS + + methods + + function obj = OrdinaryLeastSquares() + obj = obj@nla.inputField.SandwichEstimator(); + obj.name = 'ordinary_least_squares'; + obj.disp_name = 'Ordinary Least Squares'; + end + end + + methods + function [w, h] = draw(obj, x, y, parent, fig) + import nla.inputField.LABEL_H nla.inputField.LABEL_GAP + + table_h = 300; + h = LABEL_H + LABEL_GAP + table_h + LABEL_GAP + LABEL_H + LABEL_GAP + LABEL_H; + h = 50; + + + %% 'Set Behavior' button + [obj.button_start_sandwich_gui, w3] = obj.createButton(obj.button_start_sandwich_gui, 'OLS Settings', parent, x,... + y - h + LABEL_H + LABEL_GAP + LABEL_H, @(h,e)obj.button_startSandwichGUI_withForceOLS_Callback()); + + w = 0; + + end + + end + + methods (Access = protected) + + function button_startSandwichGUI_withForceOLS_Callback(obj, ~) + + obj.settingsObj.FORCE_ORDINARY_LEAST_SQUARES = true; + + settingsGUI = nla.edge.SandwichEstimatorInputGUI(obj.settingsObj); + uiwait(settingsGUI.SandwichEstimatorInputUIFigure); + if obj.settingsObj.isValid() + obj.satisfied = true; + end + + end + + end + + +end \ No newline at end of file diff --git a/+nla/+inputField/SandwichEstimator.m b/+nla/+inputField/SandwichEstimator.m new file mode 100644 index 00000000..1ffc313f --- /dev/null +++ b/+nla/+inputField/SandwichEstimator.m @@ -0,0 +1,99 @@ +classdef SandwichEstimator < nla.inputField.InputField + properties + name = 'sandwich_estimator'; + disp_name = 'Sandwich Estimator'; + end + + properties + settingsObj + end + + properties (Access = protected) + button_start_sandwich_gui = false + end + + + methods + function obj = SandwichEstimator() + obj.settingsObj = nla.edge.inputHelpers.SandwichEstimatorInput(); + end + + function [w, h] = draw(obj, x, y, parent, fig) + import nla.inputField.LABEL_H nla.inputField.LABEL_GAP + + table_h = 300; + h = LABEL_H + LABEL_GAP + table_h + LABEL_GAP + LABEL_H + LABEL_GAP + LABEL_H; + h = 50; + + + %% 'Set Behavior' button + [obj.button_start_sandwich_gui, w3] = obj.createButton(obj.button_start_sandwich_gui, 'SWE Settings', parent, x,... + y - h + LABEL_H + LABEL_GAP + LABEL_H, @(h,e)obj.button_startSandwichGUICallback()); + + w = 0; + + end + + function undraw(obj) + + if isgraphics(obj.button_start_sandwich_gui) + delete(obj.button_start_sandwich_gui) + end + end + + function read(obj, input_struct) + obj.settingsObj = nla.edge.inputHelpers.SandwichEstimatorInput(); + + obj.settingsObj.loadFieldsFromStruct(input_struct); + + + end + + function [input_struct, error] = store(obj, input_struct) + + input_struct = obj.settingsObj.pushFieldsIntoStruct(input_struct); + error = false; + end + end + + methods (Access = protected) + function [button, w] = createButton(obj, button, label, parent, x, y, callback) + + %% Create button + if ~isgraphics(button) + button = uibutton(parent, 'push', 'ButtonPushedFcn', callback); + end + button_w = 100; + button.Position = [x, y - nla.inputField.LABEL_H, button_w, nla.inputField.LABEL_H]; + + button.Text = label; + button.Position(3) = nla.inputField.widthOfString(button.Text, nla.inputField.LABEL_H) +... + nla.inputField.widthOfString(' ', nla.inputField.LABEL_H + nla.inputField.LABEL_GAP); + + w = button.Position(3); + end + + + function button_startSandwichGUICallback(obj, ~) + + obj.settingsObj.FORCE_ORDINARY_LEAST_SQUARES = false; + settingsGUI = nla.edge.SandwichEstimatorInputGUI(obj.settingsObj); + uiwait(settingsGUI.SandwichEstimatorInputUIFigure); + if obj.settingsObj.isValid() + obj.satisfied = true; + end + + end + + function update(obj) + end + + function settingsStruct = getSettingsObjAsStruct(obj) + warning off; + settingsStruct = struct(obj.settingsObj); + warning on; + + end + end +end + From 1f1d4cd39b25c8fb1c1c9a1bc5926b37ebb596c0 Mon Sep 17 00:00:00 2001 From: Andy Date: Mon, 26 Jan 2026 10:59:09 -0600 Subject: [PATCH 2/5] Init Working Version of SwE In Master TestPool and NLA Result --- +nla/+edge/+result/MultiContrast.m | 4 + +nla/MultiContrastResult.m | 67 ++++++++++++ +nla/TestPool.m | 168 ++++++++++++++++++++++++----- NLAResult.mlapp | Bin 32984 -> 32940 bytes 4 files changed, 210 insertions(+), 29 deletions(-) create mode 100644 +nla/MultiContrastResult.m diff --git a/+nla/+edge/+result/MultiContrast.m b/+nla/+edge/+result/MultiContrast.m index 8ec83bd2..8a2f9460 100644 --- a/+nla/+edge/+result/MultiContrast.m +++ b/+nla/+edge/+result/MultiContrast.m @@ -43,6 +43,10 @@ function clearResults(obj) outStrArrays = obj.contrastResultsMap.keys'; end + function numberOfContrasts = numContrasts(obj) + numberOfContrasts = obj.contrastResultsMap.Count; + end + end diff --git a/+nla/MultiContrastResult.m b/+nla/MultiContrastResult.m new file mode 100644 index 00000000..de825be1 --- /dev/null +++ b/+nla/MultiContrastResult.m @@ -0,0 +1,67 @@ +classdef MultiContrastResult < matlab.mixin.Copyable + %Class for holding multiple result objects for multiple named contrasts + % + % Builds and accesses a containers.Map object of named objects + % objects, one per contrast + + properties + contrastNames %cell array of names of each contrast + contrastResultsMap % containers.Map object that stores each contrast with the key of its name + end + + + methods + + function obj = MultiContrastResult() + obj.contrastNames = {}; + obj.contrastResultsMap = containers.Map(); + end + + function addNamedResult(obj, contrastName, resultObj) + obj.contrastNames{end+1} = contrastName; + obj.contrastResultsMap(contrastName) = resultObj; + end + + function resultObj = getNamedResult(obj, contrastName) + if obj.contrastResultsMap.isKey(contrastName) + resultObj = obj.contrastResultsMap(contrastName); + else + resultObj = []; + end + end + + function clearResults(obj) + obj.contrastNames = {}; + obj.contrastResultsMap = containers.Map(); + end + + function outStrArrays = contrastsAsStrings(obj) + outStrArrays = obj.contrastResultsMap.keys'; + end + + function numberOfContrasts = numContrasts(obj) + numberOfContrasts = obj.contrastResultsMap.Count; + end + + function merge(obj, next_multi_contrast_result) + %append results from a different multi contrast result to this + %one + contrast_names = next_multi_contrast_result.contrastsAsStrings(); + for contrastIdx = 1:length(contrast_names) + this_contrast_name = contrast_names{contrastIdx}; + this_contrast_results = obj.getNamedResult(this_contrast_name); + next_contrast_result = next_multi_contrast_result.getNamedResult(this_contrast_name); + for i = 1:length(this_contrast_results) + this_contrast_results{i}.merge(next_contrast_result{i}); + end + + end + + end + + end + + + + +end \ No newline at end of file diff --git a/+nla/TestPool.m b/+nla/TestPool.m index fdca9536..0cdf5243 100755 --- a/+nla/TestPool.m +++ b/+nla/TestPool.m @@ -36,29 +36,86 @@ function result = runPerm(obj, edge_input_struct, net_input_struct, network_atlas, nonpermuted_edge_test_results,... nonpermuted_network_test_results, num_perms, perm_seed, separate_network_and_edge_tests) - + if ~exist('perm_seed', 'var') perm_seed = false; end - + if ~exist('separate_network_and_edge_tests', 'var') separate_network_and_edge_tests = false; - end + end + +% if isa(nonpermuted_edge_test_results,'nla.edge.result.MultiContrast') +% %If result has multiple contrasts, call the wrapper +% %function that handles running them one at a time +% result = obj.runPermMultiContrast(edge_input_struct, net_input_struct, network_atlas, nonpermuted_edge_test_results,... +% nonpermuted_network_test_results, num_perms, perm_seed, separate_network_and_edge_tests); +% else - if isequal(separate_network_and_edge_tests, false) - [permuted_edge_test_results, permuted_network_test_results] = obj.runEdgeAndNetPerm(edge_input_struct,... - net_input_struct, network_atlas, nonpermuted_edge_test_results, num_perms, perm_seed); - else - [permuted_edge_test_results, permuted_network_test_results] = obj.runPermSeparateEdgeAndNet(edge_input_struct,... - net_input_struct, network_atlas, num_perms, perm_seed); - end - - ranked_permuted_network_test_results = obj.collateNetworkPermutationResults(nonpermuted_edge_test_results, network_atlas,... - nonpermuted_network_test_results, permuted_network_test_results, net_input_struct); + if isequal(separate_network_and_edge_tests, false) + [permuted_edge_test_results, permuted_network_test_results] = obj.runEdgeAndNetPerm(edge_input_struct,... + net_input_struct, network_atlas, nonpermuted_edge_test_results, num_perms, perm_seed); + else + [permuted_edge_test_results, permuted_network_test_results] = obj.runPermSeparateEdgeAndNet(edge_input_struct,... + net_input_struct, network_atlas, num_perms, perm_seed); + end - result = nla.ResultPool(edge_input_struct, net_input_struct, network_atlas, nonpermuted_edge_test_results,... - nonpermuted_network_test_results, permuted_edge_test_results, ranked_permuted_network_test_results); + if ~isa(permuted_network_test_results, 'nla.MultiContrastResult') + ranked_permuted_network_test_results = obj.collateNetworkPermutationResults(nonpermuted_edge_test_results, network_atlas,... + nonpermuted_network_test_results, permuted_network_test_results, net_input_struct); + + result = nla.ResultPool(edge_input_struct, net_input_struct, network_atlas, nonpermuted_edge_test_results,... + nonpermuted_network_test_results, permuted_edge_test_results, ranked_permuted_network_test_results); + else + + result = nla.MultiContrastResult(); + contrastNames = nonpermuted_edge_test_results.contrastNames; + + for i = 1:length(contrastNames) + this_contrast_name = contrastNames{i}; + + this_nonperm_edge_result = nonpermuted_edge_test_results.getNamedResult(this_contrast_name); + this_nonperm_network_result = nonpermuted_network_test_results.getNamedResult(this_contrast_name); + this_perm_network_result = permuted_network_test_results.getNamedResult(this_contrast_name); + + this_ranked_permuted_network_test_results = obj.collateNetworkPermutationResults(this_nonperm_edge_result, network_atlas,... + this_nonperm_network_result, this_perm_network_result, net_input_struct); + + this_result_pool = nla.ResultPool(edge_input_struct, net_input_struct, network_atlas, this_nonperm_edge_result,... + this_nonperm_network_result, this_perm_network_result, this_ranked_permuted_network_test_results); + + result.addNamedResult(this_contrast_name, this_result_pool); + end + + + end + + %end + + end + + function multi_contrast_result = runPermMultiContrast(obj, edge_input_struct, net_input_struct, network_atlas, nonpermuted_edge_test_results,... + nonpermuted_network_test_results, num_perms, perm_seed, separate_network_and_edge_tests) + %If the input is multi contrast, this will generate result pools for the edge and + %net results one at a time via loop + contrast_names = nonpermuted_edge_test_results.contrastsAsStrings(); + num_contrasts = length(contrast_names); + + multi_contrast_result = nla.MultiContrastResult(); + + for i = 1:num_contrasts + this_contrast_name = contrast_names{i}; + this_nonperm_edge_result = nonpermuted_edge_test_results.getNamedResult(this_contrast_name); + this_nonperm_net_results = nonpermuted_network_test_results.getNamedResult(this_contrast_name); + + this_contrast_result_pool = obj.runPerm(edge_input_struct, net_input_struct, network_atlas, this_nonperm_edge_result,... + this_nonperm_net_results, num_perms, perm_seed, separate_network_and_edge_tests); + + multi_contrast_result.addNamedResult(this_contrast_result_pool); + + end + end function ranked_results = collateNetworkPermutationResults(obj, nonpermuted_edge_test_results, network_atlas, nonpermuted_network_test_results,... @@ -111,7 +168,8 @@ % get current parallel pool or start a new one [number_of_processes, blocks] = obj.initializeParallelPool(num_perms); - parfor process = 1:number_of_processes + for process = 1:number_of_processes + %parfor process = 1:number_of_processes network_result_block = obj.runEdgeAndNetPermBlock(edge_input_struct, net_input_struct, net_atlas,... blocks(process), blocks(process+1), perm_seed); network_result_blocks{process} = network_result_block; @@ -123,9 +181,13 @@ permuted_network_results = network_result_blocks{1}; for process = 2:number_of_processes current_network_test_results = network_result_blocks{process}; - for test_index = 1:numNetTests(obj) - current_test_network_result = current_network_test_results(test_index); - permuted_network_results{test_index}.merge(current_test_network_result); + if ~isa(current_network_test_results, 'nla.MultiContrastResult') + for test_index = 1:numNetTests(obj) + current_test_network_result = current_network_test_results(test_index); + permuted_network_results{test_index}.merge(current_test_network_result); + end + else + permuted_network_results.merge(current_network_test_results); end end end @@ -143,13 +205,21 @@ % Ugh, this is so horrible. Have to do this due to Matlab not being able to index 2D arrays separately among % indexes - if iteration - block_start + 1 == 1 - for test = 1:numNetTests(obj) - network_result_block{test} = copy(network_results{test}); + if isa(network_results, 'nla.MultiContrastResult') + if iteration - block_start + 1 == 1 + network_result_block = network_results; + else + network_result_block.merge(network_results); end - else - for test = 1:numNetTests(obj) - network_result_block{test}.merge(network_results{test}); + else + if iteration - block_start + 1 == 1 + for test = 1:numNetTests(obj) + network_result_block{test} = copy(network_results{test}); + end + else + for test = 1:numNetTests(obj) + network_result_block{test}.merge(network_results{test}); + end end end @@ -214,7 +284,31 @@ input_struct.iteration = 0; end - edge_result = obj.edge_test.run(input_struct); + is_multicontrast = isfield(input_struct, 'contrasts') && (size(input_struct.contrasts,1)>1); + + if ~is_multicontrast + edge_result = obj.edge_test.run(input_struct); + else + %Generate edge results for all contrasts + num_contrasts = size(input_struct.contrasts,1); + edge_result = nla.edge.result.MultiContrast(); + has_contrast_names = isfield(input_struct,'contrastNames') & ~isempty(input_struct.contrastNames); + for contrast_idx = 1:num_contrasts + + this_contrast = input_struct.contrasts(contrast_idx,:); + if has_contrast_names + this_contrast_name = input_struct.contrastNames{contrast_idx}; + else + this_contrast_name = ['contrast', num2str(contrast_idx)]; + end + + input_struct_this_contrast = input_struct; + input_struct_this_contrast.contrasts = this_contrast; + input_struct_this_contrast.contrastNames = this_contrast_name; + edge_result_this_contrast = obj.edge_test.run(input_struct_this_contrast); + edge_result.addNamedResult(this_contrast_name, edge_result_this_contrast); + end + end end function net_level_results = runNetTestsPerm(obj, net_input_struct, net_atlas, perm_edge_results) @@ -267,9 +361,25 @@ end function net_results = runNetTests(obj, input_struct, edge_result, net_atlas, permutations) - net_results = {}; - for i = 1:numNetTests(obj) - net_results{i} = obj.net_tests{i}.run(input_struct, edge_result, net_atlas, permutations); + + if ~isa(edge_result, 'nla.edge.result.MultiContrast') + net_results = {}; + for i = 1:numNetTests(obj) + net_results{i} = obj.net_tests{i}.run(input_struct, edge_result, net_atlas, permutations); + end + else + net_results = nla.MultiContrastResult(); + contrast_names = edge_result.contrastsAsStrings(); + num_contrasts = length(contrast_names); + for contrastIdx = 1:num_contrasts + this_contrast_name = contrast_names{contrastIdx}; + this_contrast_edge_result = edge_result.getNamedResult(this_contrast_name); + this_contrast_net_results = {}; + for i = 1:numNetTests(obj) + this_contrast_net_result{i} = obj.net_tests{i}.run(input_struct, this_contrast_edge_result, net_atlas, permutations); + end + net_results.addNamedResult(this_contrast_name,this_contrast_net_result) + end end end diff --git a/NLAResult.mlapp b/NLAResult.mlapp index c21cb8cf489c131ab96f2a6aacbf39c340e3b675..c5023f331677b574a458c1dd8d144d92f71ec686 100644 GIT binary patch delta 31953 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 jWG0e)nh&@mJk+7_Hr2O`w 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 Date: Mon, 26 Jan 2026 17:10:35 +0000 Subject: [PATCH 3/5] Exported mlapp files --- NLAResult_exported.m | 126 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 115 insertions(+), 11 deletions(-) diff --git a/NLAResult_exported.m b/NLAResult_exported.m index 62e9bb1d..05be62dd 100644 --- a/NLAResult_exported.m +++ b/NLAResult_exported.m @@ -6,15 +6,17 @@ 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 + SelectContrastLabel matlab.ui.control.Label + SelectContrastDropdown matlab.ui.control.DropDown end @@ -29,6 +31,10 @@ net_adjustable_fields cur_iter = 0 old_data = false % data from old result objects, not NetworkTestResult + + multi_contrast_edge_result = false + multi_contrast_net_result = false + selected_contrast_name = '' end methods (Access = private) @@ -174,6 +180,17 @@ function initFromInputs(app, test_pool, input_struct, net_input_struct, ~) app.edge_result = test_pool.runEdgeTest(input_struct); + if app.edgeResultIsMultiContrast(app.edge_result) + app.multi_contrast_edge_result = app.edge_result; + app.initializeContrastSelectorFromResult(app.multi_contrast_edge_result); + + %set edge result to the one corresponding to the first + %contrast + all_contrast_names = app.multi_contrast_edge_result.contrastsAsStrings(); + app.edge_result = app.multi_contrast_edge_result.getNamedResult(all_contrast_names{1}); + + end + app.input_struct = input_struct; app.net_input_struct = net_input_struct; app.test_pool = test_pool; @@ -212,6 +229,17 @@ function initFromResult(app, result, file_name, ~, old_data) app.net_input_struct.prob_max = app.net_input_struct.prob_max_original; end + if app.edgeResultIsMultiContrast(app.edge_result) + app.multi_contrast_edge_result = app.edge_result; + app.initializeContrastSelectorFromResult(app.multi_contrast_edge_result); + + %set edge result to the one corresponding to the first + %contrast + all_contrast_names = app.multi_contrast_edge_result.contrastsAsStrings(); + app.edge_result = app.multi_contrast_edge_result.getNamedResult(all_contrast_names{1}); + + end + app.results = result; app.old_data = old_data; @@ -233,6 +261,37 @@ function initFromResult(app, result, file_name, ~, old_data) end + function initializeContrastSelectorFromResult(app, edge_result) + if app.edgeResultIsMultiContrast(edge_result) + app.SelectContrastDropdown.Items = edge_result.contrastsAsStrings(); + app.SelectContrastDropdown.Enable = true; + app.SelectContrastDropdown.Value = app.SelectContrastDropdown.Items{1}; + app.SelectContrastLabel.Enable = true; + else + app.SelectContrastDropdown.Enable = false; + app.SelectContrastLabel.Enable = false; + app.SelectContrastDropdown.Items = {}; + app.SelectContrastDropdown.Value = {}; + end + + end + + function is_multi_contrast = edgeResultIsMultiContrast(app, edge_result) + if isa(edge_result, 'nla.edge.result.MultiContrast') + is_multi_contrast = true; + else + is_multi_contrast = false; + end + end + + function is_multi_contrast = resultPoolIsMultiContrast(app, result_pool) + if isa(result_pool, 'nla.MultiContrastResult') + is_multi_contrast = true; + else + is_multi_contrast = false; + end + end + function enableNetButtons(app, val) % buttons that need net-level data to be used net_buttons = {app.ResultTree, app.FlipNestingButton, app.SaveSummaryTableMenu}; @@ -300,7 +359,19 @@ function RunButtonPushed(app, event) prog.Value = 0.02; drawnow; - net_results = app.test_pool.runNetTests(app.net_input_struct, app.edge_result, app.input_struct.net_atlas, false); + if app.multi_contrast_edge_result == false + edge_result = app.edge_result; + else + %If multiple contrast result exists, we'll + %run all of them, rather than just the currently selected + %one + edge_result = app.multi_contrast_edge_result; + end + + + + net_results = app.test_pool.runNetTests(app.net_input_struct, edge_result, app.input_struct.net_atlas, false); + if app.net_input_struct.full_connectome prog.Message = 'Starting parallel pool...'; @@ -322,7 +393,16 @@ function RunButtonPushed(app, event) % Run permuted statistics app.test_pool.data_queue = data_queue; - app.results = app.test_pool.runPerm(app.input_struct, app.net_input_struct, app.input_struct.net_atlas, app.edge_result, net_results, app.net_input_struct.perm_count); + resultPool = app.test_pool.runPerm(app.input_struct, app.net_input_struct, app.input_struct.net_atlas, edge_result, net_results, app.net_input_struct.perm_count); + + if ~app.resultPoolIsMultiContrast(resultPool) + app.results = resultPool; + else + app.multi_contrast_net_result = resultPool; + contrastName = app.SelectContrastDropdown.Value; + app.results = app.multi_contrast_net_result.getNamedResult(contrastName); + end + % Delete the data queue delete(data_queue); @@ -330,7 +410,7 @@ function RunButtonPushed(app, event) % Unset handle reference app.prog_bar = false; else - app.results = ResultPool(app.input_struct, app.net_input_struct, app.input_struct.net_atlas, app.edge_result, net_results, false, false); + app.results = ResultPool(app.input_struct, app.net_input_struct, app.input_struct.net_atlas, edge_result, net_results, false, false); end prog.Value = 0.98; @@ -561,6 +641,16 @@ function CohensDthresholdchordplotsCheckBoxValueChanged(app, event) d_thresh = app.CohensDthresholdchordplotsCheckBox.Value; app.net_input_struct.d_thresh_chord_plot = d_thresh; end + + % Value changed function: SelectContrastDropdown + function SelectContrastDropdownValueChanged(app, event) + app.selected_contrast_name = app.SelectContrastDropdown.Value; + app.edge_result = app.multi_contrast_edge_result.getNamedResult(app.selected_contrast_name); + if app.resultPoolIsMultiContrast(app.multi_contrast_net_result) + app.results = app.multi_contrast_net_result.getNamedResult(app.selected_contrast_name); + app.setNesting(); + end + end end % Component initialization @@ -643,6 +733,20 @@ function createComponents(app) app.OpenDiagnosticPlotsButton.Position = [11 28 147 22]; app.OpenDiagnosticPlotsButton.Text = 'Open Diagnostic Plots'; + % Create SelectContrastLabel + app.SelectContrastLabel = uilabel(app.UIFigure); + app.SelectContrastLabel.Enable = 'off'; + app.SelectContrastLabel.Position = [143 633 152 22]; + app.SelectContrastLabel.Text = 'Select Contrast'; + + % Create SelectContrastDropdown + app.SelectContrastDropdown = uidropdown(app.UIFigure); + app.SelectContrastDropdown.Items = {}; + app.SelectContrastDropdown.ValueChangedFcn = createCallbackFcn(app, @SelectContrastDropdownValueChanged, true); + app.SelectContrastDropdown.Enable = 'off'; + app.SelectContrastDropdown.Position = [141 610 154 22]; + app.SelectContrastDropdown.Value = {}; + % Show the figure after all components are created app.UIFigure.Visible = 'on'; end From cdfd1b3728d6c59b106c1719003716c415c7336f Mon Sep 17 00:00:00 2001 From: Andy Date: Mon, 26 Jan 2026 11:33:38 -0600 Subject: [PATCH 4/5] restore parfor --- +nla/TestPool.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/+nla/TestPool.m b/+nla/TestPool.m index 0cdf5243..862747bf 100755 --- a/+nla/TestPool.m +++ b/+nla/TestPool.m @@ -168,8 +168,8 @@ % get current parallel pool or start a new one [number_of_processes, blocks] = obj.initializeParallelPool(num_perms); - for process = 1:number_of_processes - %parfor process = 1:number_of_processes + + parfor process = 1:number_of_processes network_result_block = obj.runEdgeAndNetPermBlock(edge_input_struct, net_input_struct, net_atlas,... blocks(process), blocks(process+1), perm_seed); network_result_blocks{process} = network_result_block; From 29dafdf826ea43299addf77a416ae58762177905 Mon Sep 17 00:00:00 2001 From: Andy Eck <31488559+AndyEck16@users.noreply.github.com> Date: Mon, 26 Jan 2026 11:44:04 -0600 Subject: [PATCH 5/5] pull master changes into SWE branch (#135) * HolmBonferroni threshold and label quick fix * [NET-300] Change Winkler Ranking to Freedman-Lane (#133) * changed names for winkler and freedman_lane * fixed up typo * Exported mlapp files --------- Co-authored-by: Github Action * [NET-302] Rename variable in NetworkTestResult (#134) renamed * Change logic of fdr tests to return vector of significant net pairs instead of a single p threshold --------- Co-authored-by: Andy Co-authored-by: Jim Pollaro <30908497+pollaro@users.noreply.github.com> Co-authored-by: Github Action --- +nla/+net/+mcc/Base.m | 2 +- +nla/+net/+mcc/BenjaminiHochberg.m | 16 ++------ +nla/+net/+mcc/BenjaminiYekutieli.m | 16 ++------ +nla/+net/+mcc/Bonferroni.m | 11 ++++-- +nla/+net/+mcc/HolmBonferroni.m | 22 ++++------- +nla/+net/+mcc/None.m | 9 +++-- +nla/+net/+result/+plot/NetworkTestPlot.m | 8 ++-- .../+result/+plot/NetworkTestPlotApp.mlapp | Bin 38499 -> 38554 bytes .../+plot/NetworkTestPlotApp_exported.m | 8 ++-- .../+net/+result/NetworkResultPlotParameter.m | 36 ++++++++++-------- +nla/+net/+result/NetworkTestResult.m | 20 +++++----- +nla/+net/ResultRank.m | 14 +++---- +nla/+net/unittests/ResultRankTestCase.m | 16 ++++---- +nla/RankingMethod.m | 2 +- NLA_GUI.mlapp | Bin 87028 -> 86599 bytes docs/source/methodology.rst | 4 -- docs/source/network_level_results.rst | 4 +- 17 files changed, 84 insertions(+), 104 deletions(-) diff --git a/+nla/+net/+mcc/Base.m b/+nla/+net/+mcc/Base.m index ca4fceea..7cade860 100755 --- a/+nla/+net/+mcc/Base.m +++ b/+nla/+net/+mcc/Base.m @@ -1,6 +1,6 @@ classdef Base methods (Abstract) - p_max = correct(obj, net_atlas, input_struct, prob) + [is_sig_vector, p_max] = correct(obj, net_atlas, input_struct, prob) correction_label = createLabel(obj, net_atlas, input_struct, prob) end end \ No newline at end of file diff --git a/+nla/+net/+mcc/BenjaminiHochberg.m b/+nla/+net/+mcc/BenjaminiHochberg.m index a879373f..23063cad 100755 --- a/+nla/+net/+mcc/BenjaminiHochberg.m +++ b/+nla/+net/+mcc/BenjaminiHochberg.m @@ -4,21 +4,11 @@ end methods - function p_max = correct(obj, net_atlas, input_struct, prob) - [~, p_max] = nla.lib.fdr_bh(prob.v, input_struct.prob_max, 'pdep'); + function [is_sig_vector, p_max] = correct(obj, net_atlas, input_struct, prob) + [is_sig_vector, p_max] = nla.lib.fdr_bh(prob.v, input_struct.prob_max, 'pdep'); end function correction_label = createLabel(obj, net_atlas, input_struct, prob) - p_max = obj.correct(net_atlas, input_struct, prob); - if p_max == 0 - correction_label = sprintf('FDR_{BH} produced no significant nets'); - else - format_specs = "%g/%d tests"; - if isequal(input_struct.behavior_count, 1) - format_specs = "%g/%d test"; - end - correction_label = sprintf(strcat("FDR_{BH}(", format_specs, ")"), input_struct.prob_max * input_struct.behavior_count,... - input_struct.behavior_count); - end + correction_label = sprintf("Benjamini-Hochberg (alpha = %g)",input_struct.prob_max); end end end \ No newline at end of file diff --git a/+nla/+net/+mcc/BenjaminiYekutieli.m b/+nla/+net/+mcc/BenjaminiYekutieli.m index 5c8fb6f9..23e0de8d 100755 --- a/+nla/+net/+mcc/BenjaminiYekutieli.m +++ b/+nla/+net/+mcc/BenjaminiYekutieli.m @@ -4,21 +4,11 @@ end methods - function p_max = correct(obj, net_atlas, input_struct, prob) - [~, p_max] = nla.lib.fdr_bh(prob.v, input_struct.prob_max, 'dep'); + function [is_sig_vector, p_max] = correct(obj, net_atlas, input_struct, prob) + [is_sig_vector, p_max] = nla.lib.fdr_bh(prob.v, input_struct.prob_max, 'dep'); end function correction_label = createLabel(obj, net_atlas, input_struct, prob) - p_max = obj.correct(net_atlas, input_struct, prob); - if p_max == 0 - correction_label = sprintf('FDR_{BY} produced no significant nets'); - else - format_specs = "%g/%d tests"; - if isequal(input_struct.behavior_count, 1) - format_specs = "%g/%d test"; - end - correction_label = sprintf(strcat("FDR_{BY}(", format_specs, ")"), input_struct.prob_max * input_struct.behavior_count,... - input_struct.behavior_count); - end + correction_label = sprintf("Benjamini-Yekutieli (alpha = %g)",input_struct.prob_max); end end end \ No newline at end of file diff --git a/+nla/+net/+mcc/Bonferroni.m b/+nla/+net/+mcc/Bonferroni.m index de306236..8897b413 100755 --- a/+nla/+net/+mcc/Bonferroni.m +++ b/+nla/+net/+mcc/Bonferroni.m @@ -4,15 +4,18 @@ end methods - function p_max = correct(obj, net_atlas, input_struct, prob) + function [is_sig_vector, p_max] = correct(obj, net_atlas, input_struct, prob) + p_max = input_struct.prob_max / net_atlas.numNetPairs(); + is_sig_vector = prob.v < p_max; end function correction_label = createLabel(obj, net_atlas, input_struct, prob) - format_specs_tests = "%d tests"; + format_specs_tests = "%d tests)"; if isequal(input_struct.behavior_count, 1) - format_specs_tests = "%d test"; + format_specs_tests = "%d test)"; end - correction_label = sprintf(strcat("%g/%d net-pairs/", format_specs_tests), input_struct.prob_max * input_struct.behavior_count,... + p_max = input_struct.prob_max / net_atlas.numNetPairs(); + correction_label = sprintf(strcat("P < %.2g (%.2g/%d net-pairs/", format_specs_tests), p_max, input_struct.prob_max * input_struct.behavior_count,... net_atlas.numNetPairs(), input_struct.behavior_count); end end diff --git a/+nla/+net/+mcc/HolmBonferroni.m b/+nla/+net/+mcc/HolmBonferroni.m index 08efeda7..2f8c3995 100644 --- a/+nla/+net/+mcc/HolmBonferroni.m +++ b/+nla/+net/+mcc/HolmBonferroni.m @@ -4,22 +4,16 @@ end methods - function p_max = correct(obj, net_atlas, input_struct, prob) - [is_significant, adjusted_pvals, ~] = nla.lib.bonferroni_holm(prob.v, input_struct.prob_max); - p_max = max(is_significant .* adjusted_pvals); + function [is_sig_vector, p_max] = correct(obj, net_atlas, input_struct, prob) + [is_sig_vector, adjusted_pvals, ~] = nla.lib.bonferroni_holm(prob.v, input_struct.prob_max); + + p_max = max(is_sig_vector .* prob.v); end function correction_label = createLabel(obj, net_atlas, input_struct, prob) - p_max = obj.correct(net_atlas, input_struct, prob); - if p_max == 0 - correction_label = sprintf('Holm-Bonferroni produced no significant networks'); - else - format_specs = "%g/%d tests"; - if isequal(input_struct.behavior_count, 1) - format_specs = "%g/%d test"; - end - correction_label = sprintf(strcat("Holm-Bonferroni(", format_specs, ")"), input_struct.prob_max * input_struct.behavior_count,... - input_struct.behavior_count); - end + correction_label = sprintf("Holm-Bonferroni (alpha = %g)",input_struct.prob_max); + + %Since p threshold is variable with this test, exclude it and + %just use the initial 'alpha' term used in the algorithm. end end end diff --git a/+nla/+net/+mcc/None.m b/+nla/+net/+mcc/None.m index 8ef9dd66..f1bba3df 100755 --- a/+nla/+net/+mcc/None.m +++ b/+nla/+net/+mcc/None.m @@ -4,15 +4,16 @@ end methods - function p_max = correct(obj, net_atlas, input_struct, prob) + function [is_sig_vector, p_max] = correct(obj, net_atlas, input_struct, prob) p_max = input_struct.prob_max; + is_sig_vector = prob.v < p_max; end function correction_label = createLabel(obj, net_atlas, input_struct, prob) - format_specs = "%g/%d tests"; + format_specs = "P < %.2g (%g/%d tests)"; if isequal(input_struct.behavior_count, 1) - format_specs = "%g/%d test"; + format_specs = "P < %.2g (%g/%d test)"; end - correction_label = sprintf(format_specs, input_struct.prob_max * input_struct.behavior_count,... + correction_label = sprintf(format_specs, input_struct.prob_max, input_struct.prob_max * input_struct.behavior_count,... input_struct.behavior_count); end end diff --git a/+nla/+net/+result/+plot/NetworkTestPlot.m b/+nla/+net/+result/+plot/NetworkTestPlot.m index 4e00a3af..b3626707 100644 --- a/+nla/+net/+result/+plot/NetworkTestPlot.m +++ b/+nla/+net/+result/+plot/NetworkTestPlot.m @@ -89,8 +89,8 @@ function getPlotTitle(obj) obj.title = sprintf("%s (D > %g)", obj.title, obj.network_test_options.d_max); end if ~isequal(obj.test_method, "no_permutations") - if isequal(obj.current_settings.ranking, nla.RankingMethod.WINKLER) - obj.title = strcat(obj.title, "\nRanking by Winkler Method"); + if isequal(obj.current_settings.ranking, nla.RankingMethod.FREEDMAN_LANE) + obj.title = strcat(obj.title, "\nRanking by Freedman-Lane Method"); elseif isequal(obj.current_settings.ranking, nla.RankingMethod.WESTFALL_YOUNG) obj.title = strcat(obj.title, "\nRanking by Westfall-Young Method"); else @@ -228,8 +228,8 @@ function resizeFigure(obj, plot_width, plot_height) % All the options (buttons, pulldowns, checkboxes) scale_option = PullDown("plot_scale", "Plot Scale", ["Linear", "Log", "Negative Log10"],... [ProbPlotMethod.DEFAULT, ProbPlotMethod.LOG, ProbPlotMethod.NEGATIVE_LOG_10]); - ranking_method = PullDown("ranking", "Ranking", ["Uncorrected", "Winkler", "Westfall-Young"],... - [RankingMethod.UNCORRECTED, RankingMethod.WINKLER, RankingMethod.WESTFALL_YOUNG]); + ranking_method = PullDown("ranking", "Ranking", ["Uncorrected", "Freedman-Lane", "Westfall-Young"],... + [RankingMethod.UNCORRECTED, RankingMethod.FREEDMAN_LANE, RankingMethod.WESTFALL_YOUNG]); cohens_d = CheckBox("cohens_d", "Cohen's D Threshold", true); centroids = CheckBox("centroids", "ROI Centroids in brain plots", false); multiple_comparison_correction = PullDown("mcc", "Multiple Comparison Correction",... diff --git a/+nla/+net/+result/+plot/NetworkTestPlotApp.mlapp b/+nla/+net/+result/+plot/NetworkTestPlotApp.mlapp index d2513df112299c06422fb5708df97c346e12f43c..ea13c24cfd605cba97e94d932771bde163f14a0e 100644 GIT binary patch delta 35410 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%0D9vDK+WZK9zkUiije|0L8 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 SlOTK*lTDTo2LF=)0000V<=b@t delta 35382 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 diff --git a/+nla/+net/+result/+plot/NetworkTestPlotApp_exported.m b/+nla/+net/+result/+plot/NetworkTestPlotApp_exported.m index 88dfd8c6..c7fba833 100644 --- a/+nla/+net/+result/+plot/NetworkTestPlotApp_exported.m +++ b/+nla/+net/+result/+plot/NetworkTestPlotApp_exported.m @@ -88,8 +88,8 @@ function getPlotTitle(app) app.title = sprintf("%s (D > %g)", app.title, app.CohensDThresholdEditField.Value); end if ~isequal(app.test_method, "no_permutations") - if isequal(app.RankingDropDown.Value, "nla.RankingMethod.WINKLER") % Look at me, I'm MATLAB. I have no idea why enums are beneficial or how to use them - app.title = strcat(app.title, "\nRanking by Winkler Method"); + if isequal(app.RankingDropDown.Value, "nla.RankingMethod.FREEDMAN_LANE") % Look at me, I'm MATLAB. I have no idea why enums are beneficial or how to use them + app.title = strcat(app.title, "\nRanking by Freedman-Lane Method"); elseif isequal(app.RankingDropDown.Value, "nla.RankingMethod.WESTFALL_YOUNG") app.title = strcat(app.title, "\nRanking by Westfall-Young Method"); else @@ -439,8 +439,8 @@ function createComponents(app) % Create RankingDropDown app.RankingDropDown = uidropdown(app.Panel); - app.RankingDropDown.Items = {'Uncorrected', 'Winkler', 'Westfall-Young'}; - app.RankingDropDown.ItemsData = {'nla.RankingMethod.UNCORRECTED', 'nla.RankingMethod.WINKLER', 'nla.RankingMethod.WESTFALL_YOUNG'}; + app.RankingDropDown.Items = {'Uncorrected', 'Freedman-Lane', 'Westfall-Young'}; + app.RankingDropDown.ItemsData = {'nla.RankingMethod.UNCORRECTED', 'nla.RankingMethod.FREEDMAN_LANE', 'nla.RankingMethod.WESTFALL_YOUNG'}; app.RankingDropDown.ValueChangedFcn = createCallbackFcn(app, @PlotScaleValueChanged, true); app.RankingDropDown.Position = [291 297 100 22]; app.RankingDropDown.Value = 'nla.RankingMethod.UNCORRECTED'; diff --git a/+nla/+net/+result/NetworkResultPlotParameter.m b/+nla/+net/+result/NetworkResultPlotParameter.m index a72e8ad4..c2c81e85 100644 --- a/+nla/+net/+result/NetworkResultPlotParameter.m +++ b/+nla/+net/+result/NetworkResultPlotParameter.m @@ -27,7 +27,7 @@ end function result = plotProbabilityParameters(obj, edge_test_options, edge_test_result, test_method, plot_statistic,... - plot_title, fdr_correction, significance_filter, ranking_method) + plot_title, fdr_correction, effect_size_filter, ranking_method) % plot_title - this will be a string % plot_statistic - this is the stat that will be plotted % significance filter - this will be a boolean or some sort of object (like Cohen's D > D-value) @@ -36,9 +36,9 @@ import nla.TriMatrix nla.TriMatrixDiag % We're going to use a default filter here - if isequal(significance_filter, false) - significance_filter = TriMatrix(obj.number_of_networks, "logical", TriMatrixDiag.KEEP_DIAGONAL); - significance_filter.v = true(numel(significance_filter.v), 1); + if isequal(effect_size_filter, false) + effect_size_filter = TriMatrix(obj.number_of_networks, "logical", TriMatrixDiag.KEEP_DIAGONAL); + effect_size_filter.v = true(numel(effect_size_filter.v), 1); end % Adding on to the plot title if it's a -log10 plot @@ -53,20 +53,26 @@ if isstring(fdr_correction) || ischar(fdr_correction) fdr_correction = nla.net.mcc.(erase(fdr_correction, "-"))(); end - p_value_max = fdr_correction.correct(obj.network_atlas, obj.updated_test_options, statistic_input); + + [is_sig_vector, p_value_max] = fdr_correction.correct(obj.network_atlas, obj.updated_test_options, statistic_input); + p_value_breakdown_label = fdr_correction.createLabel(obj.network_atlas, obj.updated_test_options,... statistic_input); - - name_label = sprintf("%s %s\nP < %.2g (%s)", obj.network_test_results.test_display_name, plot_title,... - p_value_max, p_value_breakdown_label); - if p_value_max == 0 - name_label = sprintf("%s %s\nP = %.2g (%s)", obj.network_test_results.test_display_name, plot_title,... - p_value_max, p_value_breakdown_label); - end + name_label = sprintf("%s %s\n%s", obj.network_test_results.test_display_name, plot_title,... + p_value_breakdown_label); +% else +% +% name_label = sprintf("%s %s\nP < %.2g (%s)", obj.network_test_results.test_display_name, plot_title,... +% p_value_max, p_value_breakdown_label); +% if p_value_max == 0 +% name_label = sprintf("%s %s\nP = %.2g (%s)", obj.network_test_results.test_display_name, plot_title,... +% p_value_max, p_value_breakdown_label); +% end +% end % Filtering if there's a filter provided significance_plot = TriMatrix(obj.number_of_networks, "logical", TriMatrixDiag.KEEP_DIAGONAL); - significance_plot.v = (statistic_input.v < p_value_max) & significance_filter.v; + significance_plot.v = is_sig_vector & effect_size_filter.v; % scale values very slightly for display so numbers just below % the threshold don't show up white but marked significant @@ -195,8 +201,8 @@ function brainFigureButtonCallback(network1, network2) end switch ranking_method - case "nla.RankingMethod.WINKLER" - ranking = "winkler_"; + case "nla.RankingMethod.FREEDMAN_LANE" + ranking = "freedman_lane_"; case "nla.RankingMethod.WESTFALL_YOUNG" ranking = "westfall_young_"; otherwise diff --git a/+nla/+net/+result/NetworkTestResult.m b/+nla/+net/+result/NetworkTestResult.m index e8ff9792..a4068827 100644 --- a/+nla/+net/+result/NetworkTestResult.m +++ b/+nla/+net/+result/NetworkTestResult.m @@ -242,7 +242,7 @@ function createPValueTriMatrices(obj, number_of_networks, test_method) non_correlation_test = any(strcmp(obj.test_name, obj.noncorrelation_input_tests)); uncorrected_names = ["uncorrected_", "legacy_"]; - corrected_names = ["winkler_", "westfall_young_"]; + corrected_names = ["freedman_lane_", "westfall_young_"]; switch test_method case "no_permutations" @@ -285,15 +285,15 @@ function createPValueTriMatrices(obj, number_of_networks, test_method) % I don't really know what these do and haven't really thought about it. Hence the bad naming. function [sig, name] = singleSigMat(obj, network_atlas, edge_test_options, p_value, mcc_method, title_prefix) mcc_method = nla.net.mcc.(mcc_method)(); - p_value_max = mcc_method.correct(network_atlas, edge_test_options, p_value); + [is_sig_vector, p_value_max] = mcc_method.correct(network_atlas, edge_test_options, p_value); p_breakdown_labels = mcc_method.createLabel(network_atlas, edge_test_options, p_value); sig = nla.TriMatrix(network_atlas.numNets(), 'double', nla.TriMatrixDiag.KEEP_DIAGONAL); - sig.v = (p_value.v < p_value_max); - name = sprintf("%s %s P < %.2g (%s)", title_prefix, obj.test_display_name, p_value_max, p_breakdown_labels); - if p_value_max == 0 - name = sprintf("%s %s P = 0 (%s)", title_prefix, obj.test_display_name, p_breakdown_labels); - end + sig.v = is_sig_vector; + name = sprintf("%s %s %s", title_prefix, obj.test_display_name, p_value_max, p_breakdown_labels); +% if p_value_max == 0 +% name = sprintf("%s %s P = 0 (%s)", title_prefix, obj.test_display_name, p_breakdown_labels); +% end end function [number_of_tests, sig_count_mat, names] = appendSignificanceMatrix(... @@ -337,11 +337,11 @@ function createPValueTriMatrices(obj, number_of_networks, test_method) % :return: The full name of the p-value. (example: "single_sammple_p_value") import nla.NetworkLevelMethod - noncorrelation_input_tests = ["chi_squared", "hypergeometric"]; - non_correlation_test = any(strcmp(test_name, noncorrelation_input_tests)); + reference_distribution_tests = ["chi_squared", "hypergeometric"]; + reference_distribution_test = any(strcmp(test_name, reference_distribution_tests)); probability = "two_sample_p_value"; - if isequal(non_correlation_test, false) + if isequal(reference_distribution_test, false) if isequal(test_method, "no_permutations") || isequal(test_method, "within_network_pair") probability = "single_sample_p_value"; end diff --git a/+nla/+net/ResultRank.m b/+nla/+net/ResultRank.m index 4ab3594b..c9cd1788 100644 --- a/+nla/+net/ResultRank.m +++ b/+nla/+net/ResultRank.m @@ -42,8 +42,8 @@ ranking_result = obj.uncorrectedRank(test_method, permutation_results, no_permutation_results, ranking_statistic,... probability, ranking_result); - % Winkler Method ranking - ranking_result = obj.winklerMethodRank(test_method, permutation_results, no_permutation_results, ranking_statistic,... + % Freedman-Lane Method ranking + ranking_result = obj.freedmanLaneMethodRank(test_method, permutation_results, no_permutation_results, ranking_statistic,... probability, ranking_result); % Westfall Young ranking @@ -96,7 +96,7 @@ end - function ranking = winklerMethodRank(obj, test_method, permutation_results, no_permutation_results, ranking_statistic,... + function ranking = freedmanLaneMethodRank(obj, test_method, permutation_results, no_permutation_results, ranking_statistic,... probability, ranking) % Ranks the observed result using method described by Winkler to correct for FWER % @@ -108,7 +108,7 @@ % :param ranking: The NetworkTestResult object to place the results % :return: The same NetworkTestResult object with ranking results - winkler_probability = strcat("winkler_", probability); + freedman_lane_probability = strcat("freedman_lane_", probability); % NET-278: The "max statistic" for hypergeometric is the most significant p-value. Which is the smallest p-value. max_statistic_array = max(abs(permutation_results.(strcat(ranking_statistic, "_permutations")).v)); if isequal(ranking.test_name, "hypergeometric") @@ -117,16 +117,16 @@ for index = 1:numel(no_permutation_results.(strcat("uncorrected_", probability)).v) if isequal(ranking.test_name, "hypergeometric") - ranking.(test_method).(winkler_probability).v(index) = sum(... + ranking.(test_method).(freedman_lane_probability).v(index) = sum(... squeeze(max_statistic_array) <= abs(no_permutation_results.(ranking_statistic).v(index))... ); else - ranking.(test_method).(winkler_probability).v(index) = sum(... + ranking.(test_method).(freedman_lane_probability).v(index) = sum(... squeeze(max_statistic_array) >= abs(no_permutation_results.(ranking_statistic).v(index))... ); end end - ranking.(test_method).(winkler_probability).v = ranking.(test_method).(winkler_probability).v ./ obj.permutations; + ranking.(test_method).(freedman_lane_probability).v = ranking.(test_method).(freedman_lane_probability).v ./ obj.permutations; end function ranking = westfallYoungMethodRank(obj, test_method, permutation_results, no_permutation_results, ranking_statistic,... diff --git a/+nla/+net/unittests/ResultRankTestCase.m b/+nla/+net/unittests/ResultRankTestCase.m index 0f65c4dd..8f75ffe4 100644 --- a/+nla/+net/unittests/ResultRankTestCase.m +++ b/+nla/+net/unittests/ResultRankTestCase.m @@ -114,11 +114,11 @@ function fullConnectomeUncorrectedRankingTest(testCase) testCase.verifyEqual(uncorrected_results, expected_uncorrected); end - function fullConnectomeWinklerRankingTest(testCase) - winkler_results = testCase.rank.full_connectome.winkler_two_sample_p_value.v; - expected_winkler = testCase.rank_results.full_connectome.winkler_two_sample_p_value.v; + function fullConnectomeFreedmanLaneRankingTest(testCase) + freedman_lane_results = testCase.rank.full_connectome.freedman_lane_two_sample_p_value.v; + expected_freedman_lane = testCase.rank_results.full_connectome.freedman_lane_two_sample_p_value.v; - testCase.verifyEqual(winkler_results, expected_winkler); + testCase.verifyEqual(freedman_lane_results, expected_freedman_lane); end function fullConnectomeWestfallYoungRankingTest(testCase) @@ -140,11 +140,11 @@ function withinNetworkPairUncorrectedRankingTest(testCase) testCase.verifyEqual(uncorrected_results, expected_uncorrected); end - function withinNetworkPairWinklerRankingTest(testCase) - winkler_results = testCase.rank.within_network_pair.winkler_single_sample_p_value.v; - expected_winkler = testCase.rank_results.within_network_pair.winkler_single_sample_p_value.v; + function withinNetworkPairFreedmanLaneRankingTest(testCase) + freedman_lane_results = testCase.rank.within_network_pair.freedman_lane_single_sample_p_value.v; + expected_freedman_lane = testCase.rank_results.within_network_pair.freedman_lane_single_sample_p_value.v; - testCase.verifyEqual(winkler_results, expected_winkler); + testCase.verifyEqual(freedman_lane_results, expected_freedman_lane); end function withinNetworkPairWestfallYoungRankingTest(testCase) diff --git a/+nla/RankingMethod.m b/+nla/RankingMethod.m index cb3f98b1..978f90ac 100644 --- a/+nla/RankingMethod.m +++ b/+nla/RankingMethod.m @@ -1,5 +1,5 @@ classdef RankingMethod enumeration - UNCORRECTED, WINKLER, WESTFALL_YOUNG + UNCORRECTED, FREEDMAN_LANE, WESTFALL_YOUNG end end \ No newline at end of file diff --git a/NLA_GUI.mlapp b/NLA_GUI.mlapp index 36853e5037b01207878b67112e843c890daf58eb..fd6e8f7e7f96ac9e530a79d0705711908cd0b430 100755 GIT binary patch delta 54033 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 s0000000000000000KbpQYW diff --git a/docs/source/methodology.rst b/docs/source/methodology.rst index 2ea5220d..28026972 100644 --- a/docs/source/methodology.rst +++ b/docs/source/methodology.rst @@ -45,10 +45,6 @@ Benjamini-Hochberg, Westfall and Young :cite:p:`WestfallP`, and Freedman-Lane :c functional connectivity data are not shuffled in order to preserve the inherent covariant structure of the data across permutations -.. note:: - Freedman-Lane FWER correction is referred to as Winkler in NLA. Implementation was modeled after the algorithm described in the paper - by Winkler. - Brain Network Map Selection ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/docs/source/network_level_results.rst b/docs/source/network_level_results.rst index edc91855..17c43fc7 100644 --- a/docs/source/network_level_results.rst +++ b/docs/source/network_level_results.rst @@ -49,7 +49,7 @@ number of points above or below (depending on the test used) the non-permuted (o In NLA this is referred to as "ranking" since it is simply counting values in a sorted list. This basic ranking is referred to as the "uncorrected" *p*-value. There are two other options for ranking in NLA. These account for :abbr:`FWER (family-wise error rate)`. The first method is based off the "randomise" method :cite:p:`FreedmanD,WinklerA`. -This is referred to as the "Winkler method". The second method is called "Westfall-Young" in NLA described by +The second method is called "Westfall-Young" in NLA described by an alogrithm :cite:p:`WestfallP` by Westfall and Young. Result Rank @@ -66,7 +66,7 @@ Result Rank .. mat:automethod:: uncorrectedRank - .. mat:automethod:: winklerMethodRank + .. mat:automethod:: freedmanLaneMethodRank .. mat:automethod:: westfallYoungMethodRank