我想计算我的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函数获取卷,因为当我调试它时,问题是我无法访问目录中的数据。请帮帮我,谢谢你提前。
答案 0 :(得分:1)
使用chdir
和fullfile
命令创建具有完整路径的文件名。
答案 1 :(得分:0)
使用addpath(genpath("___address of main_folder___"))
将主文件夹的地址放在上面。用上面的行替换代码的第一行。您只写了addpath('main')
。因此,它不会添加子文件夹,这就是为什么你可能会收到错误。 genpath
创建子文件夹列表,因此如果您合并addpath
和genpath
,则会添加当前文件夹及其所有子文件夹。