NOSER_IMAGE_PRIOR calculate image prior Reg= noser_image_prior( inv_model ) Reg => output regularization term inv_model => inverse model struct Prior is diag( diag(J'*J)^exponent ) param is normally .5, this value can be changed by setting inv_model.noser_image_prior.exponent= new_value
0001 function Reg= noser_image_prior( inv_model ); 0002 % NOSER_IMAGE_PRIOR calculate image prior 0003 % Reg= noser_image_prior( inv_model ) 0004 % Reg => output regularization term 0005 % inv_model => inverse model struct 0006 % 0007 % Prior is diag( diag(J'*J)^exponent ) 0008 % param is normally .5, this value can be changed by 0009 % setting inv_model.noser_image_prior.exponent= new_value 0010 0011 % (C) 2005 Andy Adler. License: GPL version 2 or version 3 0012 % $Id: noser_image_prior.html 2819 2011-09-07 16:43:11Z aadler $ 0013 0014 img_bkgnd= calc_jacobian_bkgnd( inv_model ); 0015 J = calc_jacobian( inv_model.fwd_model, img_bkgnd); 0016 0017 exponent= 0.5; 0018 if isfield(inv_model,'noser_image_prior'); 0019 exponent= inv_model.noser_image_prior.exponent; 0020 end 0021 0022 l_prior= size(J,2); 0023 0024 % Reg is spdiags(diag(J'*J),0, l_prior, l_prior); 0025 diag_col= sum(J.^2,1)'; 0026 Reg = spdiags( diag_col.^exponent, 0, l_prior, l_prior); 0027