noser_image_prior

PURPOSE ^

NOSER_IMAGE_PRIOR calculate image prior

SYNOPSIS ^

function Reg= noser_image_prior( inv_model );

DESCRIPTION ^

 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

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

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

Generated on Tue 09-Aug-2011 11:38:31 by m2html © 2005