Metadata-Version: 2.4
Name: ptyrodactyl
Version: 2025.5.7
Summary: Ptychography through differentiable programming in JAX
Author-email: Debangshu Mukherjee <mukherjeed@ornl.gov>
Maintainer-email: Debangshu Mukherjee <mukherjeed@ornl.gov>
Project-URL: Homepage, https://github.com/debangshu-mukherjee/ptyrodactyl
Keywords: elecron microscopy,optical microscopy,4D-STEM,JAX,ptychography
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: numpy>=1.13.0
Requires-Dist: scipy>=1.0.0
Requires-Dist: matplotlib>=2.2.0
Requires-Dist: matplotlib-scalebar>=0.5.0
Requires-Dist: tqdm>=4.66.0
Requires-Dist: jax[cuda12]
Requires-Dist: jaxtyping>=0.2.21
Requires-Dist: chex>=0.1.85
Requires-Dist: optax>=0.1.8
Requires-Dist: pytest>=8.0.0
Requires-Dist: beartype>=0.19.0
Requires-Dist: black[jupyter]>=25.1.0
Requires-Dist: twine>=6.1.0
Requires-Dist: ipykernel>=6.29.5
Provides-Extra: docs
Requires-Dist: ipykernel>=6.29.5; extra == "docs"
Requires-Dist: myst-parser>=4.0.1; extra == "docs"
Requires-Dist: nbsphinx>=0.9.6; extra == "docs"
Requires-Dist: pydata-sphinx-theme>=0.16.1; extra == "docs"
Requires-Dist: sphinx>=8.1.3; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=3.0.2; extra == "docs"
Requires-Dist: sphinxcontrib-napoleon>=0.7; extra == "docs"

[![PyPI Downloads](https://static.pepy.tech/badge/ptyrodactyl)](https://pepy.tech/projects/ptyrodactyl)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![PyPI version](https://badge.fury.io/py/ptyrodactyl.svg)](https://badge.fury.io/py/ptyrodactyl)
[![Documentation Status](https://readthedocs.org/projects/ptyrodactyl/badge/?version=latest)](https://ptyrodactyl.readthedocs.io/en/latest/?badge=latest)
[![DOI](https://zenodo.org/badge/905915185.svg)](https://doi.org/10.5281/zenodo.14861992)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

# Ptychography through Differentiable Programming

The aim of this project is to write the _forward_ problem: aka writing the microscope data generation, both for electron and optical microscopes in [JAX](https://github.com/google/jax) so that it's end to end differentiable and using this differentiability to run modern optimizers such as [Adam](
https://doi.org/10.48550/arXiv.1412.6980
) and [Adagrad](https://arxiv.org/abs/2003.02395) to solve for the inverse problem - which is ptychography in our case.

All the work here is in Python, performed on a x64 based processor workstation, running Ubuntu Linux 22.04. However, none of the packages here have Linux as a dependency, so this should run in Windows/Mac environments too -- just the path commands may be a bit different.

This will install the package as `ptyrodactyl`, which is the package that all the codes are.


The codes themselves are in the _src_ directory, following the modern toml convention as the _ptyrodactyl_ folder.
