clc;clear;
root_dir=\'D:\test_rec\';
fileList=dir(root_dir);
n=length(fileList);
cntpic=0;
files={};
%±éÀúÎļþ¼Ð
for i=1:n
if strcmp(fileList(i).name,\'.\')==1||strcmp(fileList(i).name,\'..\')==1
continue;
else
fileList(i).name;
full_name=[root_dir,\'\\',fileList(i).name];
cntpic=cntpic+1;
files(cntpic)={full_name};
end
end
filename={};
c=0;
for i=1:length(files)
Modalityinfo=dir(fullfile(files{i},\'*.nii.gz\'));
c=c+1;
filename(c,:)={Modalityinfo.folder,Modalityinfo.name};
end
[num s]=size(filename);
for i=1:num
path=filename{i,1};
path_T2=char(strcat(path,\'/\',filename{i,3}));
path_label=char(strcat(path,\'/\',filename{i,4}));
T2=load_untouch_nii(path_T2);
label=load_untouch_nii(path_label);
img=double(T2.img);
label=double(label.img);
z=label(:,:,1);
d=label(:,:,1);%Ï൱ÓÚ³õʼ»¯
img_sort=label(:,:,1);
img_out=label(:,:,1);
%ÅжÏmaskÊÇ·ñΪÁ㣬²»ÎªÁãÊä³öi,±£´æͼƬÏàÓ¦²ãÃæ
[x y m]=size(label)
j=1;
%l=1;
for k = 1:m % ¿ªÊ¼ÇÐƬÊý¾ÝÂÖÑ°
z(:,:,k)=label(:,:,k);
if sum(sum(z(:,:,k)))~=0
d(:,:,j)=label(:,:,k);%±£´æd£¬dΪº¬ÓÐROIµÄͼƬ
img_sort(:,:,j)=img(:,:,k);
A=d(:,:,j);
%d1=label(:,:,1);
[r,c]=find(A==1);
for i1=min(r):max(r)%Ö±½ÓÊÇС¾ØÐÎ,×óÓÒÀ©Õ¹64¸öÏñËص㣬Ҳ¿ÉÒÔÈ¡ROIÖÐÐĵ㣬ȻºóÉÏÏÂ
%×óÓÒÀ©Õ¹128¸öÏñËصÈ
for j1=min(c):max(c)
d(i1,j1,j)=1;
img_out(:,:,j)=img_sort(:,:,j).*d(:,:,j);
end
end
j=j+1;
%l=l+1;
end
end
str=filename{i,3};
A=isstrprop(str,\'digit\');
B=str(A);
%дÈëniiÎļþ
path1=char(strcat(\'D:\mask\'));
path_mask=char(strcat(path1,\'\\',B,\'_recROI.nii.gz\'));
mask_nii=make_nii(img_out);
save_nii(mask_nii,path_mask);
end