source: sasmodels/doc/guide/resolution.rst @ 0db85af

Last change on this file since 0db85af was 0db85af, checked in by Paul Kienzle <pkienzle@…>, 6 years ago

Now allowed '-' before and after '$', such as 1-$\sigma$ or $x$-$y$-$z$

  • Property mode set to 100644
File size: 9.0 KB

Resolution Functions

Sometimes the instrumental geometry used to acquire the experimental data has an impact on the clarity of features in the reduced scattering curve. For example, peaks or fringes might be slightly broadened. This is known as Q resolution smearing. To compensate for this effect one can either try and remove the resolution contribution - a process called desmearing - or add the resolution contribution into a model calculation/simulation (which by definition will be exact) to make it more representative of what has been measured experimentally - a process called smearing. Sasmodels does the latter.

Both smearing and desmearing rely on functions to describe the resolution effect. Sasmodels provides three smearing algorithms:

  • Slit Smearing
  • Pinhole Smearing
  • 2D Smearing

The $Q$ resolution values should be determined by the data reduction software for the instrument and stored with the data file. If not, they will need to be set manually before fitting.

Slit Smearing

This type of smearing is normally only encountered with data from X-ray Kratky cameras or X-ray/neutron Bonse-Hart USAXS/USANS instruments.

The slit-smeared scattering intensity is defined by

Is = (1)/( Norm) − ∞dv Wv(v) − ∞du Wu(u) I(((q + v)2 + |u|2))

where Norm is given by

 − ∞dv Wv(v) − ∞du Wu(u)

[Equation 1]

The functions $W_v(v)$ and $W_u(u)$ refer to the slit width weighting function and the slit height weighting determined at the given $q$ point, respectively. It is assumed that the weighting function is described by a rectangular function, such that

Wv(v) = δ(|v| ≤ Δqv)

[Equation 2]


Wu(u) = δ(|u| ≤ Δqu)

[Equation 3]

so that $Delta q_alpha = int_0^infty dalpha, W_alpha(alpha)$ for $alpha$ as $v$ and $u$.

Here $Delta q_u$ and $Delta q_v$ stand for the the slit height (FWHM/2) and the slit width (FWHM/2) in $q$ space.

This simplifies the integral in Equation 1 to

Is(q) = (2)/( Norm)Δqv − ΔqvdvΔqu0du I(((q + v)2 + u2))

[Equation 4]

which may be solved numerically, depending on the nature of $Delta q_u$ and $Delta q_v$.

Solution 1

For $Delta q_v = 0$ and $Delta q_u = text{constant}$

Is(q) ≈ Δqu0du I((q2 + u2)) = Δqu0d((q2 − q2)) I(q’)

For discrete $q$ values, at the $q$ values of the data points and at the $q$ values extended up to $q_N = q_i + Delta q_u$ the smeared intensity can be approximately calculated as

Is(qi) ≈ N − 1j = i[(q2j + 1 − q2i) − (q2j − q2i)] I(qj)N − 1j = 1Wij I(qj)

[Equation 5]

where $W_{ij} = 0$ for $I_s$ when $j < i$ or $j > N-1$.

Solution 2

For $Delta q_v = text{constant}$ and $Delta q_u = 0$

Similar to Case 1

Is(qi) ≈ N − 1j = p[qj + 1 − qi] I(qj) ≈ N − 1j = pWij I(qj)

for $q_p = q_i - Delta q_v$ and $q_N = q_i + Delta q_v$

[Equation 6]

where $W_{ij} = 0$ for $I_s$ when $j < p$ or $j > N-1$.

Solution 3

For $Delta q_v = text{constant}$ and $Delta q_u = text{constant}$

In this case, the best way is to perform the integration of Equation 1 numerically for both slit height and slit width. However, the numerical integration is imperfect unless a large number of iterations, say, at least 10000 by 10000 for each element of the matrix $W$, is performed. This is usually too slow for routine use.

An alternative approach is used in sasmodels which assumes slit width << slit height. This method combines Solution 1 with the numerical integration for the slit width. Then

