1

我想计算我的 Ground Truth 和 Segmentation 结果之间的比较,两者都保存在不同的目录中main_folder,我想访问它,但似乎我无法访问目录内的数据。有人可以帮我代码有什么问题吗?

这是代码:

addpath('main')
currentDir=pwd; % current directory in main_folder 
cases=dir('Casos_img');
interp=1;
ori=1;
ASMvGT=zeros(0,1);
for c=3:size(cases,1)
     caseName=cases(c).name;
     gt_case=[currentDir '\Casos_combine\' cases(c).name]; %'
     % ground truth combined
     [~,~,~,volumeL,volumeR]=load_file(gt_case,0,ori);
     ind= volumeR>0;volumeGT=volumeL;volumeGT(ind)=1;
     [GT1 GT2 GT3]=ind2sub(size(volumeGT),find(volumeGT>0));GT=[GT1 GT2 GT3];

     segm_case=[currentDir '\Casos_img\' cases(c).name]; %'
     [~,~,~,volumeL,volumeR]=load_file(segm_case,0,0);
     ind= volumeR>0;volumeS=volumeL;volumeS(ind)=1;
     [ASM1 ASM2 ASM3]=ind2sub(size(volumeS),find(volumeS>0));ASM=[ASM1 ASM2 ASM3];

     [hd,~]=HausdorffDist(GT,ASM);
     ASMvGT=[ASMvGT;hd];%/numel(volumeGT)];

end
save resultshd ASMvGT

我无法使用 load_file 函数获取卷,因为当我调试它时,问题是我无法访问目录内的数据。请帮我解决这个问题,在此先感谢您。

4

2 回答 2

1

使用chdirfullfile命令创建具有完整路径的文件名。

于 2013-03-15T09:55:22.360 回答
0

利用addpath(genpath("___address of main_folder___"))

将主文件夹的地址放在上面。用上面的行替换代码的第一行。你只写了addpath('main'). 因此,它不会添加子文件夹,这就是您可能会出错的原因。genpath创建子文件夹列表,因此如果您组合addpathand genpath,当前文件夹及其所有子文件夹将被添加。

于 2013-03-15T08:57:38.903 回答