1

Ground Truth とセグメンテーション結果の比較を計算したいのですが、どちらも の別のディレクトリに保存されて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

chdirおよびコマンドを使用fullfileして、フル パスでファイル名を作成します。

于 2013-03-15T09:55:22.360 に答える
0

使用するaddpath(genpath("___address of main_folder___"))

上記のメインフォルダーのアドレスを入力してください。コードの最初の行を上記の行に置き換えます。あなたは書いただけですaddpath('main')。したがって、サブフォルダーは追加されないため、エラーが発生する可能性があります。genpathサブフォルダーのリストを作成するため、 と を組み合わせるaddpathgenpath、現在のフォルダーとそのすべてのサブフォルダーが追加されます。

于 2013-03-15T08:57:38.903 に答える