Mercurial > hg > smallbox
diff util/SMALL_vmrse_type2.m @ 117:d120a9e52be5 sup_158_IMG_Processing_toolbox_
renaiming of SMALL_vmrse_type2.m
author | Ivan Damnjanovic lnx <ivan.damnjanovic@eecs.qmul.ac.uk> |
---|---|
date | Tue, 24 May 2011 16:15:05 +0100 |
parents | |
children | 8e660fd14774 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/util/SMALL_vmrse_type2.m Tue May 24 16:15:05 2011 +0100 @@ -0,0 +1,43 @@ +function [RMSErn, RMSEcd, rn_im, cd_im] = SMALL_vmrse_type2(orig, corr, recon) +%% Implementation of VectorRMSE type2 +% +% +% Input: +% - Original image +% - Corrupted image +% - Reconstructed Image +% +% Output: +% - RMSErn - RMSE from residual noise (noise not completely removed) +% - RMSEcd - RMSE from collateral distortion - excessive filtering +% - rn_im - image of residual noise +% - cd_im - image of collateral distortion +% +% F. Russo, "New Method for Performance Evaluation of Grayscale Image +% Denoising filters", IEEE Signal Processing Letters, vol. 17, no. 5, +% pp.417-420, May 2010 + +% Centre for Digital Music, Queen Mary, University of London. +% This file copyright 2011 Ivan Damnjanovic. +% +% This program is free software; you can redistribute it and/or +% modify it under the terms of the GNU General Public License as +% published by the Free Software Foundation; either version 2 of the +% License, or (at your option) any later version. See the file +% COPYING included with this distribution for more information. +%% + + recon_int = round(recon); + + RN1 = ((orig<recon_int)&(recon_int<=corr)); + RN2 = ((orig>recon_int)&(recon_int>=corr)); + CD1 = ((orig<recon_int)&(recon_int>corr)); + CD2 = ((orig>recon_int)&(recon_int<corr)); + + RMSErn = sqrt(sum(sum((RN1+RN2).*(orig-recon).^2)))/512; + RMSEcd = sqrt(sum(sum((CD1+CD2).*(orig-recon).^2)))/512; + rn_im=RN1+RN2; + cd_im=CD1+CD2; + +end +