Desmearing

Desmear the 1-D SAS data (q, I, dI) by method of Lake & Jemian.

Desmear SAS data

To desmear, apply the method of Jemian/Lake to 1-D SAS data (q, I, dI).

Source Code Documentation

class jldesmear.jl_api.desmear.Desmearing(q, I, dI, params)[source]

desmear the 1-D SAS data (q, I, dI) by method of Jemian/Lake

\[I_0 \approx \lim_{i \rightarrow \infty} I_{i+1} = I_i \times \left({ \tilde I_0 \div \tilde I_i}\right)\]

To start Lake’s method, assume that the 0-th approximation of the corrected intensity is the measured intensity.

Parameters:
  • q (numpy.ndarray) – magnitude of scattering vector
  • I (numpy.ndarray) – SAS data I(q) +/- dI(q)
  • dI (numpy.ndarray) – estimated uncertainties of I(q)
  • params (obj) – Info object with desmearing parameters

Note

This equation shows the iterative feedback based on the fast method (as described by Lake). Alternative feedback methods are available (see SetLakeWeighting()). It is suggested to always use the fast method.

SetExtrap(extrapolation_object=None)[source]
Parameters:extrapolation_object (obj) – class used for extrapolation function
SetLakeWeighting(LakeWeighting='fast')[source]
Parameters:LakeWeighting (str) – one of constant, ChiSqr, or fast
Constant:weight = 1.0
ChiSqr:weight = CorrectedI / SmearedI
Fast:weight = 2*SQRT(ChiSqr(0) / ChiSqr(i))
SetQuiet(suppress_output=True)[source]

if True, then no printed output from this routine

first_step()[source]

the first step

calculate the standardized residuals (\(z =\) self.z )

\[z = (\hat{y} - y) \sigma\]

where y = S, yHat = I, and sigma = dI

calculate the chi-squared statistic (\(\chi^2 =\) self.ChiSqr )

\[\chi^2 = \sum z^2\]
iterate_and_callback()[source]

Compute one iteration of the Lake algorithm and then call the supplied callback method. Use this method to run a desmearing operation in another thread.

iteration()[source]

Compute one iteration of the Lake algorithm.

No need to call the callback routine, the caller can take care of that directly.

traditional()[source]

the traditional LAKE code algorithm

This method is called from the class constructor. If this method is called directly, it has the effect of clearing any desmearing progress and resetting back to start. This technique is used here if the list of ChiSqr results is not empty.