source: sasview/src/sas/qtgui/Perspectives/Corfunc/media/corfunc_help.rst @ b86754f

Last change on this file since b86754f was b86754f, checked in by Piotr Rozyczko <rozyczko@…>, 4 years ago

Initial CorFunc? documentation update.
Added missing file

  • Property mode set to 100755
File size: 10.0 KB

Correlation Function Analysis


This currently performs correlation function analysis on SAXS/SANS data, but in the the future is also planned to generate model-independent volume fraction profiles from the SANS from adsorbed polymer/surfactant layers. The two types of analyses differ in the mathematical transform that is applied to the data (Fourier vs Hilbert). However, both functions are returned in real space.

A correlation function may be interpreted in terms of an imaginary rod moving through the structure of the material. Γ(x) is the probability that a rod of length x has equal electron/neutron scattering length density at either end. Hence a frequently occurring spacing within a structure will manifest itself as a peak in Γ(x). SasView will return both the one-dimensional ( Γ1(x) ) and three-dimensional ( Γ3(x) ) correlation functions, the difference being that the former is only averaged in the plane of the scattering vector.

A volume fraction profile Φ (z) describes how the density of polymer segments/surfactant molecules varies with distance, z, normal to an (assumed locally flat) interface. The form of Φ (z) can provide information about the arrangement of polymer/surfactant molecules at the interface. The width of the profile provides measures of the layer thickness, and the area under the profile is related to the amount of material that is adsorbed.

Both analyses are performed in 3 stages:

  • Extrapolation of the scattering curve to Q = 0 and toward Q = ∞
  • Smoothed merging of the two extrapolations into the original data
  • Fourier / Hilbert Transform of the smoothed data to give the correlation function or volume fraction profile, respectively
  • (Optional) Interpretation of Γ1(x) assuming the sample conforms to an ideal lamellar morphology


To Q = 0

The data are extrapolated to q = 0 by fitting a Guinier function to the data points in the low-q range.

The equation used is:

I(q) = AeBq2

Where the parameter B is related to the effective radius-of-gyration of a spherical object having the same small-angle scattering in this region.

Note that as q tends to zero this function tends to a limiting value and is therefore less appropriate for use in systems where the form factor does not do likewise. However, because of the transform, the correlation functions are most affected by the Guinier back-extrapolation at large values of x where the impact on any extrapolated parameters will be least significant.

To Q = ∞

The data are extrapolated towards q = by fitting a Porod model to the data points in the high-q range and then computing the extrapolation to 100 times the maximum q value in the experimental dataset. This should be more than sufficient to ensure that on transformation any truncation artefacts introduced are at such small values of x that they can be safely ignored.

The equation used is:

I(q) = Kq − 4e − q2σ2 + Bg

Where Bg is the background, K is the Porod constant, and σ (which must be > 0) describes the width of the electron/neutron scattering length density profile at the interface between the crystalline and amorphous regions as shown below.



The extrapolated data set consists of the Guinier back-extrapolation from q ~ 0 up to the lowest q value in the original data, then the original scattering data, and then the Porod tail-fit beyond this. The joins between the original data and the Guinier/Porod extrapolations are smoothed using the algorithm below to try and avoid the formation of truncation ripples in the transformed data:

Functions f(xi) and g(xi) where xi ∈ {x1, x2, ..., xn} , are smoothed over the range [a, b] to produce y(xi) , by the following equations:

y(xi) = hig(xi) + (1 − hi)f(xi)


hi = (1)/(1 + ((xi − b)2)/((xi − a)2))



If "Fourier" is selected for the transform type, SasView will perform a discrete cosine transform on the extrapolated data in order to calculate the 1D correlation function as:

Γ1(x) = (1)/(Q*)0I(q)q2cos(qx)dq

where Q* is the Scattering (also called Porod) Invariant.

The following algorithm is applied:

Γ(xk) = 2N − 1n = 0xncos(π)/(N)n + (1)/(2)k for k = 0, 1, …, N − 1, N

The 3D correlation function is calculated as:

Γ3(x) = (1)/(Q*)0I(q)q2(sin(qx))/(qx)dq


