annotate util/SMALL_ImgDeNoiseResult.m @ 113:028599837f1d sup_158_IMG_Processing_toolbox_

Reimplementation of showdict.m function from KSVD toolbox - Image Processing toolbox independent.
author Ivan Damnjanovic lnx <ivan.damnjanovic@eecs.qmul.ac.uk>
date Tue, 24 May 2011 15:13:41 +0100
parents 62f20b91d870
children 921f9931c84f
rev   line source
idamnjanovic@8 1 function SMALL_ImgDeNoiseResult(SMALL)
idamnjanovic@24 2 %
idamnjanovic@24 3 % Centre for Digital Music, Queen Mary, University of London.
idamnjanovic@24 4 % This file copyright 2010 Ivan Damnjanovic.
idamnjanovic@24 5 %
idamnjanovic@24 6 % This program is free software; you can redistribute it and/or
idamnjanovic@24 7 % modify it under the terms of the GNU General Public License as
idamnjanovic@24 8 % published by the Free Software Foundation; either version 2 of the
idamnjanovic@24 9 % License, or (at your option) any later version. See the file
idamnjanovic@24 10 % COPYING included with this distribution for more information.
idamnjanovic@24 11 %
idamnjanovic@8 12 % Function gets as input SMALL structure and plots Image Denoise
idamnjanovic@8 13 % results: Original Image, Noisy Image and for learned dictionaries and
idamnjanovic@8 14 % denoised images
idamnjanovic@8 15
idamnjanovic@8 16
idamnjanovic@8 17 figure('Name', sprintf('Image %s (training set size- %d, sigma - %d)',SMALL.Problem.name, SMALL.Problem.n, SMALL.Problem.sigma));
idamnjanovic@8 18
idamnjanovic@8 19 m=size(SMALL.solver,2)+1;
idamnjanovic@8 20 maxval=SMALL.Problem.maxval;
idamnjanovic@8 21 im=SMALL.Problem.Original;
idamnjanovic@8 22 imnoise=SMALL.Problem.Noisy;
idamnjanovic@8 23
ivan@77 24 subplot(2, m, 1); imagesc(im/maxval);colormap(gray);axis off; axis image; % Set aspect ratio to obtain square pixels
idamnjanovic@8 25 title('Original image');
idamnjanovic@8 26
ivan@77 27 subplot(2,m,m+1); imagesc(imnoise/maxval);axis off; axis image;
idamnjanovic@35 28 title(sprintf('Noisy image, PSNR = %.2fdB', SMALL.Problem.noisy_psnr ));
idamnjanovic@8 29
idamnjanovic@8 30 for i=2:m
idamnjanovic@35 31
ivan@77 32 subplot(2, m, i); imagesc(SMALL.solver(i-1).reconstructed.Image/maxval);axis off; axis image;
idamnjanovic@8 33 title(sprintf('%s Denoised image, PSNR: %.2f dB in %.2f s',...
ivan@77 34 SMALL.DL(i-1).name, SMALL.solver(i-1).reconstructed.psnr, SMALL.solver(i-1).time ),'Interpreter','none');
idamnjanovic@8 35 if strcmpi(SMALL.DL(i-1).name,'ksvds')
idamnjanovic@8 36 D = kron(SMALL.Problem.basedict{2},SMALL.Problem.basedict{1})*SMALL.DL(i-1).D;
idamnjanovic@8 37 else
idamnjanovic@8 38 D = SMALL.DL(i-1).D;
idamnjanovic@8 39 end
idamnjanovic@35 40 dictimg = showdict(D,SMALL.Problem.blocksize,...
idamnjanovic@8 41 round(sqrt(size(D,2))),round(sqrt(size(D,2))),'lines','highcontrast');
idamnjanovic@8 42
ivan@77 43 subplot(2,m,m+i);imagesc(dictimg);axis off; axis image;
idamnjanovic@8 44 title(sprintf('%s dictionary in %.2f s',...
ivan@77 45 SMALL.DL(i-1).name, SMALL.DL(i-1).time),'Interpreter','none');
idamnjanovic@8 46
idamnjanovic@8 47 end