Metadata-Version: 2.4
Name: motif-learn
Version: 0.1.2
Summary: Zernike feature representation and manifold learning of scanning transmission electron microscopy images
Author-email: Jiadong Dan <jiadong.dan@u.nus.edu>
License: MIT
Project-URL: Homepage, https://github.com/jiadongdan/motif-learn
Keywords: feature dimension reduction,manifold learning,Zernike Polynomials
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: numpy
Requires-Dist: scipy
Requires-Dist: tqdm
Requires-Dist: numba
Requires-Dist: scikit-image
Requires-Dist: scikit-learn
Requires-Dist: matplotlib
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Dynamic: license-file

![CI](https://github.com/jiadongdan/motif-learn/actions/workflows/ci.yml/badge.svg)
[![PyPI](https://img.shields.io/pypi/v/motif-learn)](https://pypi.org/project/motif-learn/)
[![Python](https://img.shields.io/pypi/pyversions/motif-learn)](https://pypi.org/project/motif-learn/)

![Logo](notebooks/motif-learn%20logo.png)

# motif-learn: machine learning in scanning transmission electron microscopy

Welcome to **motif-learn**, a Python package designed to apply machine learning techniques to scanning transmission electron microscopy (STEM) data. This tool enables researchers to identify and analyze structural motifs in atomic resolution images efficiently, offering a powerful way to explore materials with defects.

## Installation🛠️

```bash
pip install motif-learn
```

To install the latest development version directly from GitHub:

```bash
pip install git+https://github.com/jiadongdan/motif-learn.git
```

## How to use motif-learn👨‍🏫

* 📘[Introduction to Zernike polynimials.](https://github.com/jiadongdan/motif-learn/blob/main/notebooks/1%20Introduction%20to%20Zernike%20polynomials.ipynb)
* 🔧[How to use `ZPs`?](https://github.com/jiadongdan/motif-learn/blob/main/notebooks/2%20How%20to%20use%20ZPs.ipynb)
* 🔷[How to extract symmetry information using `zmoments`?](https://github.com/jiadongdan/motif-learn/blob/main/notebooks/3%20How%20to%20extract%20symmetry%20maps.ipynb)
* 🧩[How to automatically estimate patch size from image?](https://github.com/jiadongdan/motif-learn/blob/main/notebooks/4%20Automatic%20determination%20of%20patch%20size.ipynb)

## License⚖️

`motif-learn` is licensed under the MIT License. For more details, see the [LICENSE](https://github.com/jiadongdan/motif-learn/blob/main/LICENSE.txt) file.

## Citation📜

If you find this project useful, please cite:

> [**Dan, Jiadong**](https://jiadongdan.github.io/), Xiaoxu Zhao, Shoucong Ning, Jiong Lu, Kian Ping Loh, Qian He, N. Duane Loh, and Stephen J. Pennycook. "Learning motifs and their hierarchies in atomic resolution microscopy." *Science Advances* 8, no. 15 (**2022**): eabk1005. 📄[[paper]](https://www.science.org/doi/10.1126/sciadv.abk1005)

> [**Dan, Jiadong**](https://jiadongdan.github.io/), Cheng Zhang, Xiaoxu Zhao and N. Duane Loh. " Symmetry quantification and segmentation in STEM imaging through Zernike moments." *Chinese Physics B*, (**2024**). 📄[[paper]](https://iopscience.iop.org/article/10.1088/1674-1056/ad51f4)

