【fNIRS代码-2】查找NIRS-KIT分析后FDR矫正的T值界限(任务态)

%% 查找NIRS_KIT分析任务态后FDR矫正后的T值界限

clc

clear

msgbox(‘请选择MAT文件’)

pause(2)

% 使用uigetfile进行多文件选择

[file_names, file_path] = uigetfile(‘*.mat’, ‘选择MAT文件’, ‘MultiSelect’, ‘on’);

% 如果没有选择文件,退出

if isequal(file_names, 0)

    disp(‘没有选择文件’);

    return;

end

% 如果只有选择一个文件时,uigetfile返回的是字符串,转换为元胞数组以统一处理

if ischar(file_names)

    file_names = {file_names};

end

T_margin_all = {};

T_margin_all{1,1} = ‘Name’;

T_margin_all{1,2} = ‘FDR_P_Thrd’;

T_margin_all{1,3} = ‘FDR_T_Thrd’;

for i = 1:length(file_names)

    % 加载所选的.mat文件

    load(fullfile(file_path, file_names{i}), ‘-mat’);

        % 保存文件名

    T_margin_all{i+1, 1} = file_names{i}(1:end-4);  % 去除文件扩展名

        % 检查是否存在FDR05_PThrd字段

    if isfield(statdata, ‘FDR05_PThrd’)

        if ~isempty(statdata.FDR05_PThrd)

            P_margin_loc = find(statdata.p == statdata.FDR05_PThrd);

            T_margin = statdata.stat(P_margin_loc);

            T_margin_all{i+1, 2} = statdata.FDR05_PThrd;

            T_margin_all{i+1, 3} = T_margin;

        else

            T_margin = ‘未通过矫正’; 

            T_margin_all{i+1, 2} = ‘未通过矫正’; 

            T_margin_all{i+1, 3} = ‘未通过矫正’; 

        end

    else

        T_margin = ‘未通过矫正’; 

        T_margin_all{i+1, 2} = ‘未通过矫正’; 

        T_margin_all{i+1, 3} = ‘未通过矫正’; 

    end

end

% 保存 T_margin_all 为 .mat 文件

save(‘T_margin_all.mat’, ‘T_margin_all’);

 

下载地址:http://www.rfnirs.com/wp-content/uploads/2025/02/find_T_margin_NIRS_KIT_group.m

发表回复