Dynamic light scattering (DLS) is a commonly used analytical tool for characterizing the size distribution of colloids in a dispersion or a solution. Typically, the intensity of a scattering produced from the sample at a fixed angle from an incident laser beam is recorded as a function of time and converted into time autocorrelation data, which can be inverted to estimate the distribution of colloid diffusivity to estimate the colloid size distribution.
DLS-GUI is a user-friendly graphical user interface (GUI) for analyzing the measured scattering intensity time autocorrelation data using both the cumulant expansion method and regularization methods, with the latter implemented using various commonly employed algorithms including NNLS, CONTIN, REPES, and DYNALS. Additionally, the GUI also enables a comparison of the size distributions generated by various algorithms and an evaluation of their performance. To learn more about the software and/or download the compiled version please visit the Lab Website.
Authors: Matthew Salazar, Harsh Srivastav, Abhishek Srivastava, Samanvaya Srivastava
Self-Assembly of Soft Materials Laboratory, University of California, Los Angeles
To cite DLS GUI in publications please use:
Salazar M, Srivastav H, Srivastava A, Srivastava S. A User-friendly Graphical User Interface for Dynamic Light Scattering Data Analysis. Soft Matter, 2023, 19, 6535-6544. https://doi.org/10.1039/D3SM00469D
DLS GUI Preview:
To compile the DLS GUI you will need to install Python 3.
We also suggest using a virtual environment to keep the compilation clean and isolated. The venv
package provides an easy way to setup virtual environments and you can find the detailed description and instructions here.
To install venv package and setup a virtual enviroment named myenv:
pip install venv
python -m venv myenv
To activate the virtual environment:
myenv\Scripts\activate.bat
(Windows)
source myenv/bin/activate
(Unix/Mac)
This package requires numpy
, scipy
matplotlib
, cx-freeze
, statsmodels
, and tkinter
packages. Install these by invoking the requirements.txt
file provided. Navigate to home directory and execute the following command:
pip install -r requirements.txt
We are now ready to compile the GUI. In the home directory, execute the following command:
python setup.py build_exe --excludes=matplotlib.tests,numpy.random._examples --no-compress
(Windows)
python setup.py bdist_mac
(Mac)
There should be a new subdirectory build in the home directory containing the executable GUI.
Detailed descriptions of the features along with instructions for data loading, parameter adjustment, analysis, algorithms comparison, and exporting are provided in the attached manual DLS GUI Manual.pdf.
We have also included an sample data file TestDataFile.txt for testing/demonstration purposes.
This project is licensed under the MIT license. The documents are licensed under Creative Commons Attribution License.