MStruct GUI is an extension of the MStruct program for MicroStructure analysis of powder diffraction data.
It is a desktop application providing a graphical interface for calling MStruct and processing its results. Besides configuring input parameters users can review the output data in a graphical form and use fitted parameters.
- Platform independent desktop Java application
- Optimization run from the UI application showing calculated data, fitted parameters and MStruct logs
- Rich interactive chart depicting calculated and measured values, their difference, background levels and excluded regions
- Full edit of all crystal and instrumentals parameters
- Various types of powder pattern backgrounds are supported (Chebyshev, InvX, Interpolated)
- Definition of reflection profile components of various types (SizeLn, PVoightA, RefractionCorr, StressSimple)
- All parameters shown also in a tree like view allowing search, filtering and bulk editing.
- Excluded regions can be entered directly or interactively from the generated chart
- Import crystals definition from a cif file or an ObjctCryst xml file.
- View and edit crystals parameters
- Import and export of data from various formats
Import crystals and edit their parameters:
Define and edit instrumental parameters, radiation type, background patterns or excluded regions:
Configure crystal phases and their parameters. Various types of reflection profile components can be added and configured.
Choose if arbitrary texture difraction points should be used, generated, refined or compute with provided parameters:
All parameters can be searched, filtered, reviewed and edited in a tree like view:
Optimization screen runs the simulation or refinement process calling the MStruct library and display its result:
Input and calculated data are displayed on an interactive chart:
Values of refined parameters can be reviewed and copied back to the model:
Excluded regions can be edited directly in the chart:
- Download the mstructgui-0.3-dist-min.zip. Alternatively you can Build and Assembly your own.
- Extract the content of the zip file to a “base directory”. If the mstruct-gui was previously installed there make sure you don't overwrite the previous version of the MStructGUI.properties or make its backup first.
- Download and install a suitable JDK, i.e. JDK version 11 or newer. It is recommended to use BellSoft's Liberica JDK 11 LTS as it was used for testing.
- Open the
MStructGUI.bat
for editing and change thejava_home
variable to a location where the JDK is installed. - In the
MStructGUI.properties
edit following two paths to be able to use FOX for transforming cif files and MStruct for Optimization:- fox.exe.path
- mstruct.exe.path
- Optionally in the
MStructGUI.properties
themstructgui.open.on.startup
can be set to a file which will be opened automatically on startup. - Run the application with
MStructGUI.bat
.
If the mstructgui-0.1-dist-withJDK.zip
is used instead of mstructgui-0.3-dist-min.zip
the installation steps are the same but the step 3 and 4 can be omitted.
The mstructgui-0.1-only-externals.zip
doesn’t contain the MStructGUI application. It contains only both external programs. It should be unpacked to the same directory where previously one of the above distributions was installed. It is packed with MStructGUI.properties
which configures the paths so the step 5 can be skipped.
Use Maven to build the application with the following command in the project root directory (i.e. where the pom.xml file is):
mvn clean install
The mstruct-gui-0.3-dist-min.zip
should be created in the target directory. Other two distributables mentioned above are currently disabled (commented out in the pom.xml) as they would fail unless the paths defined in the src/assembly/assembly-withJDK.xml
and src/assembly/assembly-externals.xml
are correct.
...