|
@@ -0,0 +1,3449 @@
|
|
|
|
|
+clear;
|
|
|
|
|
+load('flags_combined.mat');
|
|
|
|
|
+load('suv_percentilesSLOthenUWM.mat');
|
|
|
|
|
+load('normal_range.mat');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%Remove patient ae8 bc he never got a PET2 scan
|
|
|
|
|
+%Remove non melanoma pats from MSN
|
|
|
|
|
+%Remove 5345_11 (ind=13) for bad timing
|
|
|
|
|
+ind = [1,2,3,4,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,34,35,36,37,39,40,41,42,43,45,46,47,48,49,50,52,54,57,58,60,63,64,65,66,67,68,71];
|
|
|
|
|
+bowel_SUVperc_COMBINED = bowel_SUVperc_COMBINED(ind, :,:);
|
|
|
|
|
+lung_SUVperc_COMBINED = lung_SUVperc_COMBINED(ind, :,:);
|
|
|
|
|
+thyroid_SUVperc_COMBINED = thyroid_SUVperc_COMBINED(ind, :,:);
|
|
|
|
|
+days = days(ind, :);
|
|
|
|
|
+flags = flags(ind,:);
|
|
|
|
|
+patients = patients(ind);
|
|
|
|
|
+
|
|
|
|
|
+thyroid_ind = [1:16,18:22, 24:31, 33:37, 39:49, 52:63, 65:70]; %TODO
|
|
|
|
|
+thyroid_ind = [1:58]; %keep all
|
|
|
|
|
+%
|
|
|
|
|
+% pet = load_nii('Z:\_Data\IRAE\ae9\ae9_1\Processed\ae9_1_PET_notCropped_2mmVoxel.nii.gz');
|
|
|
|
|
+% mask = load_nii('Z:\_Data\DLorganseg\deepmedic\output\IRAE\predictions\FS_IRAE_train60_QTII_Labelmasks5\predictions\pred_ae9_1_Segm.nii.gz');
|
|
|
|
|
+% thyroid_SUVperc_COMBINED(36,1,75) = prctile(pet.img(mask.img==4),75); %manual fix for ae9_1 thyroid
|
|
|
|
|
+%
|
|
|
|
|
+% pet = load_nii('Z:\_Data\IRAE\ae15\ae15_5\Processed\ae15_5_PET_notCropped_2mmVoxel.nii.gz');
|
|
|
|
|
+% mask = load_nii('Z:\_Data\DLorganseg\deepmedic\output\IRAE\predictions\FS_IRAE_train60_QTII_Labelmasks5\predictions\pred_ae15_5_Segm.nii.gz');
|
|
|
|
|
+% thyroid_SUVperc_COMBINED(41,5,75) = prctile(pet.img(mask.img==4),75); %manual fix for ae15_5 thyroid
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+clear ind
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+% Number of scans weirdness 16 vs 17 - not an error. For patient with most
|
|
|
|
|
+% scans (ae37) baseline scan is scan2.
|
|
|
|
|
+
|
|
|
|
|
+%% FINAL PLOTS (4)
|
|
|
|
|
+version = 'v4'; %appended to figure names
|
|
|
|
|
+% Plot Boxplots rawMAXSUVOPT _ FINAL
|
|
|
|
|
+
|
|
|
|
|
+figure('pos',[100,100, 1200,400],'Color','w');
|
|
|
|
|
+percentile_grid = [5:5:100];
|
|
|
|
|
+
|
|
|
|
|
+for i=1:3
|
|
|
|
|
+ switch i
|
|
|
|
|
+ case 1
|
|
|
|
|
+ suv_perc = bowel_SUVperc_COMBINED;
|
|
|
|
|
+ organ = 'Bowel';
|
|
|
|
|
+ irae_flag = flags(:,2);
|
|
|
|
|
+ baseline_ind = flags(:,1);
|
|
|
|
|
+ irae_days = flags(:,3);
|
|
|
|
|
+ suvopt = 95;
|
|
|
|
|
+ scan_days = days;
|
|
|
|
|
+ case 2
|
|
|
|
|
+ suv_perc = lung_SUVperc_COMBINED;
|
|
|
|
|
+ organ = 'Lung';
|
|
|
|
|
+ irae_flag = flags(:,4);
|
|
|
|
|
+ baseline_ind = flags(:,1);
|
|
|
|
|
+ irae_days = flags(:,5);
|
|
|
|
|
+ suvopt = 95;
|
|
|
|
|
+ scan_days = days;
|
|
|
|
|
+ case 3
|
|
|
|
|
+ suv_perc = thyroid_SUVperc_COMBINED(thyroid_ind,:,:);
|
|
|
|
|
+ organ = 'Thyroid';
|
|
|
|
|
+ irae_flag = flags(thyroid_ind,6);
|
|
|
|
|
+ baseline_ind = flags(thyroid_ind,1);
|
|
|
|
|
+ irae_days = flags(thyroid_ind,7);
|
|
|
|
|
+ suvopt = 75;
|
|
|
|
|
+ scan_days = days(thyroid_ind,:);
|
|
|
|
|
+ end
|
|
|
|
|
+ clear organ_MAX
|
|
|
|
|
+ for j=1:size(scan_days,1);
|
|
|
|
|
+ n_scans = sum(days(j,:)~=0);
|
|
|
|
|
+ % Take MAX over time points
|
|
|
|
|
+ organ_MAX(j,:) = squeeze(max(suv_perc(j,[baseline_ind(j)+1:baseline_ind(j)+n_scans-1],:),[],2));
|
|
|
|
|
+ end
|
|
|
|
|
+
|
|
|
|
|
+ % Compute ROC stats for every SUV percentile 1-100
|
|
|
|
|
+ for j=1:numel(percentile_grid)
|
|
|
|
|
+ [~,~,~,temp_AUC,~] = perfcurve(irae_flag,organ_MAX(:,percentile_grid(j)),1);
|
|
|
|
|
+ AUC_organ(j) = temp_AUC;
|
|
|
|
|
+ end
|
|
|
|
|
+
|
|
|
|
|
+ [maxAUC_organ, ImaxAUC_organ] = max(AUC_organ);
|
|
|
|
|
+ p = ranksum(organ_MAX(find(~irae_flag),percentile_grid(ImaxAUC_organ)),organ_MAX(find(irae_flag),percentile_grid(ImaxAUC_organ)))
|
|
|
|
|
+ % Plot: AUC vs SUV percentile
|
|
|
|
|
+ subplot(1,3,i)
|
|
|
|
|
+ h = boxplot(organ_MAX(:,percentile_grid(ImaxAUC_organ)), irae_flag, ...
|
|
|
|
|
+ 'Labels',{['NC (n=' num2str(sum(irae_flag==0)) ')'],['AE (n=' num2str(sum(irae_flag==1)) ')']},...
|
|
|
|
|
+ 'Symbol','o');
|
|
|
|
|
+ set(h,{'linew','Color'},{1.5,[0.00,0.45,0.74]})
|
|
|
|
|
+ h = findobj(gcf,'tag','Outliers');
|
|
|
|
|
+ for iH = 1:length(h)
|
|
|
|
|
+ h(iH).MarkerEdgeColor = 'k';
|
|
|
|
|
+ h(iH).MarkerSize = 4;
|
|
|
|
|
+ end
|
|
|
|
|
+ set(gca,'XTickLabel',{['NC (n=' num2str(sum(irae_flag==0)) ')'],['AE (n=' num2str(sum(irae_flag==1)) ')']},'FontSize',12)
|
|
|
|
|
+ hold on;
|
|
|
|
|
+ set(gca,'YGrid','on');
|
|
|
|
|
+ ylabel(['MAX (SUV_{' num2str(suvopt) '%}) [g/mL]'],'FontSize',14);
|
|
|
|
|
+ ylim([0, 10]);
|
|
|
|
|
+ %text(1.5, 7.4, ['SUV_{OPT%}=' num2str(percentile_grid(ImaxAUC_organ)) '%'],'FontSize',12,'HorizontalAlignment','center');
|
|
|
|
|
+ text(1.5, 8.4, ['p = ' sprintf('%.4f',p)],'FontSize',12,'HorizontalAlignment','center');
|
|
|
|
|
+
|
|
|
|
|
+ title(organ, 'FontSize',16,'FontName','Arial');
|
|
|
|
|
+end
|
|
|
|
|
+export_fig(['C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\boxplots_rawMAXSUVOPT_FINAL_' version '.png']);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+% PLOT SUV95 vs TIME with markers for CLINICAL DX of IRAE (Frelau Fig 3) _ FINAL
|
|
|
|
|
+figure('pos',[100,100,700,900],'Color','w');
|
|
|
|
|
+set(0,'DefaultAxesTitleFontWeight','normal');
|
|
|
|
|
+
|
|
|
|
|
+for i=1:3
|
|
|
|
|
+ switch i
|
|
|
|
|
+ case 1
|
|
|
|
|
+ suv_perc = bowel_SUVperc_COMBINED;
|
|
|
|
|
+ organ = 'Bowel';
|
|
|
|
|
+ irae_flag = flags(:,2);
|
|
|
|
|
+ irae_days = flags(:,3);
|
|
|
|
|
+ suvopt = 95;
|
|
|
|
|
+ scan_days = days;
|
|
|
|
|
+ my_ylim = [0,10];
|
|
|
|
|
+ case 2
|
|
|
|
|
+ suv_perc = lung_SUVperc_COMBINED;
|
|
|
|
|
+ organ = 'Lung';
|
|
|
|
|
+ irae_flag = flags(:,4);
|
|
|
|
|
+ irae_days = flags(:,5);
|
|
|
|
|
+ suvopt = 95;
|
|
|
|
|
+ scan_days = days;
|
|
|
|
|
+ my_ylim = [0,5];
|
|
|
|
|
+ case 3
|
|
|
|
|
+ suv_perc = thyroid_SUVperc_COMBINED(thyroid_ind,:,:);
|
|
|
|
|
+ organ = 'Thyroid';
|
|
|
|
|
+ irae_flag = flags(thyroid_ind,6);
|
|
|
|
|
+ irae_days = flags(thyroid_ind,7);
|
|
|
|
|
+ suvopt = 75;
|
|
|
|
|
+ scan_days = days(thyroid_ind,:);
|
|
|
|
|
+ my_ylim = [0,5];
|
|
|
|
|
+ end
|
|
|
|
|
+ disp(['Starting ' organ '...']);
|
|
|
|
|
+
|
|
|
|
|
+ cc = 0.8.*distinguishable_colors(sum(irae_flag));
|
|
|
|
|
+
|
|
|
|
|
+ subplot(3,1,i);
|
|
|
|
|
+ hold on; box on;
|
|
|
|
|
+ cc_counter = 0;
|
|
|
|
|
+ for j=1:size(scan_days,1);
|
|
|
|
|
+ n_scans = sum(scan_days(j,:)~=0);
|
|
|
|
|
+ if irae_flag(j)==1
|
|
|
|
|
+ cc_counter = cc_counter + 1;
|
|
|
|
|
+ l = plot(scan_days(j,1:n_scans)./30, suv_perc(j,1:n_scans,suvopt),'-','LineWidth',1.5, 'Color', cc(cc_counter,:),'HandleVisibility','off');
|
|
|
|
|
+ if irae_days(j)>0 %if we have a date, plot it with a vertical line
|
|
|
|
|
+ %scatter(irae_days(j)./30, max(suv_perc(j,1:n_scans,suvopt)),'v','MarkerEdgeColor',l.Color,'MarkerFaceColor',l.Color,'HandleVisibility','off');
|
|
|
|
|
+ plot([irae_days(j)./30 irae_days(j)./30], [my_ylim(1), my_ylim(2)], 'Color', l.Color, 'LineStyle','--','HandleVisibility','off');
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+ % extra vertical line for 1 pt with 2x Colitis (ae10 @ day 774)
|
|
|
|
|
+ if i==1
|
|
|
|
|
+ plot([774./30 774./30], [my_ylim(1), my_ylim(2)], 'Color', 'k', 'LineStyle','--','HandleVisibility','off');
|
|
|
|
|
+ end
|
|
|
|
|
+ %dummies for legend
|
|
|
|
|
+ plot(-500, -100, '-','LineWidth',1.5, 'Color',[0 0 0]);
|
|
|
|
|
+ plot(-500, -100, '--','Color',[0 0 0]);
|
|
|
|
|
+ %scatter(-500, -500,'v','MarkerEdgeColor',[0 0 0],'MarkerFaceColor',[0 0 0]);
|
|
|
|
|
+ patch([-100, 1400, 1400, -100],[norm_95CI(i,1),norm_95CI(i,1),norm_95CI(i,2),norm_95CI(i,2)],[0.6, 0.6, 0.6],'FaceAlpha',0.2);
|
|
|
|
|
+ legend('AE','Clin dx','95%CI, NC');
|
|
|
|
|
+ xlim([-6,48]);
|
|
|
|
|
+ set(gca,'YGrid','on');
|
|
|
|
|
+ ylabel(['SUV_{' num2str(suvopt) '%} [g/mL]'],'FontSize',14);
|
|
|
|
|
+ ylim(my_ylim);
|
|
|
|
|
+ xlabel('Time on ICI [months]','FontSize',12);
|
|
|
|
|
+ xticks([-6:3:48]);
|
|
|
|
|
+ title(organ, 'FontSize',16,'FontName','Arial');
|
|
|
|
|
+end
|
|
|
|
|
+export_fig(['C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\SUVOPT_vs_time_PATCH_RAW_FINAL_' version '.png'])
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+% Plot AUCvsSUV rawMAXSUVOPT _ FINAL
|
|
|
|
|
+
|
|
|
|
|
+figure('pos',[100,100, 1200,400],'Color','w');
|
|
|
|
|
+set(0,'DefaultAxesTitleFontWeight','normal');
|
|
|
|
|
+
|
|
|
|
|
+percentile_grid = [5:5:100];
|
|
|
|
|
+
|
|
|
|
|
+for i=1:3
|
|
|
|
|
+ switch i
|
|
|
|
|
+ case 1
|
|
|
|
|
+ suv_perc = bowel_SUVperc_COMBINED;
|
|
|
|
|
+ organ = 'Bowel';
|
|
|
|
|
+ irae_flag = flags(:,2);
|
|
|
|
|
+ baseline_ind = flags(:,1);
|
|
|
|
|
+ irae_days = flags(:,3);
|
|
|
|
|
+ suvopt = 95;
|
|
|
|
|
+ scan_days = days;
|
|
|
|
|
+ case 2
|
|
|
|
|
+ suv_perc = lung_SUVperc_COMBINED;
|
|
|
|
|
+ organ = 'Lung';
|
|
|
|
|
+ irae_flag = flags(:,4);
|
|
|
|
|
+ baseline_ind = flags(:,1);
|
|
|
|
|
+ irae_days = flags(:,5);
|
|
|
|
|
+ suvopt = 95;
|
|
|
|
|
+ scan_days = days;
|
|
|
|
|
+ case 3
|
|
|
|
|
+ suv_perc = thyroid_SUVperc_COMBINED(thyroid_ind,:,:);
|
|
|
|
|
+ organ = 'Thyroid';
|
|
|
|
|
+ irae_flag = flags(thyroid_ind,6);
|
|
|
|
|
+ baseline_ind = flags(thyroid_ind,1);
|
|
|
|
|
+ irae_days = flags(thyroid_ind,7);
|
|
|
|
|
+ suvopt = 75;
|
|
|
|
|
+ scan_days = days(thyroid_ind,:);
|
|
|
|
|
+ end
|
|
|
|
|
+ clear organ_MAX
|
|
|
|
|
+
|
|
|
|
|
+ for j=1:size(scan_days,1);
|
|
|
|
|
+ n_scans = sum(days(j,:)~=0);
|
|
|
|
|
+ % Take MAX over time points
|
|
|
|
|
+ organ_MAX(j,:) = squeeze(max(suv_perc(j,[baseline_ind(j)+1:baseline_ind(j)+n_scans-1],:),[],2));
|
|
|
|
|
+ end
|
|
|
|
|
+
|
|
|
|
|
+ % Compute ROC stats for every SUV percentile 1-100
|
|
|
|
|
+ for j=1:numel(percentile_grid)
|
|
|
|
|
+ [~,~,~,temp_AUC,~] = perfcurve(irae_flag,organ_MAX(:,percentile_grid(j)),1);
|
|
|
|
|
+ AUC_organ(j) = temp_AUC;
|
|
|
|
|
+ end
|
|
|
|
|
+
|
|
|
|
|
+ [maxAUC_organ, ImaxAUC_organ] = max(AUC_organ);
|
|
|
|
|
+
|
|
|
|
|
+ % Plot: AUC vs SUV percentile
|
|
|
|
|
+ subplot(1,3,i)
|
|
|
|
|
+ plot(percentile_grid, AUC_organ, 'LineWidth',1.5);
|
|
|
|
|
+ hold on; grid on;
|
|
|
|
|
+ plot([0,100], [0.5, 0.5],'k-');
|
|
|
|
|
+ xlabel('SUV percentile','FontSize',12);
|
|
|
|
|
+ ylabel('AUROC','FontSize',14);
|
|
|
|
|
+ ylim([0.4, 1]);
|
|
|
|
|
+ text(2,0.97, ['SUV_{OPT%} = SUV_{' num2str(percentile_grid(ImaxAUC_organ)) '%}'], 'FontSize',12,'HorizontalAlignment','left')
|
|
|
|
|
+ title(organ, 'FontSize',16,'FontName','Arial');
|
|
|
|
|
+end
|
|
|
|
|
+export_fig(['C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\AUCvsSUV_rawMAXSUVOPT_FINAL_' version '.png']);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+% Plot ROC curve @ SUVOPT _ FINAL
|
|
|
|
|
+
|
|
|
|
|
+figure('pos',[100,100, 1200,400],'Color','w');
|
|
|
|
|
+set(0,'DefaultAxesTitleFontWeight','normal');
|
|
|
|
|
+
|
|
|
|
|
+for i=1:3
|
|
|
|
|
+ switch i
|
|
|
|
|
+ case 1
|
|
|
|
|
+ suv_perc = bowel_SUVperc_COMBINED;
|
|
|
|
|
+ organ = 'Bowel';
|
|
|
|
|
+ irae_flag = flags(:,2);
|
|
|
|
|
+ baseline_ind = flags(:,1);
|
|
|
|
|
+ irae_days = flags(:,3);
|
|
|
|
|
+ suvopt = 95;
|
|
|
|
|
+ scan_days = days;
|
|
|
|
|
+ case 2
|
|
|
|
|
+ suv_perc = lung_SUVperc_COMBINED;
|
|
|
|
|
+ organ = 'Lung';
|
|
|
|
|
+ irae_flag = flags(:,4);
|
|
|
|
|
+ baseline_ind = flags(:,1);
|
|
|
|
|
+ irae_days = flags(:,5);
|
|
|
|
|
+ suvopt = 95;
|
|
|
|
|
+ scan_days = days;
|
|
|
|
|
+ case 3
|
|
|
|
|
+ suv_perc = thyroid_SUVperc_COMBINED(thyroid_ind,:,:);
|
|
|
|
|
+ organ = 'Thyroid';
|
|
|
|
|
+ irae_flag = flags(thyroid_ind,6);
|
|
|
|
|
+ baseline_ind = flags(thyroid_ind,1);
|
|
|
|
|
+ irae_days = flags(thyroid_ind,7);
|
|
|
|
|
+ suvopt = 75;
|
|
|
|
|
+ scan_days = days(thyroid_ind,:);
|
|
|
|
|
+ end
|
|
|
|
|
+ clear organ_MAX
|
|
|
|
|
+
|
|
|
|
|
+ for j=1:size(scan_days,1);
|
|
|
|
|
+ n_scans = sum(days(j,:)~=0);
|
|
|
|
|
+ % Take MAX over time points
|
|
|
|
|
+ organ_MAX(j,:) = squeeze(max(suv_perc(j,[baseline_ind(j)+1:baseline_ind(j)+n_scans-1],:),[],2));
|
|
|
|
|
+ end
|
|
|
|
|
+
|
|
|
|
|
+ % Compute ROC stats for every SUV percentile 1-100
|
|
|
|
|
+ [X,Y,T,temp_AUC] = perfcurve(irae_flag,organ_MAX(:,suvopt),1);
|
|
|
|
|
+ % Find indice that maximizes Youden's index (Sens + Spec - 1)
|
|
|
|
|
+ [~,ii] = max((1-X)+Y-1);
|
|
|
|
|
+
|
|
|
|
|
+ % Plot: ROC curve for SUVopt
|
|
|
|
|
+ subplot(1,3,i)
|
|
|
|
|
+ plot(1-X, Y, 'LineWidth',1.5);
|
|
|
|
|
+ hold on; grid on;
|
|
|
|
|
+ scatter(1-X(ii), Y(ii), 30,'Marker','o','MarkerEdgeColor','k','MarkerFaceColor',[0.00,0.45,0.74], 'LineWidth',1.5);
|
|
|
|
|
+ plot([0,1], [1, 0],'k-');
|
|
|
|
|
+ xlabel('Specificity','FontSize',14);
|
|
|
|
|
+ set(gca, 'XDir','reverse');
|
|
|
|
|
+ ylabel('Sensitivity','FontSize',14);
|
|
|
|
|
+ ylim([0, 1]);
|
|
|
|
|
+ title(organ, 'FontSize',16,'FontName','Arial');
|
|
|
|
|
+ %text(0.1, 0.3, ['SUV_{OPT%}: SUV_{' num2str(suvopt) '%}'], 'FontSize',12,'HorizontalAlignment','right');
|
|
|
|
|
+ text(0.1, 0.2, ['AUROC = ' num2str(round(temp_AUC,2))],'FontSize',12,'HorizontalAlignment','right');
|
|
|
|
|
+ text(0.1, 0.1, ['T_{OPT} = ' num2str(round(T(ii),1)) ' g/mL'],'FontSize',12,'HorizontalAlignment','right');
|
|
|
|
|
+
|
|
|
|
|
+end
|
|
|
|
|
+export_fig(['C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\ROC_FINAL_' version '.png']);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% PT 4982_15 - for Fig 5 - PLOT SUV95 vs TIME with markers for CLINICAL DX of IRAE -
|
|
|
|
|
+figure('pos',[100,100, 700,300],'Color','w');
|
|
|
|
|
+set(0,'DefaultAxesTitleFontWeight','normal');
|
|
|
|
|
+
|
|
|
|
|
+for i=2
|
|
|
|
|
+ switch i
|
|
|
|
|
+ case 1
|
|
|
|
|
+ suv_perc = bowel_SUVperc_COMBINED;
|
|
|
|
|
+ organ = 'Bowel';
|
|
|
|
|
+ irae_flag = flags(:,2);
|
|
|
|
|
+ irae_days = flags(:,3);
|
|
|
|
|
+ suvopt = 95;
|
|
|
|
|
+ scan_days = days;
|
|
|
|
|
+ my_ylim = [0,10];
|
|
|
|
|
+ case 2
|
|
|
|
|
+ suv_perc = lung_SUVperc_COMBINED;
|
|
|
|
|
+ organ = 'Lung';
|
|
|
|
|
+ irae_flag = flags(:,4);
|
|
|
|
|
+ irae_days = flags(:,5);
|
|
|
|
|
+ suvopt = 95;
|
|
|
|
|
+ scan_days = days;
|
|
|
|
|
+ my_ylim = [0,5];
|
|
|
|
|
+ case 3
|
|
|
|
|
+ suv_perc = thyroid_SUVperc_COMBINED(thyroid_ind,:,:);
|
|
|
|
|
+ organ = 'Thyroid';
|
|
|
|
|
+ irae_flag = flags(thyroid_ind,6);
|
|
|
|
|
+ irae_days = flags(thyroid_ind,7);
|
|
|
|
|
+ suvopt = 75;
|
|
|
|
|
+ scan_days = days(thyroid_ind,:);
|
|
|
|
|
+ my_ylim = [0,5];
|
|
|
|
|
+ end
|
|
|
|
|
+ disp(['Starting ' organ '...']);
|
|
|
|
|
+
|
|
|
|
|
+ cc = 0.8.*distinguishable_colors(sum(irae_flag));
|
|
|
|
|
+
|
|
|
|
|
+ hold on; grid on; box on;
|
|
|
|
|
+ cc_counter = 0;
|
|
|
|
|
+ for j=11
|
|
|
|
|
+ n_scans = sum(scan_days(j,:)~=0);
|
|
|
|
|
+ if irae_flag(j)==1
|
|
|
|
|
+ cc_counter = cc_counter + 1;
|
|
|
|
|
+ l = plot(scan_days(j,1:n_scans), suv_perc(j,1:n_scans,suvopt),'-','LineWidth',1.5, 'Color', 0.1+((cc_counter-1)./sum(irae_flag)).*[0 0.9 0],'HandleVisibility','off');
|
|
|
|
|
+ if irae_days(j)>0
|
|
|
|
|
+ scatter(irae_days(j), max(suv_perc(j,1:n_scans,suvopt)),'v','MarkerEdgeColor',l.Color,'MarkerFaceColor',l.Color,'HandleVisibility','off');
|
|
|
|
|
+ end
|
|
|
|
|
+ else
|
|
|
|
|
+ patchline(scan_days(j,1:n_scans), suv_perc(j,1:n_scans,suvopt),'LineStyle','-','LineWidth',0.5, 'EdgeColor', 'k', 'EdgeAlpha',0.1,'HandleVisibility','off');
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+
|
|
|
|
|
+ %dummies for legend
|
|
|
|
|
+ plot(-500, -100, '-','LineWidth',1.5, 'Color',[0 0.6 0]);
|
|
|
|
|
+ scatter(-500, -500,'v','MarkerEdgeColor',[0 0.7 0],'MarkerFaceColor',[0 0.6 0]);
|
|
|
|
|
+ plot(-500, -500,'LineStyle','-','LineWidth',0.5, 'Color', [0.8 0.8 0.8]);
|
|
|
|
|
+ patch([-100, 1400, 1400, -100],[norm_95CI(i,1),norm_95CI(i,1),norm_95CI(i,2),norm_95CI(i,2)],[0.6, 0.6, 0.6],'FaceAlpha',0.2);
|
|
|
|
|
+
|
|
|
|
|
+ legend('AE','Clin dx', 'NC', '95%CI NC');
|
|
|
|
|
+ xlim([-100,1400]);
|
|
|
|
|
+ ylabel(['SUV_{' num2str(suvopt) '%} [g/mL]'],'FontSize',14);
|
|
|
|
|
+ xlabel('Time post tx start [days]','FontSize',12);
|
|
|
|
|
+ xticks([-100:100:1400]);
|
|
|
|
|
+ title(organ, 'FontSize',16,'FontName','Arial');
|
|
|
|
|
+ ylim(my_ylim);
|
|
|
|
|
+
|
|
|
|
|
+end
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\SUVOPT_vs_time_4982_15_RAW.png')
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% PT ae6 - for Fig 5 - PLOT SUV95 vs TIME with markers for CLINICAL DX of IRAE -
|
|
|
|
|
+figure('pos',[100,100, 700,600],'Color','w');
|
|
|
|
|
+set(0,'DefaultAxesTitleFontWeight','normal');
|
|
|
|
|
+
|
|
|
|
|
+for i=1:2
|
|
|
|
|
+ switch i
|
|
|
|
|
+ case 1
|
|
|
|
|
+ suv_perc = bowel_SUVperc_COMBINED;
|
|
|
|
|
+ organ = 'Bowel';
|
|
|
|
|
+ irae_flag = flags(:,2);
|
|
|
|
|
+ irae_days = flags(:,3);
|
|
|
|
|
+ suvopt = 95;
|
|
|
|
|
+ scan_days = days;
|
|
|
|
|
+ my_ylim = [0,10];
|
|
|
|
|
+ case 2
|
|
|
|
|
+ suv_perc = lung_SUVperc_COMBINED;
|
|
|
|
|
+ organ = 'Lung';
|
|
|
|
|
+ irae_flag = flags(:,4);
|
|
|
|
|
+ irae_days = flags(:,5);
|
|
|
|
|
+ suvopt = 95;
|
|
|
|
|
+ scan_days = days;
|
|
|
|
|
+ my_ylim = [0,5];
|
|
|
|
|
+ case 3
|
|
|
|
|
+ suv_perc = thyroid_SUVperc_COMBINED(thyroid_ind,:,:);
|
|
|
|
|
+ organ = 'Thyroid';
|
|
|
|
|
+ irae_flag = flags(thyroid_ind,6);
|
|
|
|
|
+ irae_days = flags(thyroid_ind,7);
|
|
|
|
|
+ suvopt = 75;
|
|
|
|
|
+ scan_days = days(thyroid_ind,:);
|
|
|
|
|
+ my_ylim = [0,5];
|
|
|
|
|
+ end
|
|
|
|
|
+ disp(['Starting ' organ '...']);
|
|
|
|
|
+
|
|
|
|
|
+ cc = 0.8.*distinguishable_colors(sum(irae_flag));
|
|
|
|
|
+ subplot(2,1,i)
|
|
|
|
|
+ hold on; grid on; box on;
|
|
|
|
|
+ cc_counter = 0;
|
|
|
|
|
+ for j=35
|
|
|
|
|
+ n_scans = sum(scan_days(j,:)~=0);
|
|
|
|
|
+ if irae_flag(j)==1
|
|
|
|
|
+ cc_counter = cc_counter + 1;
|
|
|
|
|
+ l = plot(scan_days(j,1:n_scans), suv_perc(j,1:n_scans,suvopt),'-','LineWidth',1.5, 'Color', 0.1+((cc_counter-1)./sum(irae_flag)).*[0 0.9 0],'HandleVisibility','off');
|
|
|
|
|
+ if irae_days(j)>0
|
|
|
|
|
+ scatter(irae_days(j), max(suv_perc(j,1:n_scans,suvopt)),'v','MarkerEdgeColor',l.Color,'MarkerFaceColor',l.Color,'HandleVisibility','off');
|
|
|
|
|
+ end
|
|
|
|
|
+ else
|
|
|
|
|
+ patchline(scan_days(j,1:n_scans), suv_perc(j,1:n_scans,suvopt),'LineStyle','-','LineWidth',0.5, 'EdgeColor', 'k', 'EdgeAlpha',0.1,'HandleVisibility','off');
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+
|
|
|
|
|
+ %dummies for legend
|
|
|
|
|
+ plot(-500, -100, '-','LineWidth',1.5, 'Color',[0 0.6 0]);
|
|
|
|
|
+ scatter(-500, -500,'v','MarkerEdgeColor',[0 0.7 0],'MarkerFaceColor',[0 0.6 0]);
|
|
|
|
|
+ plot(-500, -500,'LineStyle','-','LineWidth',0.5, 'Color', [0.8 0.8 0.8]);
|
|
|
|
|
+ patch([-100, 1400, 1400, -100],[norm_95CI(i,1),norm_95CI(i,1),norm_95CI(i,2),norm_95CI(i,2)],[0.6, 0.6, 0.6],'FaceAlpha',0.2);
|
|
|
|
|
+
|
|
|
|
|
+ legend('AE','Clin dx', 'NC', '95%CI NC');
|
|
|
|
|
+ xlim([-100,1400]);
|
|
|
|
|
+ ylabel(['SUV_{' num2str(suvopt) '%} [g/mL]'],'FontSize',14);
|
|
|
|
|
+ xlabel('Time post tx start [days]','FontSize',12);
|
|
|
|
|
+ xticks([-100:100:1400]);
|
|
|
|
|
+ title(organ, 'FontSize',16,'FontName','Arial');
|
|
|
|
|
+ ylim(my_ylim);
|
|
|
|
|
+end
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\SUVOPT_vs_time_ae6_RAW.png')
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% PT A022/7339_11 - for Fig 7 - PLOT SUV95 vs TIME with markers for CLINICAL DX of IRAE -
|
|
|
|
|
+figure('pos',[100,100, 700,600],'Color','w');
|
|
|
|
|
+set(0,'DefaultAxesTitleFontWeight','normal');
|
|
|
|
|
+
|
|
|
|
|
+for i=3
|
|
|
|
|
+ switch i
|
|
|
|
|
+ case 1
|
|
|
|
|
+ suv_perc = bowel_SUVperc_COMBINED;
|
|
|
|
|
+ organ = 'Bowel';
|
|
|
|
|
+ irae_flag = flags(:,2);
|
|
|
|
|
+ irae_days = flags(:,3);
|
|
|
|
|
+ suvopt = 95;
|
|
|
|
|
+ scan_days = days;
|
|
|
|
|
+ my_ylim = [0,10];
|
|
|
|
|
+ case 2
|
|
|
|
|
+ suv_perc = lung_SUVperc_COMBINED;
|
|
|
|
|
+ organ = 'Lung';
|
|
|
|
|
+ irae_flag = flags(:,4);
|
|
|
|
|
+ irae_days = flags(:,5);
|
|
|
|
|
+ suvopt = 95;
|
|
|
|
|
+ scan_days = days;
|
|
|
|
|
+ my_ylim = [0,5];
|
|
|
|
|
+ case 3
|
|
|
|
|
+ suv_perc = thyroid_SUVperc_COMBINED(thyroid_ind,:,:);
|
|
|
|
|
+ organ = 'Thyroid';
|
|
|
|
|
+ irae_flag = flags(thyroid_ind,6);
|
|
|
|
|
+ irae_days = flags(thyroid_ind,7);
|
|
|
|
|
+ suvopt = 75;
|
|
|
|
|
+ scan_days = days(thyroid_ind,:);
|
|
|
|
|
+ my_ylim = [0,5];
|
|
|
|
|
+ end
|
|
|
|
|
+ disp(['Starting ' organ '...']);
|
|
|
|
|
+
|
|
|
|
|
+ cc = 0.8.*distinguishable_colors(sum(irae_flag));
|
|
|
|
|
+ subplot(2,1,1)
|
|
|
|
|
+ hold on; grid on; box on;
|
|
|
|
|
+ cc_counter = 0;
|
|
|
|
|
+ for j=23
|
|
|
|
|
+ n_scans = sum(scan_days(j,:)~=0);
|
|
|
|
|
+ if irae_flag(j)==1
|
|
|
|
|
+ cc_counter = cc_counter + 1;
|
|
|
|
|
+ l = plot(scan_days(j,1:n_scans), suv_perc(j,1:n_scans,suvopt),'-','LineWidth',1.5, 'Color', 0.1+((cc_counter-1)./sum(irae_flag)).*[0 0.9 0],'HandleVisibility','off');
|
|
|
|
|
+ if irae_days(j)>0
|
|
|
|
|
+ scatter(irae_days(j), max(suv_perc(j,1:n_scans,suvopt)),'v','MarkerEdgeColor',l.Color,'MarkerFaceColor',l.Color,'HandleVisibility','off');
|
|
|
|
|
+ end
|
|
|
|
|
+ else
|
|
|
|
|
+ patchline(scan_days(j,1:n_scans), suv_perc(j,1:n_scans,suvopt),'LineStyle','-','LineWidth',0.5, 'EdgeColor', 'k', 'EdgeAlpha',0.1,'HandleVisibility','off');
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+
|
|
|
|
|
+ %dummies for legend
|
|
|
|
|
+ plot(-500, -100, '-','LineWidth',1.5, 'Color',[0 0.6 0]);
|
|
|
|
|
+ scatter(-500, -500,'v','MarkerEdgeColor',[0 0.7 0],'MarkerFaceColor',[0 0.6 0]);
|
|
|
|
|
+ plot(-500, -500,'LineStyle','-','LineWidth',0.5, 'Color', [0.8 0.8 0.8]);
|
|
|
|
|
+ patch([-100, 1400, 1400, -100],[norm_95CI(i,1),norm_95CI(i,1),norm_95CI(i,2),norm_95CI(i,2)],[0.6, 0.6, 0.6],'FaceAlpha',0.2);
|
|
|
|
|
+
|
|
|
|
|
+ legend('AE','Clin dx', 'NC', '95%CI NC');
|
|
|
|
|
+ xlim([-100,1400]);
|
|
|
|
|
+ ylabel(['SUV_{' num2str(suvopt) '%} [g/mL]'],'FontSize',14);
|
|
|
|
|
+ xlabel('Time post tx start [days]','FontSize',12);
|
|
|
|
|
+ xticks([-100:100:1400]);
|
|
|
|
|
+ title(organ, 'FontSize',16,'FontName','Arial');
|
|
|
|
|
+ ylim(my_ylim);
|
|
|
|
|
+end
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\SUVOPT_vs_time_a022_RAW.png')
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% PLOT SUVOPT vs TIME with markers for CLINICAL DX of IRAE - all pts as line, normalized to PET1 SUVOPT (Frelau fig 3)
|
|
|
|
|
+figure('pos',[100,100, 700,900],'Color','w');
|
|
|
|
|
+set(0,'DefaultAxesTitleFontWeight','normal');
|
|
|
|
|
+
|
|
|
|
|
+for i=1:3
|
|
|
|
|
+ switch i
|
|
|
|
|
+ case 1
|
|
|
|
|
+ suv_perc = bowel_SUVperc_COMBINED;
|
|
|
|
|
+ organ = 'Bowel';
|
|
|
|
|
+ irae_flag = flags(:,2);
|
|
|
|
|
+ irae_days = flags(:,3);
|
|
|
|
|
+ suvopt = 95;
|
|
|
|
|
+ scan_days = days;
|
|
|
|
|
+ case 2
|
|
|
|
|
+ suv_perc = lung_SUVperc_COMBINED;
|
|
|
|
|
+ organ = 'Lung';
|
|
|
|
|
+ irae_flag = flags(:,4);
|
|
|
|
|
+ irae_days = flags(:,5);
|
|
|
|
|
+ suvopt = 95;
|
|
|
|
|
+ scan_days = days;
|
|
|
|
|
+ case 3
|
|
|
|
|
+ suv_perc = thyroid_SUVperc_COMBINED(thyroid_ind,:,:);
|
|
|
|
|
+ organ = 'Thyroid';
|
|
|
|
|
+ irae_flag = flags(thyroid_ind,6);
|
|
|
|
|
+ irae_days = flags(thyroid_ind,7);
|
|
|
|
|
+ suvopt = 75;
|
|
|
|
|
+ scan_days = days(thyroid_ind,:);
|
|
|
|
|
+ end
|
|
|
|
|
+ disp(['Starting ' organ '...']);
|
|
|
|
|
+
|
|
|
|
|
+ cc = 0.8.*distinguishable_colors(sum(irae_flag));
|
|
|
|
|
+
|
|
|
|
|
+ subplot(3,1,i);
|
|
|
|
|
+ hold on; grid on; box on;
|
|
|
|
|
+ cc_counter = 0;
|
|
|
|
|
+ for j=1:size(scan_days,1);
|
|
|
|
|
+ n_scans = sum(scan_days(j,:)~=0);
|
|
|
|
|
+ if irae_flag(j)==1
|
|
|
|
|
+ cc_counter = cc_counter + 1;
|
|
|
|
|
+ l = plot(scan_days(j,1:n_scans), 100.*(suv_perc(j,1:n_scans,suvopt)./suv_perc(j,1,suvopt)-1),'-','LineWidth',1.5, 'Color', 0.1+((cc_counter-1)./sum(irae_flag)).*[0 0.9 0],'HandleVisibility','off');
|
|
|
|
|
+ if irae_days(j)>0
|
|
|
|
|
+ scatter(irae_days(j), 100.*(max(suv_perc(j,1:n_scans,suvopt))./suv_perc(j,1,suvopt)-1),'v','MarkerEdgeColor',l.Color,'MarkerFaceColor',l.Color,'HandleVisibility','off');
|
|
|
|
|
+ end
|
|
|
|
|
+ else
|
|
|
|
|
+ patchline(scan_days(j,1:n_scans), 100.*(suv_perc(j,1:n_scans,suvopt)./suv_perc(j,1,suvopt)-1),'LineStyle','-','LineWidth',0.5, 'EdgeColor', 'k', 'EdgeAlpha',0.1,'HandleVisibility','off');
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+
|
|
|
|
|
+ %dummies for legend
|
|
|
|
|
+ plot(-500, -100, '-','LineWidth',1.5, 'Color',[0 0.6 0]);
|
|
|
|
|
+ scatter(-500, -500,'v','MarkerEdgeColor',[0 0.7 0],'MarkerFaceColor',[0 0.6 0]);
|
|
|
|
|
+ plot(-500, -500,'LineStyle','-','LineWidth',0.5, 'Color', [0.8 0.8 0.8]);
|
|
|
|
|
+ %patch([-100, 1400, 1400, -100],[norm_95CI(i,1),norm_95CI(i,1),norm_95CI(i,2),norm_95CI(i,2)],[0.6, 0.6, 0.6],'FaceAlpha',0.2);
|
|
|
|
|
+
|
|
|
|
|
+ legend('AE','Clin dx', 'NC');
|
|
|
|
|
+ xlim([-100,1400]);
|
|
|
|
|
+ ylabel(['\Delta SUV_{' num2str(suvopt) '%} [%]'],'FontSize',14);
|
|
|
|
|
+ xlabel('Time post tx start [days]','FontSize',12);
|
|
|
|
|
+ xticks([-100:100:1400]);
|
|
|
|
|
+ ylim([-100, 250]);
|
|
|
|
|
+ title(organ, 'FontSize',16,'FontName','Arial');
|
|
|
|
|
+end
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\SUVOPT_vs_time_ALLPTS_NORM.png')
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% Plot Boxplots dMAXSUVOPT
|
|
|
|
|
+
|
|
|
|
|
+figure('pos',[100,100, 1200,400],'Color','w');
|
|
|
|
|
+percentile_grid = [5:5:100];
|
|
|
|
|
+
|
|
|
|
|
+for i=1:3
|
|
|
|
|
+ switch i
|
|
|
|
|
+ case 1
|
|
|
|
|
+ suv_perc = bowel_SUVperc_COMBINED;
|
|
|
|
|
+ organ = 'Bowel';
|
|
|
|
|
+ irae_flag = flags(:,2);
|
|
|
|
|
+ irae_days = flags(:,3);
|
|
|
|
|
+ case 2
|
|
|
|
|
+ suv_perc = lung_SUVperc_COMBINED;
|
|
|
|
|
+ organ = 'Lung';
|
|
|
|
|
+ irae_flag = flags(:,4);
|
|
|
|
|
+ irae_days = flags(:,5);
|
|
|
|
|
+ case 3
|
|
|
|
|
+ suv_perc = thyroid_SUVperc_COMBINED;
|
|
|
|
|
+ organ = 'Thyroid';
|
|
|
|
|
+ irae_flag = flags(:,6);
|
|
|
|
|
+ irae_days = flags(:,7);
|
|
|
|
|
+ end
|
|
|
|
|
+
|
|
|
|
|
+ for j=1:58
|
|
|
|
|
+ n_scans = sum(days(j,:)~=0);
|
|
|
|
|
+ d_organ(j,1:n_scans,:) = 100.*(suv_perc(j, flags(j,1)+[0:n_scans-1], :)./suv_perc(j, flags(j,1), :) - 1);
|
|
|
|
|
+
|
|
|
|
|
+ % Take MAX over time points
|
|
|
|
|
+ d_organ_MAX(j,:) = squeeze(max(d_organ(j,2:n_scans,:),[],2));
|
|
|
|
|
+ end
|
|
|
|
|
+
|
|
|
|
|
+ % Compute ROC stats for every SUV percentile 1-100
|
|
|
|
|
+ for j=1:numel(percentile_grid)
|
|
|
|
|
+ [~,~,~,temp_AUC,~] = perfcurve(irae_flag,d_organ_MAX(:,percentile_grid(j)),1);
|
|
|
|
|
+ AUC_organ(j) = temp_AUC;
|
|
|
|
|
+ end
|
|
|
|
|
+
|
|
|
|
|
+ [maxAUC_organ, ImaxAUC_organ] = max(AUC_organ);
|
|
|
|
|
+
|
|
|
|
|
+ % Plot: AUC vs SUV percentile
|
|
|
|
|
+ subplot(1,3,i)
|
|
|
|
|
+ boxplot(d_organ_MAX(:,percentile_grid(ImaxAUC_organ)), irae_flag, 'Labels',{'NC','AE'});
|
|
|
|
|
+ hold on; grid on;
|
|
|
|
|
+ ylabel('MAX (\Delta SUV_{OPT%}) [%]','FontSize',14);
|
|
|
|
|
+ ylim([-50, 300]);
|
|
|
|
|
+ text(1.5, 250, ['AUROC=' num2str(round(maxAUC_organ,2))],'HorizontalAlignment','center');
|
|
|
|
|
+ text(1.5, 220, ['SUV_{OPT%}=' num2str(percentile_grid(ImaxAUC_organ)) '%'] ,'HorizontalAlignment','center');
|
|
|
|
|
+ title(organ, 'FontSize',16,'FontName','Arial');
|
|
|
|
|
+end
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\boxplots_dMAX_SUVOPT.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% Plot AUCvsSUV dMAXSUVOPT
|
|
|
|
|
+
|
|
|
|
|
+figure('pos',[100,100, 1200,400],'Color','w');
|
|
|
|
|
+percentile_grid = [5:5:100];
|
|
|
|
|
+
|
|
|
|
|
+for i=1:3
|
|
|
|
|
+ switch i
|
|
|
|
|
+ case 1
|
|
|
|
|
+ suv_perc = bowel_SUVperc_COMBINED;
|
|
|
|
|
+ organ = 'Bowel';
|
|
|
|
|
+ irae_flag = flags(:,2);
|
|
|
|
|
+ irae_days = flags(:,3);
|
|
|
|
|
+ case 2
|
|
|
|
|
+ suv_perc = lung_SUVperc_COMBINED;
|
|
|
|
|
+ organ = 'Lung';
|
|
|
|
|
+ irae_flag = flags(:,4);
|
|
|
|
|
+ irae_days = flags(:,5);
|
|
|
|
|
+ case 3
|
|
|
|
|
+ suv_perc = thyroid_SUVperc_COMBINED;
|
|
|
|
|
+ organ = 'Thyroid';
|
|
|
|
|
+ irae_flag = flags(:,6);
|
|
|
|
|
+ irae_days = flags(:,7);
|
|
|
|
|
+ end
|
|
|
|
|
+
|
|
|
|
|
+ for j=1:58
|
|
|
|
|
+ n_scans = sum(days(j,:)~=0);
|
|
|
|
|
+ d_organ(j,1:n_scans,:) = 100.*(suv_perc(j, flags(j,1)+[0:n_scans-1], :)./suv_perc(j, flags(j,1), :) - 1);
|
|
|
|
|
+
|
|
|
|
|
+ % Take MAX over time points
|
|
|
|
|
+ d_organ_MAX(j,:) = squeeze(max(d_organ(j,2:n_scans,:),[],2));
|
|
|
|
|
+ end
|
|
|
|
|
+
|
|
|
|
|
+ % Compute ROC stats for every SUV percentile 1-100
|
|
|
|
|
+ for j=1:numel(percentile_grid)
|
|
|
|
|
+ [~,~,~,temp_AUC,~] = perfcurve(irae_flag,d_organ_MAX(:,percentile_grid(j)),1);
|
|
|
|
|
+ AUC_organ(j) = temp_AUC;
|
|
|
|
|
+ end
|
|
|
|
|
+
|
|
|
|
|
+ [maxAUC_organ, ImaxAUC_organ] = max(AUC_organ);
|
|
|
|
|
+
|
|
|
|
|
+ % Plot: AUC vs SUV percentile
|
|
|
|
|
+ subplot(1,3,i)
|
|
|
|
|
+ plot(percentile_grid, AUC_organ, 'LineWidth',1);
|
|
|
|
|
+ hold on; grid on;
|
|
|
|
|
+ plot([0,100], [0.5, 0.5],'k-');
|
|
|
|
|
+ xlabel('SUV percentile','FontSize',14);
|
|
|
|
|
+ ylabel('AUC','FontSize',14);
|
|
|
|
|
+ ylim([0.4, 1]);
|
|
|
|
|
+ text(2,0.98, ['Optimal %ile: ' num2str(percentile_grid(ImaxAUC_organ))], 'FontSize',12,'HorizontalAlignment','left')
|
|
|
|
|
+ title(organ, 'FontSize',16,'FontName','Arial');
|
|
|
|
|
+end
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\AUCvsSUV_dMAXSUVOPT.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% LUNG - USING MAX (N=65 NC vs N=5 AE)
|
|
|
|
|
+xlims = [-100, 1200]; %for SUV longitudinal plots - in days
|
|
|
|
|
+
|
|
|
|
|
+% Compute relative lung change for all patients, all percentiles
|
|
|
|
|
+for i=1:58
|
|
|
|
|
+ n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+ d_lung(i,1:n_scans,:) = 100.*(lung_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], :)./lung_SUVperc_COMBINED(i, flags(i,1), :) - 1);
|
|
|
|
|
+
|
|
|
|
|
+ % Take MAX over time points
|
|
|
|
|
+ d_lung_MAX(i,:) = squeeze(max(d_lung(i,2:n_scans,:),[],2));
|
|
|
|
|
+end
|
|
|
|
|
+
|
|
|
|
|
+% Compute ROC stats for every SUV percentile 1-100
|
|
|
|
|
+for i=1:100
|
|
|
|
|
+ [~,~,~,temp_AUC,~] = perfcurve(flags(:,4),d_lung_MAX(:,i),1);
|
|
|
|
|
+ AUC_lung(i) = temp_AUC;
|
|
|
|
|
+end
|
|
|
|
|
+
|
|
|
|
|
+% Determine optimal percentile SUVxx that maximizes AUC
|
|
|
|
|
+[maxAUC_lung, ImaxAUC_lung] = max(AUC_lung);
|
|
|
|
|
+
|
|
|
|
|
+%redo AUC to get X, Y for optimal SUVxx
|
|
|
|
|
+[OPT_X_lung,OPT_Y_lung,OPT_T_lung,OPT_AUC_lung] = perfcurve(flags(:,4),d_lung_MAX(:,ImaxAUC_lung),1);
|
|
|
|
|
+
|
|
|
|
|
+% determine threshold that maximizes sum of sens and spec
|
|
|
|
|
+t = 1-OPT_X_lung+OPT_Y_lung;
|
|
|
|
|
+[~,ii] = max(t);
|
|
|
|
|
+
|
|
|
|
|
+OPT_OPT_T_lung = OPT_T_lung(ii);
|
|
|
|
|
+OPT_ROCPT_lung = [1-OPT_X_lung(ii), OPT_Y_lung(ii)];
|
|
|
|
|
+
|
|
|
|
|
+% Compute mean and sd for NC patients for plotting normal range
|
|
|
|
|
+d_lung_NC = d_lung(flags(:,4)==0,:,:);
|
|
|
|
|
+
|
|
|
|
|
+mu_lung_NC = squeeze(mean(d_lung_NC(:,2,:), 1));
|
|
|
|
|
+sigma_lung_NC = squeeze(std(d_lung_NC(:,2,:), 1));
|
|
|
|
|
+
|
|
|
|
|
+% Plot: AUC vs SUV percentile
|
|
|
|
|
+figure('pos',[200, 800, 400, 400], 'Color','w');
|
|
|
|
|
+plot([1:100], AUC_lung, 'LineWidth',2);
|
|
|
|
|
+hold on; grid on;
|
|
|
|
|
+plot([0,100], [0.5, 0.5],'k-');
|
|
|
|
|
+xlabel('SUV percentile','FontSize',14);
|
|
|
|
|
+ylabel('AUC','FontSize',14);
|
|
|
|
|
+ylim([0.4, 1]);
|
|
|
|
|
+text(10,0.9, ['Optimal %ile: ' num2str(ImaxAUC_lung)], 'FontSize',12)
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\lung_AUCvsSUVperc.png');
|
|
|
|
|
+
|
|
|
|
|
+% Plot: Paired boxplots for SUVxx that produce highest AUC
|
|
|
|
|
+figure('pos',[700, 800, 300, 400], 'Color','w');
|
|
|
|
|
+boxplot(d_lung_MAX(:,ImaxAUC_lung), flags(:,4), 'Labels',{'NC (n=65)','AE (n=5)'});
|
|
|
|
|
+ylabel('MAX(\Delta SUV_{OPT%})','FontSize',14);
|
|
|
|
|
+grid on;
|
|
|
|
|
+lines = findobj(gcf, 'type', 'line');
|
|
|
|
|
+set(lines,'LineWidth',1.5);
|
|
|
|
|
+hold on;
|
|
|
|
|
+plot([0,3], [OPT_OPT_T_lung, OPT_OPT_T_lung], 'k-');
|
|
|
|
|
+p_lung = ranksum(d_lung_MAX(find(~flags(:,4)), ImaxAUC_lung) ,d_lung_MAX(find(flags(:,4)), ImaxAUC_lung));
|
|
|
|
|
+text(1.5, 180, ['p = 3e-4'],'HorizontalAlignment','center');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\lung_boxplots.png');
|
|
|
|
|
+
|
|
|
|
|
+% Plot: ROC curve for SUVxx that produced highest AUC
|
|
|
|
|
+figure('pos',[1100, 800, 400, 400], 'Color','w');
|
|
|
|
|
+plot(1-OPT_X_lung, OPT_Y_lung,'LineWidth',2);
|
|
|
|
|
+hold on; grid on;
|
|
|
|
|
+scatter(OPT_ROCPT_lung(1), OPT_ROCPT_lung(2), 'ro');
|
|
|
|
|
+set(gca, 'XDir','reverse');
|
|
|
|
|
+xlabel('Specificity','FontSize',14);
|
|
|
|
|
+ylabel('Sensitivity','FontSize',14);
|
|
|
|
|
+text(0.05, 0.25, ['AUC = ' num2str(round(OPT_AUC_lung,3))],'FontSize',12,'VerticalAlignment','bottom','HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.05, 0.2, ['Sens = ' num2str(round(OPT_ROCPT_lung(2),2))],'FontSize',12,'VerticalAlignment','bottom','HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.05, 0.15, ['Spec = ' num2str(round(OPT_ROCPT_lung(1),2))],'FontSize',12,'VerticalAlignment','bottom','HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.05, 0.08, ['T_{opt} = +' num2str(round(OPT_OPT_T_lung,1)) '%'],'FontSize',12,'VerticalAlignment','bottom','HorizontalAlignment', 'right');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\lung_ROC.png');
|
|
|
|
|
+
|
|
|
|
|
+% Plot: Longitudinal SUVxx with normal range
|
|
|
|
|
+figure('pos',[200, 200, 800, 400], 'Color','w');
|
|
|
|
|
+xlims = [-100, 1000];
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+hold on; grid on;
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_lung_NC(ImaxAUC_lung), mu_lung_NC(ImaxAUC_lung)], 'k-', 'LineWidth',2);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_lung_NC(ImaxAUC_lung) + 2.*sigma_lung_NC(ImaxAUC_lung), mu_lung_NC(ImaxAUC_lung)+ 2.*sigma_lung_NC(ImaxAUC_lung)], 'k-', 'LineWidth',0.5);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_lung_NC(ImaxAUC_lung) - 2.*sigma_lung_NC(ImaxAUC_lung), mu_lung_NC(ImaxAUC_lung)- 2.*sigma_lung_NC(ImaxAUC_lung)], 'k-', 'LineWidth',0.5);
|
|
|
|
|
+
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung)+2.*sigma_lung_NC(ImaxAUC_lung), '+2\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung)-2.*sigma_lung_NC(ImaxAUC_lung), '-2\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+for i=1:58
|
|
|
|
|
+ if flags(i,4) == 1;
|
|
|
|
|
+ n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+ if i<=30
|
|
|
|
|
+ plot(days(i, 1:n_scans), ...
|
|
|
|
|
+ 100.*(lung_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_lung)./lung_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_lung) - 1), ...
|
|
|
|
|
+ ':o',...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Color','k');
|
|
|
|
|
+ else
|
|
|
|
|
+ plot(days(i, 1:n_scans), ...
|
|
|
|
|
+ 100.*(lung_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_lung)./lung_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_lung) - 1), ...
|
|
|
|
|
+ '-.o',...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Color','r');
|
|
|
|
|
+ end
|
|
|
|
|
+ hold on; grid on;
|
|
|
|
|
+ end
|
|
|
|
|
+end
|
|
|
|
|
+xlim([xlims(1) xlims(2)]);
|
|
|
|
|
+ylim([-50, 220]);
|
|
|
|
|
+box on;
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\lung_SUVLong_CI.png');
|
|
|
|
|
+
|
|
|
|
|
+% Plot: Longitudinal SUVxx with optimal threshold
|
|
|
|
|
+figure('pos',[1200, 200, 800, 400], 'Color','w');
|
|
|
|
|
+xlims = [-100, 1000];
|
|
|
|
|
+hold on; grid on;
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [OPT_OPT_T_lung, OPT_OPT_T_lung], '-','Color','k', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+for i=1:58
|
|
|
|
|
+ if flags(i,4) == 1;
|
|
|
|
|
+ n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+ if i<=30
|
|
|
|
|
+ plot(days(i, 1:n_scans), ...
|
|
|
|
|
+ 100.*(lung_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_lung)./lung_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_lung) - 1), ...
|
|
|
|
|
+ ':o',...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Color','k');
|
|
|
|
|
+ else
|
|
|
|
|
+ plot(days(i, 1:n_scans), ...
|
|
|
|
|
+ 100.*(lung_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_lung)./lung_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_lung) - 1), ...
|
|
|
|
|
+ '-.o',...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Color','r');
|
|
|
|
|
+ end
|
|
|
|
|
+ hold on; grid on;
|
|
|
|
|
+ end
|
|
|
|
|
+end
|
|
|
|
|
+xlim([xlims(1) xlims(2)]);
|
|
|
|
|
+ylim([-50, 220]);
|
|
|
|
|
+box on;
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\lung_SUVLong_TOPT.png');
|
|
|
|
|
+
|
|
|
|
|
+% PLOT - logistic regression for % prob AE
|
|
|
|
|
+[log_reg_lung, gof_lung, output_lung] = fit(d_lung_MAX(:,ImaxAUC_lung), flags(:,4),'1./(1+exp(-k.*(x-x0)))','start',[1 50]);
|
|
|
|
|
+
|
|
|
|
|
+log_reg_lung
|
|
|
|
|
+figure('pos',[100,100, 500, 200], 'Color','w');
|
|
|
|
|
+scatter(d_lung_MAX(:,ImaxAUC_lung), flags(:,4));
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+plot(log_reg_lung, d_lung_MAX(:,ImaxAUC_lung), flags(:,4));
|
|
|
|
|
+xticks([-50:25:225]);
|
|
|
|
|
+xlim([-50, 225]);
|
|
|
|
|
+yticks([0:0.2:1]);
|
|
|
|
|
+xlabel('MAX (\Delta SUV_{OPT%}) [%]','FontSize',14);
|
|
|
|
|
+ylabel('AE (y/n)','FontSize',14);
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\lung_Logreg.png');
|
|
|
|
|
+
|
|
|
|
|
+%% PLOT - individual SUVopt vs time with tx and dx start/stops
|
|
|
|
|
+% pat 608/13
|
|
|
|
|
+i=18;
|
|
|
|
|
+n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-50, 240];
|
|
|
|
|
+ylims = [-40, 220];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_lung_NC(ImaxAUC_lung), mu_lung_NC(ImaxAUC_lung)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days(i, 1:n_scans), 100.*(lung_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_lung)./lung_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_lung) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 122 122 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+%irAE diagnosis
|
|
|
|
|
+plot([115 115], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([136 198 198 136], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% Death
|
|
|
|
|
+plot([198 198], [ylims(1), ylims(2)], 'r-','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('pneumonitisG2 608\_13');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\pneumonitis_608_13.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+% pat 4982/15
|
|
|
|
|
+i=11;
|
|
|
|
|
+n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-50, 1200];
|
|
|
|
|
+ylims = [-40, 220];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_lung_NC(ImaxAUC_lung), mu_lung_NC(ImaxAUC_lung)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days(i, 1:n_scans), 100.*(lung_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_lung)./lung_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_lung) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 299 299 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+tx = patch([376 xlims(2) xlims(2) 376], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+%irAE diagnosis
|
|
|
|
|
+plot([245 245], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([309 xlims(2) xlims(2) 309], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('pneumonitisG2 4982\_15');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\pneumonitis_4982_15.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+% pat 112_14
|
|
|
|
|
+i=1;
|
|
|
|
|
+n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-50, 280];
|
|
|
|
|
+ylims = [-40, 220];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_lung_NC(ImaxAUC_lung), mu_lung_NC(ImaxAUC_lung)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days(i, 1:n_scans), 100.*(lung_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_lung)./lung_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_lung) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 201 201 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([232 232], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([201 xlims(2) xlims(2) 201], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('pneumonitisG4 112\_14');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\pneumonitis_112_14.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+% pat 2278_07
|
|
|
|
|
+i=5;
|
|
|
|
|
+n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-50, 1500];
|
|
|
|
|
+ylims = [-40, 220];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_lung_NC(ImaxAUC_lung), mu_lung_NC(ImaxAUC_lung)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days(i, 1:n_scans), 100.*(lung_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_lung)./lung_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_lung) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 218 218 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([191 191], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([225 830 830 225], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([560 590 590 560], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([590 590], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([1447 xlims(2) xlims(2) 1447], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('pneumonitisG2 2279\_07');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\pneumonitis_2278_07.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+% pat AE6
|
|
|
|
|
+i=36;
|
|
|
|
|
+n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-20, 450];
|
|
|
|
|
+ylims = [-40, 220];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_lung_NC(ImaxAUC_lung), mu_lung_NC(ImaxAUC_lung)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days(i, 1:n_scans), 100.*(lung_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_lung)./lung_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_lung) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 14 14 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+tx = patch([98 140 140 98], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([273 273], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([14 80 80 14], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+tx = patch([154 xlims(2) xlims(2) 154], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('pneumonitis ae6');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\pneumonitis_ae6.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% PLOT - individual SUVopt vs time with tx and dx start/stops
|
|
|
|
|
+% pat 608/13
|
|
|
|
|
+i=18;
|
|
|
|
|
+n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-80, 1600];
|
|
|
|
|
+ylims = [-40, 220];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_lung_NC(ImaxAUC_lung), mu_lung_NC(ImaxAUC_lung)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days(i, 1:n_scans), 100.*(lung_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_lung)./lung_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_lung) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 122 122 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+%irAE diagnosis
|
|
|
|
|
+plot([115 115], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([136 198 198 136], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% Death
|
|
|
|
|
+plot([198 198], [ylims(1), ylims(2)], 'r-','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('pneumonitisG2 608\_13');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\pneumonitis_608_13_fixedtime.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+% pat 4982/15
|
|
|
|
|
+i=11;
|
|
|
|
|
+n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-80, 1600];
|
|
|
|
|
+ylims = [-40, 220];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_lung_NC(ImaxAUC_lung), mu_lung_NC(ImaxAUC_lung)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days(i, 1:n_scans), 100.*(lung_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_lung)./lung_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_lung) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 299 299 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+tx = patch([376 xlims(2) xlims(2) 376], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+%irAE diagnosis
|
|
|
|
|
+plot([245 245], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([309 xlims(2) xlims(2) 309], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('pneumonitisG2 4982\_15');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\pneumonitis_4982_15_fixedtime.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+% pat 112_14
|
|
|
|
|
+i=1;
|
|
|
|
|
+n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-80, 1600];
|
|
|
|
|
+ylims = [-40, 220];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_lung_NC(ImaxAUC_lung), mu_lung_NC(ImaxAUC_lung)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days(i, 1:n_scans), 100.*(lung_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_lung)./lung_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_lung) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 201 201 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([232 232], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([201 xlims(2) xlims(2) 201], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('pneumonitisG4 112\_14');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\pneumonitis_112_14_fixedtime.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+% pat 2278_07
|
|
|
|
|
+i=5;
|
|
|
|
|
+n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-80, 1600];
|
|
|
|
|
+ylims = [-40, 220];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_lung_NC(ImaxAUC_lung), mu_lung_NC(ImaxAUC_lung)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days(i, 1:n_scans), 100.*(lung_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_lung)./lung_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_lung) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 218 218 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([191 191], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([225 830 830 225], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([560 590 590 560], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([590 590], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([1447 xlims(2) xlims(2) 1447], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('pneumonitisG2 2279\_07');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\pneumonitis_2278_07_fixedtime.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+% pat AE6
|
|
|
|
|
+i=36;
|
|
|
|
|
+n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-80, 1600];
|
|
|
|
|
+ylims = [-40, 220];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung) mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung)+sigma_lung_NC(ImaxAUC_lung), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_lung_NC(ImaxAUC_lung)-sigma_lung_NC(ImaxAUC_lung), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_lung_NC(ImaxAUC_lung), mu_lung_NC(ImaxAUC_lung)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days(i, 1:n_scans), 100.*(lung_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_lung)./lung_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_lung) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 14 14 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+tx = patch([98 140 140 98], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([273 273], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([14 80 80 14], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+tx = patch([154 xlims(2) xlims(2) 154], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('pneumonitis ae6');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\pneumonitis_ae6_fixedtime.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% BOWEL - USING MAX (N=64 NC vs N=6 AE)
|
|
|
|
|
+xlims = [-100, 1200]; %for SUV longitudinal plots - in days
|
|
|
|
|
+
|
|
|
|
|
+% Compute relative bowel change for all patients, all percentiles
|
|
|
|
|
+for i=1:58
|
|
|
|
|
+ n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+ d_bowel(i,1:n_scans,:) = 100.*(bowel_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], :)./bowel_SUVperc_COMBINED(i, flags(i,1), :) - 1);
|
|
|
|
|
+
|
|
|
|
|
+ % Take MAX over time points
|
|
|
|
|
+ d_bowel_MAX(i,:) = squeeze(max(d_bowel(i,2:n_scans,:),[],2));
|
|
|
|
|
+end
|
|
|
|
|
+
|
|
|
|
|
+% Compute ROC stats for every SUV percentile 1-100
|
|
|
|
|
+for i=1:100
|
|
|
|
|
+ [~,~,~,temp_AUC,~] = perfcurve(flags(:,2),d_bowel_MAX(:,i),1);
|
|
|
|
|
+ AUC_bowel(i) = temp_AUC;
|
|
|
|
|
+end
|
|
|
|
|
+
|
|
|
|
|
+% Determine optimal percentile SUVxx that maximizes AUC
|
|
|
|
|
+[maxAUC_bowel, ImaxAUC_bowel] = max(AUC_bowel);
|
|
|
|
|
+
|
|
|
|
|
+%redo AUC to get X, Y for optimal SUVxx
|
|
|
|
|
+[OPT_X_bowel,OPT_Y_bowel,OPT_T_bowel,OPT_AUC_bowel] = perfcurve(flags(:,2),d_bowel_MAX(:,ImaxAUC_bowel),1);
|
|
|
|
|
+
|
|
|
|
|
+%pick optimal operating pt by sum of sensitivity and specificity
|
|
|
|
|
+t = 1-OPT_X_bowel+OPT_Y_bowel;
|
|
|
|
|
+[~,ii] = max(t);
|
|
|
|
|
+
|
|
|
|
|
+OPT_OPT_T_bowel = OPT_T_bowel(ii);
|
|
|
|
|
+OPT_ROCPT_bowel = [1-OPT_X_bowel(ii), OPT_Y_bowel(ii)];
|
|
|
|
|
+
|
|
|
|
|
+% Compute mean and sd for NC patients for plotting normal range
|
|
|
|
|
+d_bowel_NC = d_bowel(flags(:,2)==0,:,:);
|
|
|
|
|
+
|
|
|
|
|
+mu_bowel_NC = squeeze(mean(d_bowel_NC(:,2,:), 1));
|
|
|
|
|
+sigma_bowel_NC = squeeze(std(d_bowel_NC(:,2,:), 1));
|
|
|
|
|
+
|
|
|
|
|
+% Plot: AUC vs SUV percentile
|
|
|
|
|
+figure('pos',[200, 800, 400, 400], 'Color','w');
|
|
|
|
|
+plot([1:100], AUC_bowel, 'LineWidth',2);
|
|
|
|
|
+hold on; grid on;
|
|
|
|
|
+plot([0,100], [0.5, 0.5],'k-');
|
|
|
|
|
+xlabel('SUV percentile','FontSize',14);
|
|
|
|
|
+ylabel('AUC','FontSize',14);
|
|
|
|
|
+ylim([0.4, 1]);
|
|
|
|
|
+text(10,0.9, ['Optimal %ile: ' num2str(ImaxAUC_bowel)], 'FontSize',12)
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\bowel_AUCvsSUVperc.png');
|
|
|
|
|
+
|
|
|
|
|
+% Plot: Paired boxplots for SUVxx that produce highest AUC
|
|
|
|
|
+figure('pos',[700, 800, 300, 400], 'Color','w');
|
|
|
|
|
+boxplot(d_bowel_MAX(:,ImaxAUC_bowel), flags(:,2), 'Labels',{'NC (n=64)','AE (n=6)'});
|
|
|
|
|
+ylabel('MAX(\Delta SUV_{OPT%})','FontSize',14);
|
|
|
|
|
+grid on;
|
|
|
|
|
+lines = findobj(gcf, 'type', 'line');
|
|
|
|
|
+set(lines,'LineWidth',1.5);
|
|
|
|
|
+hold on;
|
|
|
|
|
+plot([0,3], [OPT_OPT_T_bowel, OPT_OPT_T_bowel], 'k-');
|
|
|
|
|
+p_bowel = ranksum(d_bowel_MAX(find(~flags(:,2)), ImaxAUC_bowel) ,d_bowel_MAX(find(flags(:,2)), ImaxAUC_bowel));
|
|
|
|
|
+text(1.5, 180, ['p = 1e-3'],'HorizontalAlignment','center');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\bowel_boxplots.png');
|
|
|
|
|
+
|
|
|
|
|
+% Plot: ROC curve for SUVxx that produced highest AUC
|
|
|
|
|
+figure('pos',[1100, 800, 400, 400], 'Color','w');
|
|
|
|
|
+plot(1-OPT_X_bowel, OPT_Y_bowel,'LineWidth',2);
|
|
|
|
|
+hold on; grid on;
|
|
|
|
|
+scatter(OPT_ROCPT_bowel(1), OPT_ROCPT_bowel(2), 'ro');
|
|
|
|
|
+set(gca, 'XDir','reverse');
|
|
|
|
|
+xlabel('Specificity','FontSize',14);
|
|
|
|
|
+ylabel('Sensitivity','FontSize',14);
|
|
|
|
|
+text(0.05, 0.25, ['AUC = ' num2str(round(OPT_AUC_bowel,3))],'FontSize',12,'VerticalAlignment','bottom','HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.05, 0.2, ['Sens = ' num2str(round(OPT_ROCPT_bowel(2),2))],'FontSize',12,'VerticalAlignment','bottom','HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.05, 0.15, ['Spec = ' num2str(round(OPT_ROCPT_bowel(1),2))],'FontSize',12,'VerticalAlignment','bottom','HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.05, 0.08, ['T_{opt} = +' num2str(round(OPT_OPT_T_bowel,1)) '%'],'FontSize',12,'VerticalAlignment','bottom','HorizontalAlignment', 'right');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\bowel_ROC.png');
|
|
|
|
|
+
|
|
|
|
|
+% Plot: Longitudinal SUVxx with normal range
|
|
|
|
|
+figure('pos',[200, 200, 800, 400], 'Color','w');
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+hold on; grid on;
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_bowel_NC(ImaxAUC_bowel), mu_bowel_NC(ImaxAUC_bowel)], 'k-', 'LineWidth',2);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_bowel_NC(ImaxAUC_bowel) + 2.*sigma_bowel_NC(ImaxAUC_bowel), mu_bowel_NC(ImaxAUC_bowel)+ 2.*sigma_bowel_NC(ImaxAUC_bowel)], 'k-', 'LineWidth',0.5);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_bowel_NC(ImaxAUC_bowel) - 2.*sigma_bowel_NC(ImaxAUC_bowel), mu_bowel_NC(ImaxAUC_bowel)- 2.*sigma_bowel_NC(ImaxAUC_bowel)], 'k-', 'LineWidth',0.5);
|
|
|
|
|
+
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)+2.*sigma_bowel_NC(ImaxAUC_bowel), '+2\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)-2.*sigma_bowel_NC(ImaxAUC_bowel), '-2\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+for i=1:58
|
|
|
|
|
+ if flags(i,2) == 1;
|
|
|
|
|
+ n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+ if i<=30
|
|
|
|
|
+ plot(days(i, 1:n_scans), ...
|
|
|
|
|
+ 100.*(bowel_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_bowel)./bowel_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_bowel) - 1), ...
|
|
|
|
|
+ ':o',...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Color','k');
|
|
|
|
|
+ else
|
|
|
|
|
+ plot(days(i, 1:n_scans), ...
|
|
|
|
|
+ 100.*(bowel_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_bowel)./bowel_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_bowel) - 1), ...
|
|
|
|
|
+ '-.o',...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Color','r');
|
|
|
|
|
+ end
|
|
|
|
|
+ hold on; grid on;
|
|
|
|
|
+ end
|
|
|
|
|
+end
|
|
|
|
|
+xlim([xlims(1) xlims(2)]);
|
|
|
|
|
+ylim([-60, 140]);
|
|
|
|
|
+box on;
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\bowel_SUVLong_CI.png');
|
|
|
|
|
+
|
|
|
|
|
+% Plot: Longitudinal SUVxx with optimal threshold
|
|
|
|
|
+figure('pos',[1200, 200, 800, 400], 'Color','w');
|
|
|
|
|
+xlims = [-100, 1000];
|
|
|
|
|
+hold on; grid on;
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [OPT_OPT_T_bowel, OPT_OPT_T_bowel], '-','Color','k', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+for i=1:58
|
|
|
|
|
+ if flags(i,2) == 1;
|
|
|
|
|
+ n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+ if i<=30
|
|
|
|
|
+ plot(days(i, 1:n_scans), ...
|
|
|
|
|
+ 100.*(bowel_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_bowel)./bowel_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_bowel) - 1), ...
|
|
|
|
|
+ ':o',...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Color','k');
|
|
|
|
|
+ else
|
|
|
|
|
+ plot(days(i, 1:n_scans), ...
|
|
|
|
|
+ 100.*(bowel_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_bowel)./bowel_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_bowel) - 1), ...
|
|
|
|
|
+ '-.o',...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Color','r');
|
|
|
|
|
+ end
|
|
|
|
|
+ hold on; grid on;
|
|
|
|
|
+ end
|
|
|
|
|
+end
|
|
|
|
|
+xlim([xlims(1) xlims(2)]);
|
|
|
|
|
+ylim([-60, 140]);
|
|
|
|
|
+box on;
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\bowel_SUVLong_TOPT.png');
|
|
|
|
|
+
|
|
|
|
|
+% PLOT - logistic regression for % prob AE
|
|
|
|
|
+[log_reg_bowel, gof_bowel, output_bowel] = fit(d_bowel_MAX(:,ImaxAUC_bowel), flags(:,2),'1./(1+exp(-k.*(x-x0)))','start',[1 50]);
|
|
|
|
|
+log_reg_bowel
|
|
|
|
|
+figure('pos',[100,100, 500, 200], 'Color','w');
|
|
|
|
|
+scatter(d_bowel_MAX(:,ImaxAUC_bowel), flags(:,2));
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+plot(log_reg_bowel, d_bowel_MAX(:,ImaxAUC_bowel), flags(:,2));
|
|
|
|
|
+xticks([-50:50:400]);
|
|
|
|
|
+yticks([0:0.2:1]);
|
|
|
|
|
+xlabel('MAX (\Delta SUV_{OPT%}) [%]','FontSize',14);
|
|
|
|
|
+ylabel('AE (y/n)','FontSize',14);
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\bowel_Logreg.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+% PLOT - logistic regression for % prob AE
|
|
|
|
|
+ind = [1,3:10,12:58];
|
|
|
|
|
+[log_reg_bowel2, gof_bowel2, output_bowel2] = fit(d_bowel_MAX(ind,ImaxAUC_bowel), flags(ind,2),'1./(1+exp(-k.*(x-x0)))','start',[1 50]);
|
|
|
|
|
+
|
|
|
|
|
+figure('pos',[100,100, 500, 200], 'Color','w');
|
|
|
|
|
+scatter(d_bowel_MAX(ind,ImaxAUC_bowel), flags(ind,2));
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+plot(log_reg_bowel2, d_bowel_MAX(ind,ImaxAUC_bowel), flags(ind,2));
|
|
|
|
|
+xticks([-50:50:400]);
|
|
|
|
|
+yticks([0:0.2:1]);
|
|
|
|
|
+xlabel('MAX (\Delta SUV_{OPT%}) [%]','FontSize',14);
|
|
|
|
|
+ylabel('AE (y/n)','FontSize',14);
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\bowel_Logreg_no_outliers.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% Individual patients with colitis AE
|
|
|
|
|
+
|
|
|
|
|
+% pat 5490_15
|
|
|
|
|
+i=15;
|
|
|
|
|
+n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-80, 150];
|
|
|
|
|
+ylims = [-40, 220];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_bowel_NC(ImaxAUC_bowel), mu_bowel_NC(ImaxAUC_bowel)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days(i, 1:n_scans), 100.*(bowel_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_bowel)./bowel_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_bowel) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 65 65 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([120 120], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([65 110 100 65], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('colitisG2 5490\_15');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\colitis_5490_15.png');
|
|
|
|
|
+
|
|
|
|
|
+%% pat 5003_16
|
|
|
|
|
+i=12;
|
|
|
|
|
+n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-80, 320];
|
|
|
|
|
+ylims = [-40, 220];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_bowel_NC(ImaxAUC_bowel), mu_bowel_NC(ImaxAUC_bowel)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days(i, 1:n_scans), 100.*(bowel_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_bowel)./bowel_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_bowel) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 196 196 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([173 173], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([196 238 238 196], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([238 308 308 238], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('colitisG2 5003\_16');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\colitis_5003_16.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% pat ae6
|
|
|
|
|
+i=36;
|
|
|
|
|
+n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-80, 450];
|
|
|
|
|
+ylims = [-40, 220];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_bowel_NC(ImaxAUC_bowel), mu_bowel_NC(ImaxAUC_bowel)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days(i, 1:n_scans), 100.*(bowel_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_bowel)./bowel_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_bowel) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 14 14 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+tx = patch([98 140 140 98], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([195 195], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([14 80 80 14], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+tx = patch([154 xlims(2) xlims(2) 154], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('colitisG3 ae6');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\colitis_ae6.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% pat ae10
|
|
|
|
|
+i=39;
|
|
|
|
|
+n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-80, 1000];
|
|
|
|
|
+ylims = [-40, 220];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_bowel_NC(ImaxAUC_bowel), mu_bowel_NC(ImaxAUC_bowel)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days(i, 1:n_scans), 100.*(bowel_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_bowel)./bowel_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_bowel) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 760 760 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([32 32], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+plot([774 774], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('colitisG2 ae10');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\colitis_ae10.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% AE 11
|
|
|
|
|
+i=40;
|
|
|
|
|
+n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-80, 350];
|
|
|
|
|
+ylims = [-40, 220];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_bowel_NC(ImaxAUC_bowel), mu_bowel_NC(ImaxAUC_bowel)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days(i, 1:n_scans), 100.*(bowel_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_bowel)./bowel_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_bowel) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 296 296 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([302 302], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('colitisG3 ae11');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\colitis_ae11.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% AE 17
|
|
|
|
|
+i=46;
|
|
|
|
|
+n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-100, 550];
|
|
|
|
|
+ylims = [-40, 220];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_bowel_NC(ImaxAUC_bowel), mu_bowel_NC(ImaxAUC_bowel)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days(i, 1:n_scans), 100.*(bowel_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_bowel)./bowel_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_bowel) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 155 155 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([231 231], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('colitisG2 ae17');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\colitis_ae17.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% Individual patients, same xlims
|
|
|
|
|
+% pat 5490_15
|
|
|
|
|
+i=15;
|
|
|
|
|
+n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-100, 1000];
|
|
|
|
|
+ylims = [-40, 220];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_bowel_NC(ImaxAUC_bowel), mu_bowel_NC(ImaxAUC_bowel)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days(i, 1:n_scans), 100.*(bowel_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_bowel)./bowel_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_bowel) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 65 65 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([120 120], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([65 110 100 65], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('colitisG2 5490\_15');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\colitis_5490_15_fixedtime.png');
|
|
|
|
|
+
|
|
|
|
|
+% pat 5003_16
|
|
|
|
|
+i=12;
|
|
|
|
|
+n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-100, 1000];
|
|
|
|
|
+ylims = [-40, 220];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_bowel_NC(ImaxAUC_bowel), mu_bowel_NC(ImaxAUC_bowel)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days(i, 1:n_scans), 100.*(bowel_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_bowel)./bowel_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_bowel) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 196 196 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([173 173], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([196 238 238 196], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([238 308 308 238], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('colitisG2 5003\_16');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\colitis_5003_16_fixedtime.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+% pat ae6
|
|
|
|
|
+i=36;
|
|
|
|
|
+n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-100, 1000];
|
|
|
|
|
+ylims = [-40, 220];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_bowel_NC(ImaxAUC_bowel), mu_bowel_NC(ImaxAUC_bowel)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days(i, 1:n_scans), 100.*(bowel_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_bowel)./bowel_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_bowel) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 14 14 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+tx = patch([98 140 140 98], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([195 195], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([14 80 80 14], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+tx = patch([154 xlims(2) xlims(2) 154], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('colitisG3 ae6');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\colitis_ae6_fixedtime.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+% pat ae10
|
|
|
|
|
+i=39;
|
|
|
|
|
+n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-100, 1000];
|
|
|
|
|
+ylims = [-40, 220];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_bowel_NC(ImaxAUC_bowel), mu_bowel_NC(ImaxAUC_bowel)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days(i, 1:n_scans), 100.*(bowel_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_bowel)./bowel_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_bowel) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 760 760 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([32 32], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+plot([774 774], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('colitisG2 ae10');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\colitis_ae10_fixedtime.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+% AE 11
|
|
|
|
|
+i=40;
|
|
|
|
|
+n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-100, 1000];
|
|
|
|
|
+ylims = [-40, 220];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_bowel_NC(ImaxAUC_bowel), mu_bowel_NC(ImaxAUC_bowel)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days(i, 1:n_scans), 100.*(bowel_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_bowel)./bowel_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_bowel) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 296 296 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([302 302], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('colitisG3 ae11');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\colitis_ae11_fixedtime.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+% AE 17
|
|
|
|
|
+i=46;
|
|
|
|
|
+n_scans = sum(days(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-100, 1000];
|
|
|
|
|
+ylims = [-40, 220];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel) mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)+sigma_bowel_NC(ImaxAUC_bowel), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_bowel_NC(ImaxAUC_bowel)-sigma_bowel_NC(ImaxAUC_bowel), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_bowel_NC(ImaxAUC_bowel), mu_bowel_NC(ImaxAUC_bowel)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days(i, 1:n_scans), 100.*(bowel_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_bowel)./bowel_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_bowel) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 155 155 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([231 231], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('colitisG2 ae17');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\colitis_ae17_fixedtime.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% thyroid - USING MAX (N=59 NC vs N=11 AE)
|
|
|
|
|
+xlims = [-350, 1200]; %for SUV longitudinal plots - in days
|
|
|
|
|
+
|
|
|
|
|
+thyroid_ind = [1:16,18:22, 24:31, 33:37, 39:49, 52:63, 65:70];
|
|
|
|
|
+thyroid_ind = [1:58];
|
|
|
|
|
+thyroid_SUVperc_COMBINED = thyroid_SUVperc_COMBINED(thyroid_ind, :, :);
|
|
|
|
|
+flags_thyroid = flags(thyroid_ind,:);
|
|
|
|
|
+patients_thyroid = patients(thyroid_ind);
|
|
|
|
|
+days_thyroid = days(thyroid_ind,:);
|
|
|
|
|
+% Compute relative thyroid change for all patients, all percentiles
|
|
|
|
|
+for i=1:numel(thyroid_ind)
|
|
|
|
|
+ n_scans = sum(days_thyroid(i,:)~=0);
|
|
|
|
|
+ d_thyroid(i,1:n_scans,:) = 100.*(thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1)+[0:n_scans-1], :)./thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1), :) - 1);
|
|
|
|
|
+
|
|
|
|
|
+ % Take MAX over time points
|
|
|
|
|
+ d_thyroid_MAX(i,:) = squeeze(max(d_thyroid(i,2:n_scans,:),[],2));
|
|
|
|
|
+end
|
|
|
|
|
+
|
|
|
|
|
+% Compute ROC stats for every SUV percentile 1-100
|
|
|
|
|
+for i=1:100
|
|
|
|
|
+ [~,~,~,temp_AUC,~] = perfcurve(flags_thyroid(:,6),d_thyroid_MAX(:,i),1);
|
|
|
|
|
+ AUC_thyroid(i) = temp_AUC;
|
|
|
|
|
+end
|
|
|
|
|
+
|
|
|
|
|
+% Determine optimal percentile SUVxx that maximizes AUC
|
|
|
|
|
+[maxAUC_thyroid, ImaxAUC_thyroid] = max(AUC_thyroid);
|
|
|
|
|
+
|
|
|
|
|
+%redo AUC to get X, Y for optimal SUVxx
|
|
|
|
|
+[OPT_X_thyroid,OPT_Y_thyroid,OPT_T_thyroid,OPT_AUC_thyroid] = perfcurve(flags_thyroid(:,6),d_thyroid_MAX(:,ImaxAUC_thyroid),1);
|
|
|
|
|
+
|
|
|
|
|
+t = 1-OPT_X_thyroid+OPT_Y_thyroid;
|
|
|
|
|
+[~,ii] = max(t);
|
|
|
|
|
+
|
|
|
|
|
+OPT_OPT_T_thyroid = OPT_T_thyroid(ii);
|
|
|
|
|
+OPT_ROCPT_thyroid = [1-OPT_X_thyroid(ii), OPT_Y_thyroid(ii)];
|
|
|
|
|
+
|
|
|
|
|
+% Compute mean and sd for NC patients for plotting normal range
|
|
|
|
|
+d_thyroid_NC = d_thyroid(flags_thyroid(:,6)==0,:,:);
|
|
|
|
|
+
|
|
|
|
|
+mu_thyroid_NC = squeeze(mean(d_thyroid_NC(:,2,:), 1));
|
|
|
|
|
+sigma_thyroid_NC = squeeze(std(d_thyroid_NC(:,2,:), 1));
|
|
|
|
|
+
|
|
|
|
|
+% Plot: AUC vs SUV percentile
|
|
|
|
|
+figure('pos',[200, 800, 400, 400], 'Color','w');
|
|
|
|
|
+plot([1:100], AUC_thyroid, 'LineWidth',2);
|
|
|
|
|
+hold on; grid on;
|
|
|
|
|
+plot([0,100], [0.5, 0.5],'k-');
|
|
|
|
|
+xlabel('SUV percentile','FontSize',14);
|
|
|
|
|
+ylabel('AUC','FontSize',14);
|
|
|
|
|
+ylim([0.4, 1]);
|
|
|
|
|
+text(10,0.9, ['Optimal %ile: ' num2str(ImaxAUC_thyroid)], 'FontSize',12)
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroid_AUCvsSUVperc.png');
|
|
|
|
|
+
|
|
|
|
|
+% Plot: Paired boxplots for SUVxx that produce highest AUC
|
|
|
|
|
+figure('pos',[700, 800, 300, 400], 'Color','w');
|
|
|
|
|
+boxplot(d_thyroid_MAX(:,ImaxAUC_thyroid), flags_thyroid(:,6), 'Labels',{['NC (n=' num2str(sum(flags_thyroid(:,6)==0)) ')'],['AE (n=' num2str(sum(flags_thyroid(:,6)==1)) ')']});
|
|
|
|
|
+ylabel('MAX(\Delta SUV_{OPT%})','FontSize',14);
|
|
|
|
|
+grid on;
|
|
|
|
|
+lines = findobj(gcf, 'type', 'line');
|
|
|
|
|
+set(lines,'LineWidth',1.5);
|
|
|
|
|
+hold on;
|
|
|
|
|
+plot([0,3], [OPT_OPT_T_thyroid, OPT_OPT_T_thyroid], 'k-');
|
|
|
|
|
+ylim([-60, 250]);
|
|
|
|
|
+p_thyroid = ranksum(d_thyroid_MAX(find(~flags_thyroid(:,6)), ImaxAUC_thyroid) ,d_thyroid_MAX(find(flags_thyroid(:,6)), ImaxAUC_thyroid));
|
|
|
|
|
+text(1.5, 180, ['p = 6e-6'],'HorizontalAlignment','center');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroid_boxplots.png');
|
|
|
|
|
+
|
|
|
|
|
+% Plot: ROC curve for SUVxx that produced highest AUC
|
|
|
|
|
+figure('pos',[1100, 800, 400, 400], 'Color','w');
|
|
|
|
|
+plot(1-OPT_X_thyroid, OPT_Y_thyroid,'LineWidth',2);
|
|
|
|
|
+hold on; grid on;
|
|
|
|
|
+scatter(OPT_ROCPT_thyroid(1), OPT_ROCPT_thyroid(2), 'ro');
|
|
|
|
|
+set(gca, 'XDir','reverse');
|
|
|
|
|
+xlabel('Specificity','FontSize',14);
|
|
|
|
|
+ylabel('Sensitivity','FontSize',14);
|
|
|
|
|
+text(0.05, 0.25, ['AUC = ' num2str(round(OPT_AUC_thyroid,3))],'FontSize',12,'VerticalAlignment','bottom','HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.05, 0.2, ['Sens = ' num2str(round(OPT_ROCPT_thyroid(2),2))],'FontSize',12,'VerticalAlignment','bottom','HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.05, 0.15, ['Spec = ' num2str(round(OPT_ROCPT_thyroid(1),2))],'FontSize',12,'VerticalAlignment','bottom','HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.05, 0.08, ['T_{opt} = +' num2str(round(OPT_OPT_T_thyroid,1)) '%'],'FontSize',12,'VerticalAlignment','bottom','HorizontalAlignment', 'right');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroid_ROC.png');
|
|
|
|
|
+
|
|
|
|
|
+% Plot: Longitudinal SUVxx with normal range
|
|
|
|
|
+figure('pos',[200, 200, 800, 400], 'Color','w');
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+hold on; grid on;
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_thyroid_NC(ImaxAUC_thyroid), mu_thyroid_NC(ImaxAUC_thyroid)], 'k-', 'LineWidth',2);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_thyroid_NC(ImaxAUC_thyroid) + 2.*sigma_thyroid_NC(ImaxAUC_thyroid), mu_thyroid_NC(ImaxAUC_thyroid)+ 2.*sigma_thyroid_NC(ImaxAUC_thyroid)], 'k-', 'LineWidth',0.5);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_thyroid_NC(ImaxAUC_thyroid) - 2.*sigma_thyroid_NC(ImaxAUC_thyroid), mu_thyroid_NC(ImaxAUC_thyroid)- 2.*sigma_thyroid_NC(ImaxAUC_thyroid)], 'k-', 'LineWidth',0.5);
|
|
|
|
|
+
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)+2.*sigma_thyroid_NC(ImaxAUC_thyroid), '+2\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)-2.*sigma_thyroid_NC(ImaxAUC_thyroid), '-2\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+for i=1:numel(thyroid_ind)
|
|
|
|
|
+ if flags_thyroid(i,6) == 1;
|
|
|
|
|
+ n_scans = sum(days_thyroid(i,:)~=0);
|
|
|
|
|
+ if i<=28
|
|
|
|
|
+ plot(days_thyroid(i, 1:n_scans), ...
|
|
|
|
|
+ 100.*(thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1)+[0:n_scans-1], ImaxAUC_thyroid)./thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1), ImaxAUC_thyroid) - 1), ...
|
|
|
|
|
+ ':o',...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Color','k');
|
|
|
|
|
+ else
|
|
|
|
|
+ plot(days_thyroid(i, 1:n_scans), ...
|
|
|
|
|
+ 100.*(thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1)+[0:n_scans-1], ImaxAUC_thyroid)./thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1), ImaxAUC_thyroid) - 1), ...
|
|
|
|
|
+ '-.o',...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Color','r');
|
|
|
|
|
+ end
|
|
|
|
|
+ hold on; grid on;
|
|
|
|
|
+ end
|
|
|
|
|
+end
|
|
|
|
|
+xlim([xlims(1) xlims(2)]);
|
|
|
|
|
+ylim([-60, 250]);
|
|
|
|
|
+box on;
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroid_SUVLong_CI.png');
|
|
|
|
|
+
|
|
|
|
|
+% Plot: Longitudinal SUVxx with optimal threshold
|
|
|
|
|
+figure('pos',[1200, 200, 800, 400], 'Color','w');
|
|
|
|
|
+hold on; grid on;
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [OPT_OPT_T_thyroid, OPT_OPT_T_thyroid], '-','Color','k', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+for i=1:numel(thyroid_ind)
|
|
|
|
|
+ if flags_thyroid(i,6) == 1;
|
|
|
|
|
+ n_scans = sum(days_thyroid(i,:)~=0);
|
|
|
|
|
+ if i<=28
|
|
|
|
|
+ plot(days_thyroid(i, 1:n_scans), ...
|
|
|
|
|
+ 100.*(thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1)+[0:n_scans-1], ImaxAUC_thyroid)./thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1), ImaxAUC_thyroid) - 1), ...
|
|
|
|
|
+ ':o',...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Color','k');
|
|
|
|
|
+ else
|
|
|
|
|
+ plot(days_thyroid(i, 1:n_scans), ...
|
|
|
|
|
+ 100.*(thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1)+[0:n_scans-1], ImaxAUC_thyroid)./thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1), ImaxAUC_thyroid) - 1), ...
|
|
|
|
|
+ '-.o',...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Color','r');
|
|
|
|
|
+ end
|
|
|
|
|
+ %scatter(flags_thyroid(i,7), d_thyroid_MAX(i, ImaxAUC_thyroid), 'bo','filled');
|
|
|
|
|
+ hold on; grid on;
|
|
|
|
|
+ end
|
|
|
|
|
+end
|
|
|
|
|
+xlim([xlims(1) xlims(2)]);
|
|
|
|
|
+ylim([-60, 250]);
|
|
|
|
|
+box on;
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroid_SUVLong_TOPT.png');
|
|
|
|
|
+
|
|
|
|
|
+% PLOT - logistic regression for % prob AE
|
|
|
|
|
+[log_reg_thyroid, gof_thyroid, output_thyroid] = fit(d_thyroid_MAX(:,ImaxAUC_thyroid), flags_thyroid(:,6),'1./(1+exp(-k.*(x-x0)))','start',[1 50]);
|
|
|
|
|
+log_reg_thyroid
|
|
|
|
|
+figure('pos',[100,100, 500, 200],'Color','w');
|
|
|
|
|
+scatter(d_thyroid_MAX(:,ImaxAUC_thyroid), flags_thyroid(:,6));
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+plot(log_reg_thyroid, d_thyroid_MAX(:,ImaxAUC_thyroid), flags_thyroid(:,6));
|
|
|
|
|
+xticks([-50:25:225]);
|
|
|
|
|
+yticks([0:0.2:1]);
|
|
|
|
|
+xlabel('MAX (\Delta SUV_{OPT%}) [%]','FontSize',14);
|
|
|
|
|
+ylabel('AE (y/n)','FontSize',14);
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroid_Logreg.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% Individual patients with thyroid AE
|
|
|
|
|
+% use days_thyroid, patients_thyroid
|
|
|
|
|
+%% pat 5345_11
|
|
|
|
|
+i=13;
|
|
|
|
|
+n_scans = sum(days_thyroid(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-320, 1200];
|
|
|
|
|
+ylims = [-50, 250];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_thyroid_NC(ImaxAUC_thyroid), mu_thyroid_NC(ImaxAUC_thyroid)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days(i, 1:n_scans), 100.*(thyroid_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_thyroid)./thyroid_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_thyroid) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 xlims(2) xlims(2) 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([225 225], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([108 xlims(2) xlims(2) 108], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('thyroidG2 5345\_11');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroiditis_5345_11.png');
|
|
|
|
|
+
|
|
|
|
|
+%% pat 7339_11
|
|
|
|
|
+i=22;
|
|
|
|
|
+n_scans = sum(days_thyroid(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-60, 300];
|
|
|
|
|
+ylims = [-50, 250];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_thyroid_NC(ImaxAUC_thyroid), mu_thyroid_NC(ImaxAUC_thyroid)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days_thyroid(i, 1:n_scans), 100.*(thyroid_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_thyroid)./thyroid_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_thyroid) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 xlims(2) xlims(2) 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([120 120], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([154 xlims(2) xlims(2) 154], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('thyroidG2 7339\_11');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroiditis_7339_11.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% pat 6756_12
|
|
|
|
|
+i=19;
|
|
|
|
|
+n_scans = sum(days_thyroid(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-60, 1500];
|
|
|
|
|
+ylims = [-50, 250];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_thyroid_NC(ImaxAUC_thyroid), mu_thyroid_NC(ImaxAUC_thyroid)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days_thyroid(i, 1:n_scans), 100.*(thyroid_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_thyroid)./thyroid_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_thyroid) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 xlims(2) xlims(2) 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([630 630], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([675 xlims(2) xlims(2) 675], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('thyroidG2 6756\_12');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroiditis_6756_12.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% pat 608_13
|
|
|
|
|
+i=17;
|
|
|
|
|
+n_scans = sum(days_thyroid(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-60, 240];
|
|
|
|
|
+ylims = [-50, 250];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_thyroid_NC(ImaxAUC_thyroid), mu_thyroid_NC(ImaxAUC_thyroid)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days_thyroid(i, 1:n_scans), 100.*(thyroid_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_thyroid)./thyroid_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_thyroid) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 122 122 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([115 115], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+% Death
|
|
|
|
|
+plot([198 198], [ylims(1), ylims(2)], 'r-','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([140 198 198 140], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('thyroidG2 608\_13');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroiditis_608_13.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% pat 7359_09
|
|
|
|
|
+i=23;
|
|
|
|
|
+n_scans = sum(days_thyroid(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-80, 1050];
|
|
|
|
|
+ylims = [-50, 250];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_thyroid_NC(ImaxAUC_thyroid), mu_thyroid_NC(ImaxAUC_thyroid)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days_thyroid(i, 1:n_scans), 100.*(thyroid_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_thyroid)./thyroid_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_thyroid) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 xlims(2) xlims(2) 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([108 108], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([15 xlims(2) xlims(2) 15], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('thyroidG2 7359\_09');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroiditis_7359_09.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% pat 1127_06
|
|
|
|
|
+i=2;
|
|
|
|
|
+n_scans = sum(days_thyroid(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-140, 720];
|
|
|
|
|
+ylims = [-50, 250];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_thyroid_NC(ImaxAUC_thyroid), mu_thyroid_NC(ImaxAUC_thyroid)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days_thyroid(i, 1:n_scans), 100.*(thyroid_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_thyroid)./thyroid_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_thyroid) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 xlims(2) xlims(2) 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([83 83], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([17 xlims(2) xlims(2) 17], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('thyroidG2 1127\_06');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroiditis_1127_06.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% pat ae6
|
|
|
|
|
+i=33;
|
|
|
|
|
+n_scans = sum(days_thyroid(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-50, 550];
|
|
|
|
|
+ylims = [-50, 250];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_thyroid_NC(ImaxAUC_thyroid), mu_thyroid_NC(ImaxAUC_thyroid)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days_thyroid(i, 1:n_scans), 100.*(thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1)+[0:n_scans-1], ImaxAUC_thyroid)./thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1), ImaxAUC_thyroid) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 14 14 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+tx = patch([98 140 140 98], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([76 76], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([14 80 80 14], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+tx = patch([154 xlims(2) xlims(2) 154], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('thyroidG2 ae6');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroiditis_ae6.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% pat ae15
|
|
|
|
|
+i=40;
|
|
|
|
|
+n_scans = sum(days_thyroid(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-30, 400];
|
|
|
|
|
+ylims = [-50, 250];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_thyroid_NC(ImaxAUC_thyroid), mu_thyroid_NC(ImaxAUC_thyroid)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days_thyroid(i, 1:n_scans), 100.*(thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1)+[0:n_scans-1], ImaxAUC_thyroid)./thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1), ImaxAUC_thyroid) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 xlims(2) xlims(2) 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([27 27], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('thyroidG2 ae15');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroiditis_ae15.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% pat ae20
|
|
|
|
|
+i=45;
|
|
|
|
|
+n_scans = sum(days_thyroid(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-100, 700];
|
|
|
|
|
+ylims = [-50, 250];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_thyroid_NC(ImaxAUC_thyroid), mu_thyroid_NC(ImaxAUC_thyroid)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days_thyroid(i, 1:n_scans), 100.*(thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1)+[0:n_scans-1], ImaxAUC_thyroid)./thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1), ImaxAUC_thyroid) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 357 357 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([28 28], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('thyroidG2 ae20');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroiditis_ae20.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% pat ae40
|
|
|
|
|
+i=58;
|
|
|
|
|
+n_scans = sum(days_thyroid(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-50, 300];
|
|
|
|
|
+ylims = [-50, 250];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_thyroid_NC(ImaxAUC_thyroid), mu_thyroid_NC(ImaxAUC_thyroid)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days_thyroid(i, 1:n_scans), 100.*(thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1)+[0:n_scans-1], ImaxAUC_thyroid)./thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1), ImaxAUC_thyroid) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 111 111 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+%plot([28 28], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('thyroidG2 ae40');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroiditis_ae40.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% pat ae41
|
|
|
|
|
+i=58;
|
|
|
|
|
+n_scans = sum(days_thyroid(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-50, 550];
|
|
|
|
|
+ylims = [-50, 250];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_thyroid_NC(ImaxAUC_thyroid), mu_thyroid_NC(ImaxAUC_thyroid)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days_thyroid(i, 1:n_scans), 100.*(thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1)+[0:n_scans-1], ImaxAUC_thyroid)./thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1), ImaxAUC_thyroid) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 217 217 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+%plot([28 28], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('thyroidG2 ae41');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroiditis_ae41.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% Individual patients with thyroid AE - _fixedtime
|
|
|
|
|
+% use days_thyroid, patients_thyroid
|
|
|
|
|
+%% pat 5345_11
|
|
|
|
|
+i=13;
|
|
|
|
|
+n_scans = sum(days_thyroid(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-300, 1500];
|
|
|
|
|
+ylims = [-50, 250];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_thyroid_NC(ImaxAUC_thyroid), mu_thyroid_NC(ImaxAUC_thyroid)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days(i, 1:n_scans), 100.*(thyroid_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_thyroid)./thyroid_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_thyroid) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 xlims(2) xlims(2) 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([225 225], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([108 xlims(2) xlims(2) 108], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('thyroidG2 5345\_11');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroiditis_5345_11_fixedtime.png');
|
|
|
|
|
+
|
|
|
|
|
+%% pat 7339_11
|
|
|
|
|
+i=22;
|
|
|
|
|
+n_scans = sum(days_thyroid(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-300, 1500];
|
|
|
|
|
+ylims = [-50, 250];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_thyroid_NC(ImaxAUC_thyroid), mu_thyroid_NC(ImaxAUC_thyroid)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days_thyroid(i, 1:n_scans), 100.*(thyroid_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_thyroid)./thyroid_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_thyroid) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 xlims(2) xlims(2) 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([120 120], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([154 xlims(2) xlims(2) 154], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('thyroidG2 7339\_11');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroiditis_7339_11_fixedtime.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% pat 6756_12
|
|
|
|
|
+i=19;
|
|
|
|
|
+n_scans = sum(days_thyroid(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-300, 1500];
|
|
|
|
|
+ylims = [-50, 250];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_thyroid_NC(ImaxAUC_thyroid), mu_thyroid_NC(ImaxAUC_thyroid)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days_thyroid(i, 1:n_scans), 100.*(thyroid_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_thyroid)./thyroid_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_thyroid) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 xlims(2) xlims(2) 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([630 630], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([675 xlims(2) xlims(2) 675], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('thyroidG2 6756\_12');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroiditis_6756_12_fixedtime.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% pat 608_13
|
|
|
|
|
+i=17;
|
|
|
|
|
+n_scans = sum(days_thyroid(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-300, 1500];
|
|
|
|
|
+ylims = [-50, 250];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_thyroid_NC(ImaxAUC_thyroid), mu_thyroid_NC(ImaxAUC_thyroid)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days_thyroid(i, 1:n_scans), 100.*(thyroid_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_thyroid)./thyroid_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_thyroid) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 122 122 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([115 115], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+% Death
|
|
|
|
|
+plot([198 198], [ylims(1), ylims(2)], 'r-','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([140 198 198 140], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('thyroidG2 608\_13');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroiditis_608_13_fixedtime.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% pat 7359_09
|
|
|
|
|
+i=23;
|
|
|
|
|
+n_scans = sum(days_thyroid(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-300, 1500];
|
|
|
|
|
+ylims = [-50, 250];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_thyroid_NC(ImaxAUC_thyroid), mu_thyroid_NC(ImaxAUC_thyroid)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days_thyroid(i, 1:n_scans), 100.*(thyroid_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_thyroid)./thyroid_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_thyroid) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 xlims(2) xlims(2) 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([108 108], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([15 xlims(2) xlims(2) 15], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('thyroidG2 7359\_09');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroiditis_7359_09_fixedtime.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% pat 1127_06
|
|
|
|
|
+i=2;
|
|
|
|
|
+n_scans = sum(days_thyroid(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-300, 1500];
|
|
|
|
|
+ylims = [-50, 250];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_thyroid_NC(ImaxAUC_thyroid), mu_thyroid_NC(ImaxAUC_thyroid)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days_thyroid(i, 1:n_scans), 100.*(thyroid_SUVperc_COMBINED(i, flags(i,1)+[0:n_scans-1], ImaxAUC_thyroid)./thyroid_SUVperc_COMBINED(i, flags(i,1), ImaxAUC_thyroid) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 xlims(2) xlims(2) 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([83 83], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([17 xlims(2) xlims(2) 17], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('thyroidG2 1127\_06');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroiditis_1127_06_fixedtime.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% pat ae6
|
|
|
|
|
+i=33;
|
|
|
|
|
+n_scans = sum(days_thyroid(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-300, 1500];
|
|
|
|
|
+ylims = [-50, 250];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_thyroid_NC(ImaxAUC_thyroid), mu_thyroid_NC(ImaxAUC_thyroid)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days_thyroid(i, 1:n_scans), 100.*(thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1)+[0:n_scans-1], ImaxAUC_thyroid)./thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1), ImaxAUC_thyroid) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 14 14 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+tx = patch([98 140 140 98], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([76 76], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% Imm Supp tx patch GREEN
|
|
|
|
|
+tx = patch([14 80 80 14], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+tx = patch([154 xlims(2) xlims(2) 154], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0.9, 0]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('thyroidG2 ae6');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroiditis_ae6_fixedtime.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% pat ae15
|
|
|
|
|
+i=40;
|
|
|
|
|
+n_scans = sum(days_thyroid(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-300, 1500];
|
|
|
|
|
+ylims = [-50, 250];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_thyroid_NC(ImaxAUC_thyroid), mu_thyroid_NC(ImaxAUC_thyroid)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days_thyroid(i, 1:n_scans), 100.*(thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1)+[0:n_scans-1], ImaxAUC_thyroid)./thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1), ImaxAUC_thyroid) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 xlims(2) xlims(2) 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([27 27], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('thyroidG2 ae15');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroiditis_ae15_fixedtime.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% pat ae20
|
|
|
|
|
+i=45;
|
|
|
|
|
+n_scans = sum(days_thyroid(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-300, 1500];
|
|
|
|
|
+ylims = [-50, 250];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_thyroid_NC(ImaxAUC_thyroid), mu_thyroid_NC(ImaxAUC_thyroid)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days_thyroid(i, 1:n_scans), 100.*(thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1)+[0:n_scans-1], ImaxAUC_thyroid)./thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1), ImaxAUC_thyroid) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 357 357 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+plot([28 28], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('thyroidG2 ae20');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroiditis_ae20_fixedtime.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% pat ae40
|
|
|
|
|
+i=58;
|
|
|
|
|
+n_scans = sum(days_thyroid(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-300, 1500];
|
|
|
|
|
+ylims = [-50, 250];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_thyroid_NC(ImaxAUC_thyroid), mu_thyroid_NC(ImaxAUC_thyroid)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days_thyroid(i, 1:n_scans), 100.*(thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1)+[0:n_scans-1], ImaxAUC_thyroid)./thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1), ImaxAUC_thyroid) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 111 111 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+%plot([28 28], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('thyroidG2 ae40');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroiditis_ae40_fixedtime.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% pat ae41
|
|
|
|
|
+i=58;
|
|
|
|
|
+n_scans = sum(days_thyroid(i,:)~=0);
|
|
|
|
|
+figure('pos',[100,100, 500, 400],'Color','w');
|
|
|
|
|
+xlims = [-300, 1500];
|
|
|
|
|
+ylims = [-50, 250];
|
|
|
|
|
+xlim(xlims);
|
|
|
|
|
+ylim(ylims);
|
|
|
|
|
+% patch for NC +-sigma
|
|
|
|
|
+patch([xlims(1) xlims(2) xlims(2) xlims(1)], ...
|
|
|
|
|
+ [mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid) mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid)],...
|
|
|
|
|
+ [0.95 0.95 0.95]);
|
|
|
|
|
+% text for mu, sigma
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid), '\mu','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)+sigma_thyroid_NC(ImaxAUC_thyroid), '+1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+text(0.98.*xlims(2), mu_thyroid_NC(ImaxAUC_thyroid)-sigma_thyroid_NC(ImaxAUC_thyroid), '-1\sigma','FontSize',12, 'VerticalAlignment','bottom', 'HorizontalAlignment', 'right');
|
|
|
|
|
+
|
|
|
|
|
+hold on; box on; grid on;
|
|
|
|
|
+% y axis and mu
|
|
|
|
|
+plot([xlims(1), xlims(2)], [0, 0], 'k--', 'LineWidth',1);
|
|
|
|
|
+plot([xlims(1), xlims(2)], [mu_thyroid_NC(ImaxAUC_thyroid), mu_thyroid_NC(ImaxAUC_thyroid)], 'k-', 'LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+% SUVopt
|
|
|
|
|
+plot(days_thyroid(i, 1:n_scans), 100.*(thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1)+[0:n_scans-1], ImaxAUC_thyroid)./thyroid_SUVperc_COMBINED(i, flags_thyroid(i,1), ImaxAUC_thyroid) - 1),...
|
|
|
|
|
+ 'LineWidth',2,...
|
|
|
|
|
+ 'Marker','o');
|
|
|
|
|
+
|
|
|
|
|
+% ICI tx patch BLUE
|
|
|
|
|
+tx = patch([0 217 217 0], [ylims(1) ylims(1) ylims(2) ylims(2)], [0, 0, 0.9]);
|
|
|
|
|
+tx.FaceAlpha = 0.1;
|
|
|
|
|
+tx.EdgeAlpha = 0;
|
|
|
|
|
+
|
|
|
|
|
+% irAE diagnosis
|
|
|
|
|
+%plot([28 28], [ylims(1), ylims(2)], 'r:','LineWidth',2);
|
|
|
|
|
+
|
|
|
|
|
+ylabel('change SUV_{OPT%} [%]','FontSize',14);
|
|
|
|
|
+xlabel('Time [days]','FontSize',14);
|
|
|
|
|
+title('thyroidG2 ae41');
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroiditis_ae41_fixedtime.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%% Normal N=15 subcohort
|
|
|
|
|
+patient_ids_norm = {'376_17', '1414_15', '1705_16', '4082_15', '4091_14', '4620_17', '5546_16','5706_16', '6368_17', '6799_98', '7037_17', '7093_08', '7481_15', '8022_16', '8285_09'};
|
|
|
|
|
+
|
|
|
|
|
+% PATIENT 5706_16 has to be excluded from normals for Lung and Thyroid
|
|
|
|
|
+% PATIENT 7093_08 has to be excluded from normals for Thyroid
|
|
|
|
|
+nc0_ind_thyroid = [];
|
|
|
|
|
+
|
|
|
|
|
+for i=1:numel(patient_ids_norm);
|
|
|
|
|
+ for j=1:numel(patients_thyroid);
|
|
|
|
|
+ if strcmp(patient_ids_norm{i}, patients_thyroid{j});
|
|
|
|
|
+ nc0_ind_thyroid(i) = j;
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+end
|
|
|
|
|
+nc0_ind_thyroid = nc0_ind_thyroid(nc0_ind_thyroid>0);
|
|
|
|
|
+% Compute mean and sd for NC patients for plotting normal range
|
|
|
|
|
+d_thyroid_NC0 = d_thyroid(nc0_ind_thyroid,:,:);
|
|
|
|
|
+
|
|
|
|
|
+mu_thyroid_NC0 = squeeze(mean(d_thyroid_NC0(:,2,:), 1));
|
|
|
|
|
+sigma_thyroid_NC0 = squeeze(std(d_thyroid_NC0(:,2,:), 1));
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+figure('pos',[700, 800, 300, 400], 'Color','w');
|
|
|
|
|
+boxplot([d_thyroid_MAX(nc0_ind_thyroid,ImaxAUC_thyroid); ...
|
|
|
|
|
+ d_thyroid_MAX(flags_thyroid(:,6)==0,ImaxAUC_thyroid); ...
|
|
|
|
|
+ d_thyroid_MAX(flags_thyroid(:,6)==1,ImaxAUC_thyroid)], ...
|
|
|
|
|
+ [1.*ones(1, numel(d_thyroid_MAX(nc0_ind_thyroid,ImaxAUC_thyroid))), ...
|
|
|
|
|
+ 2.*ones(1, numel(d_thyroid_MAX(flags_thyroid(:,6)==0,ImaxAUC_thyroid))), ...
|
|
|
|
|
+ 3.*ones(1, numel(d_thyroid_MAX(flags_thyroid(:,6)==1,ImaxAUC_thyroid)))], ...
|
|
|
|
|
+ 'Labels',{['NC0 (n=' num2str(numel(nc0_ind_thyroid)) ')'],...
|
|
|
|
|
+ ['NC (n=' num2str(sum(flags_thyroid(:,6)==0)) ')'],...
|
|
|
|
|
+ ['AE (n=' num2str(sum(flags_thyroid(:,6)==1)) ')']});
|
|
|
|
|
+ylabel('MAX(\Delta SUV_{OPT%})','FontSize',14);
|
|
|
|
|
+grid on;
|
|
|
|
|
+lines = findobj(gcf, 'type', 'line');
|
|
|
|
|
+set(lines,'LineWidth',1.5);
|
|
|
|
|
+hold on;
|
|
|
|
|
+plot([0,4], [OPT_OPT_T_thyroid, OPT_OPT_T_thyroid], 'k-');
|
|
|
|
|
+ylim([-60, 250]);
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\thyroid_boxplots3.png');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+% Lung
|
|
|
|
|
+nc0_ind = [];
|
|
|
|
|
+
|
|
|
|
|
+for i=1:numel(patient_ids_norm);
|
|
|
|
|
+ for j=1:numel(patients);
|
|
|
|
|
+ if strcmp(patient_ids_norm{i}, patients{j});
|
|
|
|
|
+ nc0_ind(i) = j;
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+end
|
|
|
|
|
+nc0_ind = nc0_ind(nc0_ind>0);
|
|
|
|
|
+% Compute mean and sd for NC patients for plotting normal range
|
|
|
|
|
+d_lung_NC0 = d_lung(nc0_ind,:,:);
|
|
|
|
|
+
|
|
|
|
|
+mu_lung_NC0 = squeeze(mean(d_lung_NC0(:,2,:), 1));
|
|
|
|
|
+sigma_lung_NC0 = squeeze(std(d_lung_NC0(:,2,:), 1));
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+figure('pos',[700, 800, 300, 400], 'Color','w');
|
|
|
|
|
+boxplot([d_lung_MAX(nc0_ind,ImaxAUC_lung); ...
|
|
|
|
|
+ d_lung_MAX(flags(:,4)==0,ImaxAUC_lung); ...
|
|
|
|
|
+ d_lung_MAX(flags(:,4)==1,ImaxAUC_lung)], ...
|
|
|
|
|
+ [1.*ones(1, numel(d_lung_MAX(nc0_ind,ImaxAUC_lung))), ...
|
|
|
|
|
+ 2.*ones(1, numel(d_lung_MAX(flags(:,4)==0,ImaxAUC_lung))), ...
|
|
|
|
|
+ 3.*ones(1, numel(d_lung_MAX(flags(:,4)==1,ImaxAUC_lung)))], ...
|
|
|
|
|
+ 'Labels',{['NC0 (n=' num2str(numel(nc0_ind)) ')'],...
|
|
|
|
|
+ ['NC (n=' num2str(sum(flags(:,4)==0)) ')'],...
|
|
|
|
|
+ ['AE (n=' num2str(sum(flags(:,4)==1)) ')']});
|
|
|
|
|
+ylabel('MAX(\Delta SUV_{OPT%})','FontSize',14);
|
|
|
|
|
+grid on;
|
|
|
|
|
+lines = findobj(gcf, 'type', 'line');
|
|
|
|
|
+set(lines,'LineWidth',1.5);
|
|
|
|
|
+hold on;
|
|
|
|
|
+plot([0,4], [OPT_OPT_T_lung, OPT_OPT_T_lung], 'k-');
|
|
|
|
|
+ylim([-60, 250]);
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\lung_boxplots3.png');
|
|
|
|
|
+
|
|
|
|
|
+% Bowel
|
|
|
|
|
+% Compute mean and sd for NC patients for plotting normal range
|
|
|
|
|
+d_bowel_NC0 = d_bowel(nc0_ind,:,:);
|
|
|
|
|
+
|
|
|
|
|
+mu_bowel_NC0 = squeeze(mean(d_bowel_NC0(:,2,:), 1));
|
|
|
|
|
+sigma_bowel_NC0 = squeeze(std(d_bowel_NC0(:,2,:), 1));
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+figure('pos',[700, 800, 300, 400], 'Color','w');
|
|
|
|
|
+boxplot([d_bowel_MAX(nc0_ind,ImaxAUC_bowel); ...
|
|
|
|
|
+ d_bowel_MAX(flags(:,2)==0,ImaxAUC_bowel); ...
|
|
|
|
|
+ d_bowel_MAX(flags(:,2)==1,ImaxAUC_bowel)], ...
|
|
|
|
|
+ [1.*ones(1, numel(d_bowel_MAX(nc0_ind,ImaxAUC_bowel))), ...
|
|
|
|
|
+ 2.*ones(1, numel(d_bowel_MAX(flags(:,2)==0,ImaxAUC_bowel))), ...
|
|
|
|
|
+ 3.*ones(1, numel(d_bowel_MAX(flags(:,2)==1,ImaxAUC_bowel)))], ...
|
|
|
|
|
+ 'Labels',{['NC0 (n=' num2str(numel(nc0_ind)) ')'],...
|
|
|
|
|
+ ['NC (n=' num2str(sum(flags(:,2)==0)) ')'],...
|
|
|
|
|
+ ['AE (n=' num2str(sum(flags(:,2)==1)) ')']});
|
|
|
|
|
+ylabel('MAX(\Delta SUV_{OPT%})','FontSize',14);
|
|
|
|
|
+grid on;
|
|
|
|
|
+lines = findobj(gcf, 'type', 'line');
|
|
|
|
|
+set(lines,'LineWidth',1.5);
|
|
|
|
|
+hold on;
|
|
|
|
|
+plot([0,4], [OPT_OPT_T_bowel, OPT_OPT_T_bowel], 'k-');
|
|
|
|
|
+ylim([-60, 400]);
|
|
|
|
|
+export_fig('C:\Users\strah\OneDrive\Namizje\Melanoma\Daniel\bowel_boxplots3.png');
|
|
|
|
|
+
|