annotate Problems/Pierre_reconstruct.m @ 128:8e660fd14774 ivand_dev

Feature 186
author Ivan Damnjanovic lnx <ivan.damnjanovic@eecs.qmul.ac.uk>
date Mon, 13 Jun 2011 14:55:45 +0100
parents 6a37442514c5
children
rev   line source
idamnjanovic@46 1 function reconstructed=Pierre_reconstruct(y, Problem)
ivan@128 2 %% Pierre Villars Example - reconstruction function
ivan@128 3 %
ivan@128 4 % This example is based on the experiment suggested by Professor Pierre
ivan@128 5 % Vandergheynst on the SMALL meeting in Villars.
ivan@128 6 % The function is using sparse representation y in dictionary Problem.A
ivan@128 7 % to reconstruct the patches of the target image.
ivan@128 8
idamnjanovic@46 9 %
idamnjanovic@46 10 % Centre for Digital Music, Queen Mary, University of London.
idamnjanovic@46 11 % This file copyright 2009 Ivan Damnjanovic.
idamnjanovic@46 12 %
idamnjanovic@46 13 % This program is free software; you can redistribute it and/or
idamnjanovic@46 14 % modify it under the terms of the GNU General Public License as
idamnjanovic@46 15 % published by the Free Software Foundation; either version 2 of the
idamnjanovic@46 16 % License, or (at your option) any later version. See the file
idamnjanovic@46 17 % COPYING included with this distribution for more information.
ivan@128 18 %%
idamnjanovic@46 19
ivan@128 20
ivan@128 21
idamnjanovic@46 22
idamnjanovic@46 23 imout=Problem.A*y;
idamnjanovic@46 24
idamnjanovic@46 25 % combine the patches into reconstructed image
idamnjanovic@46 26
idamnjanovic@46 27 im=col2im(imout,Problem.blocksize,size(Problem.imageTrg),'disctint');
idamnjanovic@46 28
idamnjanovic@46 29 % bound the pixel values to [0,255] range
idamnjanovic@46 30 im(im<0)=0;
idamnjanovic@46 31 im(im>255)=255;
idamnjanovic@46 32
idamnjanovic@46 33 %% output structure image+psnr %%
idamnjanovic@46 34 reconstructed.image=im;
idamnjanovic@46 35 reconstructed.psnr = 20*log10(Problem.maxval * sqrt(numel(Problem.imageTrg(:))) / norm(Problem.imageTrg(:)-im(:)));
idamnjanovic@46 36 end