Metadata-Version: 2.1
Name: ptyrodactyl
Version: 2024.12.23
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://code.ornl.gov/intersect-em/pterodactyl
Keywords: elecron microscopy,4D-STEM,JAX,ptychography
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Environment :: GPU :: NVIDIA CUDA
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]>=0.4.17
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

# 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.
