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))
-
first_step
()[source]¶ the first step
calculate the standardized residuals (\(z =\)
self.z
)\[z = (\hat{y} - y) \sigma\]where
y = S
,yHat = I
, andsigma = 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.