samanvaya1 / DLS_GUI

3 stars 0 forks source link

License: MIT

DLS-GUI

Background

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.

Introduction

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:

GUI_Mac

Installation and Compilation

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.

Using the 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.

Manual_Contents

We have also included an sample data file TestDataFile.txt for testing/demonstration purposes.

License

This project is licensed under the MIT license. The documents are licensed under Creative Commons Attribution License.

References

  1. 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 [Link]
  2. Scotti AE, Liu W, Hyatt JS, Herman ES, Choi HS, Kim JW, Lyon LA, Gasser U, Fernandez-Nieves A. The CONTIN algorithm and its application to determine the size distribution of microgel suspensions. The Journal of Chemical Physics, 2015, 142(23), 234905 [Link]
  3. Berne BJ, Pecora R. Dynamic light scattering: with applications to chemistry, biology, and physics. Courier Corporation; 2000. [Link]