[088209]: / combinedDeepLearningActiveContour / saveCont_into_txtFile.m

Download this file

78 lines (61 with data), 2.3 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
% this program aims to save automatic contours into text files
% to be later used for evaluation and statistical analysis
clear all
close all
clc
addpath('functions')
%imset='training';
%imset='online';
imset='validation';
%% ED contours
patient=15;
name1=['results/',imset,'/ED/case',num2str(patient),'.mat'];
load (name1,'LV_seg','Mroi','slice_num','slice_per_patient','t_I',...
't_centers','t_contours','t_LV_cont_names');
% convert LV mask to original image size
for k=1:length(slice_num)
display(['processing slice# ',num2str(slice_num(k))])
I=t_I(:,:,slice_num(k));
% center of sub image
cnt_xy=t_centers{slice_num(k)};
% resize to original size
LV_seg_Isize(:,:,slice_num(k)) = remap_mask(LV_seg(:,:,slice_num(k)),cnt_xy,I);
% save into files
fname1=['results/',imset,'/contours-auto/case',num2str(patient),'/'];
if exist(fname1,'dir')==0
mkdir(fname1);
end
endo_cn=t_LV_cont_names(slice_num(k)).name;
endo_cnm = strrep(endo_cn, 'manual', 'auto');
name2=[fname1,endo_cnm];
save_contours2(LV_seg_Isize(:,:,slice_num(k)),name2);
% display automatic and manual contorus
subplot(3,ceil(length(slice_num)/3),k)
Cm=t_contours{slice_num(k)};
showCurveAndPhi(I,Cm,LV_seg_Isize(:,:,slice_num(k)));
end
%%
% ES contours
name1=['results/',imset,'/ES/case',num2str(patient),'.mat'];
load (name1,'LV_seg','Mroi','slice_num','slice_per_patient','t_I',...
't_centers','t_contours','t_LV_cont_names');
figure
% convert LV mask to original image size
for k=1:length(slice_num)
display(['processing slice# ',num2str(slice_num(k))])
I=t_I(:,:,slice_num(k));
% center of sub image
cnt_xy=t_centers{slice_num(k)};
% resize to original size
LV_seg_Isize(:,:,slice_num(k)) = remap_mask(LV_seg(:,:,slice_num(k)),cnt_xy,I);
% save into files
fname1=['results/',imset,'/contours-auto/case',num2str(patient),'/'];
endo_cn=t_LV_cont_names(slice_num(k)).name
endo_cnm = strrep(endo_cn, 'manual', 'auto');
name2=[fname1,endo_cnm];
save_contours2(LV_seg_Isize(:,:,slice_num(k)),name2);
% display automatic and manual contorus
subplot(3,ceil(length(slice_num)/3),k)
Cm=t_contours{slice_num(k)};
showCurveAndPhi(I,Cm,LV_seg_Isize(:,:,slice_num(k)));
end