From 9fbd7739e687248ea26fbbb42851857139c4ba20 Mon Sep 17 00:00:00 2001 From: Jim Pollaro Date: Fri, 16 Jan 2026 14:09:06 -0600 Subject: [PATCH 1/6] remove ks from network tests, plots work, need titles --- +nla/+net/+test/KolmogorovSmirnovTest.m | 68 ------------------- +nla/+qualityControl/checkNormalityWithKS.m | 71 ++++++++++++++++++++ NLAQualityControl.mlapp | Bin 16451 -> 14666 bytes NLAResult.mlapp | Bin 32984 -> 29565 bytes 4 files changed, 71 insertions(+), 68 deletions(-) delete mode 100644 +nla/+net/+test/KolmogorovSmirnovTest.m create mode 100644 +nla/+qualityControl/checkNormalityWithKS.m diff --git a/+nla/+net/+test/KolmogorovSmirnovTest.m b/+nla/+net/+test/KolmogorovSmirnovTest.m deleted file mode 100644 index 1207f222..00000000 --- a/+nla/+net/+test/KolmogorovSmirnovTest.m +++ /dev/null @@ -1,68 +0,0 @@ -classdef KolmogorovSmirnovTest < handle - %KOLMOGOROVSMIRNOVTEST Kolmogorov-Smirnov test - properties (Constant) - name = "kolmogorov_smirnov" - display_name = "Kolmogorov-Smirnov" - statistics = ["ks_statistic", "single_sample_ks_statistic"] - ranking_statistic = "ks_statistic" - end - - methods - function obj = KolmogorovSmirnovTest() - end - - function result = run(obj, test_options, edge_test_results, network_atlas, permutations) - %RUN runs the Kolmogorov-Smirnov goodness of fit test - % test_options: The selected values for the test to be run. Formerly input_struct. Options are in nla.net.genBaseInputs - % edge_test_results: Non-permuted edge test results. Formerly edge_result - % network_atlas: Network atlas for data - - import nla.TriMatrix nla.TriMatrixDiag - - number_of_networks = network_atlas.numNets(); - - % Store results in the 'no_permutations' structure if this is the no-permutation test - permutation_results = "no_permutations"; - ks_statistic = "ks_statistic"; - p_value = "uncorrected_two_sample_p_value"; - single_sample_p_value = "uncorrected_single_sample_p_value"; - single_sample_ks_statistic = "single_sample_ks_statistic"; - if isequal(permutations, true) - % Otherwise, add it on to the back of the 'permutation_results' structure - permutation_results = "permutation_results"; - p_value = "two_sample_p_value_permutations"; - ks_statistic = strcat(ks_statistic, "_permutations"); - single_sample_p_value = "single_sample_p_value_permutations"; - single_sample_ks_statistic = strcat(single_sample_ks_statistic, "_permutations"); - end - - result = nla.net.result.NetworkTestResult(test_options, number_of_networks, obj.name, obj.display_name, obj.statistics, obj.ranking_statistic); - - % Double for-loop to iterate through trimatrix. Network is the row, network2 the column. Since - % we only care about the bottom half, second for-loop is 1:network - for network = 1:number_of_networks - for network2 = 1:network - network_rho = edge_test_results.coeff.get(network_atlas.nets(network).indexes,... - network_atlas.nets(network2).indexes); - [~, p, ks] = kstest2(network_rho, edge_test_results.coeff.v); - result.(permutation_results).(p_value).set(network, network2, p); - result.(permutation_results).(ks_statistic).set(network, network2, ks); - - [~, single_sample_p, single_sample_ks] = kstest(network_rho); - result.(permutation_results).(single_sample_p_value).set(network, network2, single_sample_p); - result.(permutation_results).(single_sample_ks_statistic).set(network, network2, single_sample_ks); - end - end - - end - end - - methods (Static) - function inputs = requiredInputs() - inputs = {... - nla.inputField.Integer('behavior_count', 'Test count:', 1, 1, Inf),... - nla.inputField.Number('prob_max', 'Net-level P threshold <', 0, 0.05, 1),... - }; - end - end -end \ No newline at end of file diff --git a/+nla/+qualityControl/checkNormalityWithKS.m b/+nla/+qualityControl/checkNormalityWithKS.m new file mode 100644 index 00000000..8de8132a --- /dev/null +++ b/+nla/+qualityControl/checkNormalityWithKS.m @@ -0,0 +1,71 @@ +function checkNormalityWithKS(fig, input_struct, test_pool) + + prog = uiprogressdlg(... + fig, 'Title', 'Checking Normaility', 'Message', 'Running Kolmogorov-Smirnov Test'... + ); + prog.Value = 0.02; + + prog.Value = 0.25; + edge_test_result = test_pool.runEdgeTest(input_struct); + + prog.Value = 0.5; + ks_result = runKolmogorovSmirnovTest(input_struct, edge_test_result); + + prog.Value = 0.75; + qcKSOutput(ks_result, struct(), input_struct) + +end + +function ks_result = runKolmogorovSmirnovTest(input_struct, edge_result) + import nla.TriMatrix nla.TriMatrixDiag + + ks_result = struct(); + number_of_networks = input_struct.net_atlas.numNets(); + ks_result.p = TriMatrix(number_of_networks, TriMatrixDiag.KEEP_DIAGONAL); + ks_result.ks = TriMatrix(number_of_networks, TriMatrixDiag.KEEP_DIAGONAL); + + for network1 = 1:number_of_networks + for network2 = 1:network1 + network_rho = edge_result.coeff.get(input_struct.net_atlas.nets(network1).indexes,... + input_struct.net_atlas.nets(network2).indexes); + [~, p, ks] = kstest(network_rho); + ks_result.p.set(network1, network2, p); + ks_result.ks.set(network1, network2, ks); + end + end +end + +function qcKSOutput(ks_result, flags, edge_test_options) + + network_test_options = nla.net.genBaseInputs(); + network_test_options.full_connectome = false; + network_test_options.within_network_pair = false; + network_test_options.fdr_correction = nla.net.mcc.None(); + edge_test_options.prob_max = 0.05; + + p_value_max = network_test_options.fdr_correction.correct(edge_test_options.net_atlas,... + edge_test_options, ''); + + + fig = nla.gfx.createFigure(); + matrix_plot = nla.gfx.plots.MatrixPlot(fig, '', ks_result.p, edge_test_options.net_atlas.nets, nla.gfx.FigSize.LARGE,... + 'lower_limit', -0.03, 'upper_limit', p_value_max); + matrix_plot.displayImage(); + width = matrix_plot.image_dimensions('image_width'); + height = matrix_plot.image_dimensions('image_height'); + + if ~isfield(flags, 'display_sig') + flags.display_sig = true; + end + + matrix_plot2 = nla.gfx.plots.MatrixPlot(fig, '', ks_result.ks, edge_test_options.net_atlas.nets, nla.gfx.FigSize.LARGE,... + 'draw_legend', false, 'x_position', width, 'lower_limit', min(ks_result.ks.v), 'upper_limit', max(ks_result.ks.v)); + width2 = matrix_plot2.image_dimensions('image_width'); + height2 = matrix_plot2.image_dimensions('image_height'); + matrix_plot2.displayImage(); + + width = width + width2; + height = max(height, height2); + fig.Position(3) = width; + fig.Position(4) = height; +end \ No newline at end of file diff --git a/NLAQualityControl.mlapp b/NLAQualityControl.mlapp index 335374a3ca51ea3e4278491630802eed3bdf9c9b..97ded08b78c03e85986dc5fa1ccfadf293310396 100644 GIT binary patch delta 13579 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 V{%i1HV928u&crq+wr$&diAQ_ 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
    |};dcVjPjI)%x`e{zS?^=5 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 aM@Ic0n{xU7dlNl!A{#dfR0;oot^Pmb51StV diff --git a/NLAResult.mlapp b/NLAResult.mlapp index c21cb8cf489c131ab96f2a6aacbf39c340e3b675..351550c2cfa64fa63d169806a385d95c051bd666 100644 GIT binary patch delta 28326 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ሤ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℞4hm24$(O-uPOX7 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 b{fkq!GddOw>_1oF-}m76XA%VcbM$`z14>(` From 320b68f93e8e00275f15be4c41698fc5633c1d28 Mon Sep 17 00:00:00 2001 From: Jim Pollaro Date: Tue, 3 Feb 2026 12:56:32 -0600 Subject: [PATCH 2/6] added (crappy) title to normality plot and changed color scale --- +nla/+qualityControl/checkNormalityWithKS.m | 27 ++++++++++++--------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/+nla/+qualityControl/checkNormalityWithKS.m b/+nla/+qualityControl/checkNormalityWithKS.m index 8de8132a..629630c8 100644 --- a/+nla/+qualityControl/checkNormalityWithKS.m +++ b/+nla/+qualityControl/checkNormalityWithKS.m @@ -12,7 +12,7 @@ function checkNormalityWithKS(fig, input_struct, test_pool) ks_result = runKolmogorovSmirnovTest(input_struct, edge_test_result); prog.Value = 0.75; - qcKSOutput(ks_result, struct(), input_struct) + qcKSOutput(ks_result, edge_test_result, struct(), input_struct) end @@ -35,21 +35,24 @@ function checkNormalityWithKS(fig, input_struct, test_pool) end end -function qcKSOutput(ks_result, flags, edge_test_options) +function qcKSOutput(ks_result, edge_test_result, flags, edge_test_options) network_test_options = nla.net.genBaseInputs(); network_test_options.full_connectome = false; network_test_options.within_network_pair = false; network_test_options.fdr_correction = nla.net.mcc.None(); edge_test_options.prob_max = 0.05; + default_discrete_colors = 1000; p_value_max = network_test_options.fdr_correction.correct(edge_test_options.net_atlas,... edge_test_options, ''); + color_map = nla.net.result.NetworkResultPlotParameter.getColormap(default_discrete_colors,... + p_value_max); fig = nla.gfx.createFigure(); - matrix_plot = nla.gfx.plots.MatrixPlot(fig, '', ks_result.p, edge_test_options.net_atlas.nets, nla.gfx.FigSize.LARGE,... - 'lower_limit', -0.03, 'upper_limit', p_value_max); + matrix_plot = nla.gfx.plots.MatrixPlot(fig, sprintf("Non-permuted Kolmogorov-Smirnov Test Significance"), ks_result.p, edge_test_options.net_atlas.nets, nla.gfx.FigSize.LARGE,... + 'lower_limit', 0.00, 'upper_limit', p_value_max, 'color_map', color_map); matrix_plot.displayImage(); width = matrix_plot.image_dimensions('image_width'); height = matrix_plot.image_dimensions('image_height'); @@ -58,14 +61,16 @@ function qcKSOutput(ks_result, flags, edge_test_options) flags.display_sig = true; end - matrix_plot2 = nla.gfx.plots.MatrixPlot(fig, '', ks_result.ks, edge_test_options.net_atlas.nets, nla.gfx.FigSize.LARGE,... - 'draw_legend', false, 'x_position', width, 'lower_limit', min(ks_result.ks.v), 'upper_limit', max(ks_result.ks.v)); - width2 = matrix_plot2.image_dimensions('image_width'); - height2 = matrix_plot2.image_dimensions('image_height'); - matrix_plot2.displayImage(); + % This is for plotting the KS stat and has been decided that we do not need this - width = width + width2; - height = max(height, height2); + % matrix_plot2 = nla.gfx.plots.MatrixPlot(fig, '', ks_result.ks, edge_test_options.net_atlas.nets, nla.gfx.FigSize.LARGE,... + % 'draw_legend', false, 'x_position', width, 'lower_limit', min(ks_result.ks.v), 'upper_limit', max(ks_result.ks.v)); + % width2 = matrix_plot2.image_dimensions('image_width'); + % height2 = matrix_plot2.image_dimensions('image_height'); + % matrix_plot2.displayImage(); + + % width = width + width2; + % height = max(height, height2); fig.Position(3) = width; fig.Position(4) = height; end \ No newline at end of file From 0585239c6835e4bed4f32ff641af254355c0cad7 Mon Sep 17 00:00:00 2001 From: Github Action Date: Tue, 3 Feb 2026 18:56:58 +0000 Subject: [PATCH 3/6] Exported mlapp files --- NLAResult_exported.m | 16 ++++++++-------- 1 file changed, 8 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 From b7ee481dfd20799398a89edb00e8428fc5a3f986 Mon Sep 17 00:00:00 2001 From: Jim Pollaro Date: Mon, 9 Feb 2026 14:20:30 -0600 Subject: [PATCH 4/6] remove some unused inputs and change some variable names --- +nla/+qualityControl/checkNormalityWithKS.m | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/+nla/+qualityControl/checkNormalityWithKS.m b/+nla/+qualityControl/checkNormalityWithKS.m index 629630c8..bfc105a2 100644 --- a/+nla/+qualityControl/checkNormalityWithKS.m +++ b/+nla/+qualityControl/checkNormalityWithKS.m @@ -12,7 +12,7 @@ function checkNormalityWithKS(fig, input_struct, test_pool) ks_result = runKolmogorovSmirnovTest(input_struct, edge_test_result); prog.Value = 0.75; - qcKSOutput(ks_result, edge_test_result, struct(), input_struct) + qcKSOutput(ks_result.p, input_struct) end @@ -35,7 +35,8 @@ function checkNormalityWithKS(fig, input_struct, test_pool) end end -function qcKSOutput(ks_result, edge_test_result, flags, edge_test_options) +function qcKSOutput(ks_result_p_value, edge_test_options) + % This will open the qc figure for the KS test network_test_options = nla.net.genBaseInputs(); network_test_options.full_connectome = false; @@ -51,26 +52,12 @@ function qcKSOutput(ks_result, edge_test_result, flags, edge_test_options) p_value_max); fig = nla.gfx.createFigure(); - matrix_plot = nla.gfx.plots.MatrixPlot(fig, sprintf("Non-permuted Kolmogorov-Smirnov Test Significance"), ks_result.p, edge_test_options.net_atlas.nets, nla.gfx.FigSize.LARGE,... + matrix_plot = nla.gfx.plots.MatrixPlot(fig, sprintf("Non-permuted Kolmogorov-Smirnov Test Significance"), ks_result_p_value, edge_test_options.net_atlas.nets, nla.gfx.FigSize.LARGE,... 'lower_limit', 0.00, 'upper_limit', p_value_max, 'color_map', color_map); matrix_plot.displayImage(); width = matrix_plot.image_dimensions('image_width'); height = matrix_plot.image_dimensions('image_height'); - if ~isfield(flags, 'display_sig') - flags.display_sig = true; - end - - % This is for plotting the KS stat and has been decided that we do not need this - - % matrix_plot2 = nla.gfx.plots.MatrixPlot(fig, '', ks_result.ks, edge_test_options.net_atlas.nets, nla.gfx.FigSize.LARGE,... - % 'draw_legend', false, 'x_position', width, 'lower_limit', min(ks_result.ks.v), 'upper_limit', max(ks_result.ks.v)); - % width2 = matrix_plot2.image_dimensions('image_width'); - % height2 = matrix_plot2.image_dimensions('image_height'); - % matrix_plot2.displayImage(); - - % width = width + width2; - % height = max(height, height2); fig.Position(3) = width; fig.Position(4) = height; end \ No newline at end of file From 47a572cd79e31703cd779cc1d30e9133de07d43c Mon Sep 17 00:00:00 2001 From: Jim Pollaro Date: Mon, 2 Mar 2026 09:10:36 -0600 Subject: [PATCH 5/6] minor changes to ks plot --- +nla/+qualityControl/checkNormalityWithKS.m | 3 ++- docs/source/network_level_tests.rst | 10 ---------- docs/source/quality_control.rst | 0 3 files changed, 2 insertions(+), 11 deletions(-) create mode 100644 docs/source/quality_control.rst diff --git a/+nla/+qualityControl/checkNormalityWithKS.m b/+nla/+qualityControl/checkNormalityWithKS.m index bfc105a2..58ad6e39 100644 --- a/+nla/+qualityControl/checkNormalityWithKS.m +++ b/+nla/+qualityControl/checkNormalityWithKS.m @@ -52,7 +52,8 @@ function qcKSOutput(ks_result_p_value, edge_test_options) p_value_max); fig = nla.gfx.createFigure(); - matrix_plot = nla.gfx.plots.MatrixPlot(fig, sprintf("Non-permuted Kolmogorov-Smirnov Test Significance"), ks_result_p_value, edge_test_options.net_atlas.nets, nla.gfx.FigSize.LARGE,... + % Also remember to move this in read the docs + matrix_plot = nla.gfx.plots.MatrixPlot(fig, sprintf("Non-permuted Kolmogorov-Smirnov Test p-value\nSmaller values are less normal"), ks_result_p_value, edge_test_options.net_atlas.nets, nla.gfx.FigSize.LARGE,... 'lower_limit', 0.00, 'upper_limit', p_value_max, 'color_map', color_map); matrix_plot.displayImage(); width = matrix_plot.image_dimensions('image_width'); diff --git a/docs/source/network_level_tests.rst b/docs/source/network_level_tests.rst index db40d8a8..b9eff44b 100644 --- a/docs/source/network_level_tests.rst +++ b/docs/source/network_level_tests.rst @@ -53,16 +53,6 @@ Provided Tests * :math:`\textstyle E_i = \sum_{}\frac{\text{thresholded & binarized ROIs}}{\text{number of ROIs}} \scriptstyle * (\text{number of ROIs in the network-pair of interest})` * :math:`O_i`: non-permuted, nominally thresholded, and binarized edge-level *p*-values for the network-pair of interest -* **Kolmogorov-Smirnov** - - * MATLAB `kstest2 `_ function. - - *Inputs:* - * Edge-level correlation coefficients for the network-pair of interest - * Edge-level correlation coefficients across the full connectome - - * **Note**: This input is not used for single-sample tests - * **Wilcoxon rank-sum test** * MATLAB `ranksum `_ function. diff --git a/docs/source/quality_control.rst b/docs/source/quality_control.rst new file mode 100644 index 00000000..e69de29b From e1d2a1eaac1b597a13299df93adbd06c8d30f31a Mon Sep 17 00:00:00 2001 From: Github Action Date: Mon, 2 Mar 2026 15:19:51 +0000 Subject: [PATCH 6/6] Exported mlapp files --- NLAResult_exported.m | 3 --- 1 file changed, 3 deletions(-) diff --git a/NLAResult_exported.m b/NLAResult_exported.m index 0ca61351..05be62dd 100644 --- a/NLAResult_exported.m +++ b/NLAResult_exported.m @@ -15,11 +15,8 @@ BranchLabel matlab.ui.control.Label OpenTriMatrixPlotButton matlab.ui.control.Button OpenDiagnosticPlotsButton matlab.ui.control.Button -<<<<<<< HEAD -======= SelectContrastLabel matlab.ui.control.Label SelectContrastDropdown matlab.ui.control.DropDown ->>>>>>> master end