Skip to content
/ autoXRD Public

Automatic XRD classification for thin-film materials using CNNs, Class Activation Maps and Data Augmentation

License

Notifications You must be signed in to change notification settings

PV-Lab/autoXRD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

autoXRD

Description

autoXRD is a python package for automatic XRD pattern classification of thin-films, tweaked for small and class-imbalanced datasets. The main application of the package is high-throughput screening of novel materials.

autoXRD performs physics-informed data augmentation to solve the small data problem, implements a state-of-the-art a-CNN architecture and allows interpretation using Average Class Activation Maps (CAMs), according to the following publications:

"Oviedo, F., Ren, Z., Sun, S., Settens, C., Liu, Z., Hartono, N. T. P., ... & Buonassisi, T. (2019). Fast and interpretable classification of small X-ray diffraction datasets using data augmentation and deep neural networks. npj Computational Materials, 5(1), 60." Link: https://doi.org/10.1038/s41524-019-0196-x

"Fast classification of small X-ray diffraction datasets using data augmentation and deep neural networks, (2019), Felipe Oviedo, Zekun Ren, et. al. Link: arXiv:1811.08425v

Accepted to NeurIPS 2018 ML for Molecules and Materials Workshop. Final version published npj Computational Materials 2019

Installation

To install, just clone the following repository:

$ git clone https://github.com/PV-Lab/autoXRD.git

Usage

Just run space_group_a_CNN.py , with the given datasets. Note that this performs classification for patterns into 7 space-groups. Dimensionality data is not included in the code, please contact authors if interested. The package contains the following module and scripts:

Module Description
space_group_a_CNN.py Script for XRD space-group classification with a-CNN
autoXRD Module dedicated to XRD pattern preprocessing and data augmentation
autoXRD_vis Visualizer module for class activation maps (CAMs)
Demo / XRD_dimensionality_demo.ipynb Notebook containing a demo for physics-informed data augmentation. This is a version with a modified CNN and no CAM to speed up the computation

Authors

Felipe Oviedo and "Danny" Zekun Ren

AUTHORS Felipe Oviedo and "Danny" Ren Zekun
VERSION 1.0 / May, 2019
EMAIL OF REPO OWNER [email protected]

Attribution

This work is under an Apache 2.0 License and data policies of Nature Partner Journal Computational Materials. Please, acknowledge use of this work with the apropiate citation.

Citation

@article{oviedo2019fast, 
title={Fast and interpretable classification of small X-ray diffraction datasets using data augmentation and deep neural networks},
author={Oviedo, Felipe and Ren, Zekun and Sun, Shijing and Settens, Charles and Liu, Zhe and Hartono, Noor Titan Putri and Ramasamy, Savitha and DeCost, Brian L and Tian, Siyu IP and Romano, Giuseppe and others},
journal={npj Computational Materials},
volume={5},
number={1},
pages={60},
year={2019},
publisher={Nature Publishing Group}}

About

Automatic XRD classification for thin-film materials using CNNs, Class Activation Maps and Data Augmentation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages