- UW DIRECT project of a general XRD image pattern classifier framework for predicting crystal structure.
- Background
- Purpose
- Repository Structure
- How to install
- Examples and Demos
- How to use our software
- License
All crystalline materials in nature have chemical and physical properties strongly dependent on atomic structures
- Single-crystal X-ray diffraction
- Limitations: nanosized crystals, intergrowth, and defects
- Powder X-ray diffraction
- Limitations: complex structures, multiphasic samples, impurities, peak overlaps
- Alternatives: electron crystallography (EC), high-resolution transmission electron microscopy (HRTEM)
- Requires considerable expertise on the operation of electron microscopes and crystallography
SOLUTION: to use CNN to predict crystal structure from any XRD pattern
This project will aim to use CNN to predict the crystal structure of a sample based upon its XRD pattern. In all cases, the users will inputting the XRD pattern that they obtained into our XRayDawgz, which will return a predicted crystal structure.
|- README.md
|- docs/
|- Tech_review.pdf
|- functional_spec.md
|- component_spec.md
|- UW Final presentation.pdf
|- icon/
|- banner.png
|- icon.png
|- xraydawgz/
|- __init__.py
|- Core.py
|- version.py
|- Predict.py
|- crystal_structure_classifier.h5
|- XRD_Images/
|- Test/
|- BCC_test/
|- FCC_test/
|- Train/
|- BCC_train/
|- FCC_train/
|- demo_images/
|- BCC/
|- FCC/
|- Demo/
|- Demo_FCC_prediction.ipynb
|- demo.PNG
|- tests/
|- __init__.py
|- test_core.py
|- Images/
|- cut_image/
|- Test/
|- Train/
|- setup.py
|- .travis.yml
|- .coveragerc
|- .coverage.yml
|- environment.yml
|- .gitignore
|- LICENSE
|- requirements.txt
-
Install tensorflow and keras
conda install tensorflow
conda install keras
-
Use the following method to clone repo
The example below shows a user creating a jupyter notebook in the directory xraydawgz after cloning this repository. The user called the function with an input containing their path_to_folder with the images they would like to test.
-
Prepare the image of XRD pattern and place the image(s) in a folder.
-
In the XRayDawgz/xraydawgz, the user will:
import Predict
-
User will call Predict.crystal_structure("path_to_the_file_including_images"), you can readily check the path by dragging the file into the terminal!
predict.crystal_structure("path_to_the_file_included_image")