It is always advisable to inspect Γ1(x) and Γ3(x) for artefacts arising from the extrapolation and transformation processes:

  • do they tend to zero as x tends to ?
  • do they smoothly curve onto the ordinate at x = 0? (if not check the value of σ is sensible)
  • are there ripples at x values corresponding to (2 pi over) the two q values at which the extrapolated and experimental data are merged?
  • are there any artefacts at x values corresponding to 2 pi / qmax in the experimental data?
  • and lastly, do the significant features/peaks in the correlation functions actually correspond to anticpated spacings in the sample?!!!

Finally, the program calculates the interface distribution function (IDF) g1(x) as the discrete cosine transform of:

 − q4I(q)

The IDF is proportional to the second derivative of Γ1(x).


If "Hilbert" is selected for the transform type, the analysis will perform a Hilbert transform on the extrapolated data in order to calculate the Volume Fraction Profile.


The Hilbert transform functionality is not yet implemented in SasView.


Correlation Function

Once the correlation functions have been calculated SasView can be asked to try and interpret Γ1(x) in terms of an ideal lamellar morphology as shown below.


The structural parameters extracted are:

  • Long Period  = Lp
  • Average Hard Block Thickness  = Lc
  • Average Core Thickness  = D0
  • Average Interface Thickness  = Dtr
  • Polydispersity  = Γmin ⁄ Γmax
  • Local Crystallinity  = Lc ⁄ Lp

Volume Fraction Profile

SasView does not provide any automatic interpretation of volume fraction profiles in the same way that it does for correlation functions. However, a number of structural parameters are obtainable by other means:

  • Surface Coverage  = θ
  • Anchor Separation  = D
  • Bound Fraction  =  < p > 
  • Second Moment  = σ
  • Maximum Extent  = δh
  • Adsorbed Amount  = Γ

The reader is directed to the references for information on these parameters.


Correlation Function

Strobl, G. R.; Schneider, M. J. Polym. Sci. (1980), 18, 1343-1359

Koberstein, J.; Stein R. J. Polym. Sci. Phys. Ed. (1983), 21, 2181-2200

Baltá Calleja, F. J.; Vonk, C. G. X-ray Scattering of Synthetic Poylmers, Elsevier. Amsterdam (1989), 247-251

Baltá Calleja, F. J.; Vonk, C. G. X-ray Scattering of Synthetic Poylmers, Elsevier. Amsterdam (1989), 257-261

Baltá Calleja, F. J.; Vonk, C. G. X-ray Scattering of Synthetic Poylmers, Elsevier. Amsterdam (1989), 260-270

Göschel, U.; Urban, G. Polymer (1995), 36, 3633-3639

Stribeck, N. X-Ray Scattering of Soft Matter, Springer. Berlin (2007), 138-161

:ref:`FDR` (PDF format)


Volume Fraction Profile

Washington, C.; King, S. M. J. Phys. Chem., (1996), 100, 7603-7609

Cosgrove, T.; King, S. M.; Griffiths, P. C. Colloid-Polymer Interactions: From Fundamentals to Practice, Wiley. New York (1999), 193-204

King, S. M.; Griffiths, P. C.; Cosgrove, T. Applications of Neutron Scattering to Soft Condensed Matter, Gordon & Breach. Amsterdam (2000), 77-105

King, S.; Griffiths, P.; Hone, J.; Cosgrove, T. Macromol. Symp. (2002), 190, 33-42


Upon sending data for correlation function analysis, it will be plotted (minus the background value), along with a bar indicating the upper end of the low-Q range (used for Guinier back-extrapolation), and 2 bars indicating the range to be used for Porod forward-extrapolation. These bars may be moved by entering appropriate values in the Q range input boxes.


Once the Q ranges have been set, click the "Calculate" button in the Background section of the dialog to determine the background level. Alternatively, enter your own value into the box. If the box turns yellow this indicates that background subtraction has created some negative intensities.

Now click the "Extrapolate" button to extrapolate the data. The graph window will update to show the extrapolated data, and the values of the parameters used for the Guinier and Porod extrapolations will appear in the "Extrapolation Parameters" section of the SasView GUI.


Now click the "Transform" button to perform the Fourier transform and plot the results.



This help document was last changed by Steve King, 26Sep2017

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