Is(qi)  ≈ N − 1j = pLk =  − L[(q2j + 1 − (qi + (kΔqv ⁄ L))2) − (q2j − (qi + (kΔqv ⁄ L))2)]qv ⁄ L) I(qj)  ≈ N − 1j = pWij I(qj)

[Equation 7]

for $q_p = q_i - Delta q_v$ and $q_N = q_i + Delta q_v$

where $W_{ij} = 0$ for $I_s$ when $j < p$ or $j > N-1$.

Pinhole Smearing

This is the type of smearing normally encountered with data from synchrotron SAXS cameras and SANS instruments.

The pinhole smearing computation is performed in a similar fashion to the slit-smeared case above except that the weight function used is a Gaussian. Thus Equation 6 becomes

Is(qi)  ≈ N − 1j = 0[\operatornameerf(qj + 1) − \operatornameerf(qj)] I(qj)  ≈ N − 1j = 0Wij I(qj)

[Equation 8]

2D Smearing

The 2D smearing computation is performed in a similar fashion to the 1D pinhole smearing above except that the weight function used is a 2D elliptical Gaussian. Thus

Is(x0,  y0)  = Adxdy’ exp − ((x’ − x0’)2)/(2σ2x0) + ((y’ − y0’)2)/(2σy0)I(x’,  y’)  = Aσx0σy0dXdY exp − ((X2 + Y2))/(2)I(σx0Xx0’,  σy0Y + y0’)  = Aσx0σy0dRdΘ Rexp − (R2)/(2)I(σx0RcosΘ + x0’,  σy0RsinΘ + y0’)

[Equation 9]

In Equation 9, $x_0 = q cos(theta)$, $y_0 = q sin(theta)$, and the primed axes are all in the coordinate rotated by an angle $theta$ about the $z$-axis (see the figure below) so that $x'_0 = x_0 cos(theta) + y_0 sin(theta)$ and $y'_0 = -x_0 sin(theta) + y_0 cos(theta)$. Note that the rotation angle is zero for a $x$-$y$ symmetric elliptical Gaussian distribution. The $A$ is a normalization factor.


Coordinate axis rotation for 2D resolution calculation.

Now we consider a numerical integration where each of the bins in $theta$ and $R$ are evenly (this is to simplify the equation below) distributed by $Delta theta$ and $Delta R$ respectively, and it is further assumed that $I(x',y')$ is constant within the bins. Then

Is(x0,  y0)  ≈ Aσx0σy0niΔΘexp((Ri − ΔR ⁄ 2)2)/(2) − exp((Ri + ΔR ⁄ 2)2)/(2)I(σx0RicosΘi + x0,  σy0RisinΘi + y0)  ≈ niWi I(σx0RicosΘi + x0,  σy0RisinΘi + y0)

[Equation 10]

Since the weighting factor on each of the bins is known, it is convenient to transform $x'$-$y'$ back to $x$-$y$ coordinates (by rotating it by $-theta$ around the $z$-axis).

Then, for a polar symmetric smear

Is(x0,  y0) ≈ niWi I(x’cosθ − y’sinθ,  xsinθ + y’cosθ)

[Equation 11]


x  = σx0RicosΘi + x0 y  = σy0RisinΘi + y0 x0  = q = (x20 + y20) y0  = 0

while for a $x$-$y$ symmetric smear

Is(x0,  y0) ≈ niWi I(x’,  y’)

[Equation 12]


x  = σx0RicosΘi + x0 y  = σy0RisinΘi + y0 x0  = x0 = qx y0  = y0 = qy

The current version of sasmodels uses Equation 11 for 2D smearing, assuming that all the Gaussian weighting functions are aligned in the polar coordinate.

Weighting & Normalization

In all the cases above, the weighting matrix $W$ is calculated on the first call to a smearing function, and includes ~60 $q$ values (finely and evenly binned) below (>0) and above the $q$ range of data in order to smear all data points for a given model and slit/pinhole size. The Norm factor is found numerically with the weighting matrix and applied on the computation of $I_s$.

Document History

2015-05-01 Steve King
2017-05-08 Paul Kienzle

Docutils System Messages

Note: See TracBrowser for help on using the repository browser.