matlab读取子文件夹下的指定文件

本文介绍了一种针对乳腺癌图像的UV参数提取方法。通过MATLAB脚本处理图像数据,实现了UV参数的归一化、乘法运算及平均值计算,并可选择性地保存为二维图像。最终将所有目标路径的数据汇总到Excel文件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >




PATHS = genpath('H:\Breast_Cancer\2017_APRIL_Optimaized\BR248a\');
PATHS_GROUPS = {};
tmp = [];
len = length(PATHS);


for i=1:len
    element = PATHS(i);
    if element ~= ';'
        tmp = [tmp element];
    elseif tmp(end) == 'n'
        tmp = [ tmp '\'];
        PATHS_GROUPS = [ PATHS_GROUPS; tmp ];
        tmp = [];
    else
        tmp = [];
    end
end






num_targets = length(PATHS_GROUPS);
UV_mus_musp_g = cell(num_targets, 4);
for i=1:num_targets
    i
    target_path=cell2mat( PATHS_GROUPS(i) );
    
    root=[];
    len_target_path = length(target_path);
    for j=length('H:\Breast_')+1 : len_target_path-length('\target_region\')
        ele = target_path(j);
        if ele == '\'
            ele = '_';
        elseif ele == '-'
            ele = '_';
        end
        root=[root ele];
    end
    
    
    load( [target_path, 'mus_map2.mat'] )
    load( [target_path, 'musp_map2.mat'] )
    load( [target_path, 'g_map2.mat'] )
    
    UV = imread( [target_path, 'uv.ppm'] );
    %% UV归一化
    a=double(UV(100:2400,100:2400,3));
    originalMinValue = double(min(min(a)));
    originalMaxValue = double(max(max(a)));
    originalRange = originalMaxValue - originalMinValue;
    desiredMin = 0;
    desiredMax = 1;
    desiredRange = desiredMax - desiredMin;
    UV_01 = desiredRange * (double(a) - originalMinValue) / originalRange + desiredMin;
    
    %% 相乘
    UV_musmap2 = mus_map2 .* UV_01;
    UV_muspmap2 = musp_map2 .* UV_01;
    UV_gmap2 = g_map2 .* UV_01;
    
    %% 选择是否保存二维图
    save2D = 0 
    if save2D == 1
        mus2D_name=[root, '_', 'UVmus'];
        musp2D_name=[root, '_', 'UVmusp'];
        g2D_name=[root, '_', 'UVg'];
        
        %     eval([mus2D_name,'=UV_musmap2;'])
        %     eval([musp2D_name,'=UV_muspmap2;'])
        %     eval([g2D_name,'=UV_gmap2;'])
        
        save(['H:\UV_Params2D\', mus2D_name], 'UV_musmap2')
        save(['H:\UV_Params2D\', musp2D_name], 'UV_muspmap2')
        save(['H:\UV_Params2D\', g2D_name], 'UV_gmap2')
        
    end
    
    
    %% 平均值
    meanUV_musmap2 = mean(mean(UV_musmap2));
    meanUV_muspmap2 = mean(mean(UV_muspmap2));
    meanUV_gmap2 = mean(mean(UV_gmap2));
    
    UV_mus_musp_g(i,1) =  cellstr(root);
    UV_mus_musp_g(i,2) =  num2cell(meanUV_musmap2);
    UV_mus_musp_g(i,3) =  num2cell(meanUV_muspmap2);
    UV_mus_musp_g(i,4) =  num2cell(meanUV_gmap2);
    
end




xlswrite('H:\UV_multi_Params\UV_mus_musp_g.xlsx', UV_mus_musp_g);







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值