An open-source and easy-to-use software for the comprehensive analysis of grain-size distributions


A brief introduction of the QGrain software

The aim of QGrain

The logo of QGrain, Copyright 2021 Yuming Liu, All rights reserved

QGrain aims to provide an easy-to-use and comprehensive analysis platform for grain-size distributions. QGrain has implemented many functions, however, there still are many useful tools that have not been contained. Hence, we published QGrain as an open-source project, and welcome other researchers to contribute their ideas and codes. Codes are available at this GitHub repository.

Technical route

To achieve QGrain’s aim, the software techniques were advisedly chosen. Python, the programing language which has been widely used in scientific computation, machine learning, and many other fields, was chosen as the major developing language of QGrain. Python’s syntax is concise and easy to learn. And comparing to other same type languages, R and MATLAB, Python is open-source and FREE (can be modified at will, and need not pay), and its community is more prosperous. A large number of mature modules (e.g., Matplotlib, NumPy, SciPy, scikit-learn, and PyTorch) could be used, which means many repetitive underlying codes need not be written, this enables developers could focus on their specific scientific problems. To make QGrain easy-to-use, it’s necessary to provide a well-designed GUI for users who do not know to program. Till the latest version (0.3.2), near 9000 lines of codes were wrote and about 2/3 of them were used to build the GUI. The GUI of QGrain was based on the well-known cross-platform GUI platform, Qt, this makes QGrain is also cross-platform. QGrain also provides many charts with publishing quality base on the widely-used visualization library, Matplotlib.

Quick install

We have packed the setup file for Windows users, just download and run it. You can download the latest version from GitHub. Or, you can download it from Google Drive. For the users in China, you can download it from Baidu Drive, with code: 8bzg.

For Linux and Mac OS X users, you can install QGrain as a Python module, because the Python interpreter is built-in.

pip3 install QGrain

Then, start the GUI of QGrain by running the command below in your Terminal.

python3 -m QGrain

Finally, you will see the Console interface of QGrain.

The screenshot of the initial interface




It is recommended to use GitHub’s Issues to discuss and report problems. Or, you can contact the author below, directly.

Yuming Liu, a PhD student of IEECAS, liuyuming@ieecas.cn