Syntax
Mout = sw_resconv(M,x,dx,func)
Description
Mout = sw_resconv(M,x,dx,func)
convolutes a 2D matrix with a Gaussian
along the first dimension of the matrix. The convolution keeps the
integrated intensity \(\sum I\cdot dx\) constant. It assumes the x
vector
contains the center points of the bins and the distances between the
generated bin edges is calculated by interpolating from the distances
between the given x
bin center positions.
Input Arguments
M
- Arbitrary matrix with dimensions of \([m_1\times m_2]\).
x
- Column vector of coordinates along the first dimension of the matrix.
dx
- FWHM value of the Gaussian as a
function of \(dx\). Either a function handle with a header
fwhm = dx(xVal)
or a vector of polynomial coefficients that produces the right standard deviation. In this case in the function the following line will be executedfwhm = polyval(dx,xVal)
or a constant FWHM value.The standard deviation of the Gaussian is calculated from the given \(dx\) value using the formula \(\sigma_G = fwhm_G/2/\sqrt{2\cdot log(2)} \sim fwhm_G\cdot 0.424661\) If a general resolution function is provided in the
func
argument, it will be called asy = func(x,[1 x0 fwhm])
. In this case thefwhm
can be a row vector and the meaning of the different parameters will depend onfunc
. func
- Resolution function shape with header
y = func(x,p)
, wherex
is a column vector,p
is a row vector of parameters. The meaning of the first 2 elements of the parameter vector are fixed.p(1)
integral of the function.p(2)
center of mass position of the function.
Optional, default value is
@swfunc.gaussfwhm
.
Output Arguments
Mout
- Matrix with same dimensions as the input
M
.