Skip to main content

Pty-chi is a package of ptychography reconstruction engines

Project description

Pty-chi Logo

Welcome to the repository of Pty-chi, a PyTorch-based ptychography reconstruction library!

https://zenodo.org/badge/858453195.svg

Installation

Standard installation

The easiest way to install the latest release is through PyPI.

First, create a new conda environment with Python 3.11:

conda create -n ptychi python=3.11

Then install Pty-Chi using:

pip install ptychi

Developer installation

Use developer installation when you want to modify the code and test the changes, or when you run into build issues that drive you to install the package from source. We recommend using Conda/pip or uv for environment and package management.

Option 1: Installation with uv

Uv is a modern lightweight package manager for Python featuring fast speed and deterministic builds. When creating a uv virtual environment, the environment directory and all the packages inatalled in it are kept in the current working directory – unlike Conda, where the environments are centrally managed. Therefore, first cd into the root level of your local clone of Pty-Chi, and then create a new uv virtual environment with Python 3.11:

uv venv --python 3.11

Activate the environment:

source .venv/bin/activate

Then install Pty-Chi and its dependencies using:

uv pip install -r requirements.txt
uv pip install -e .

Option 2: Installation with Conda and pip

To install the latest code in the main branch, clone the repository to your workspace, and create a new conda environment using:

conda create -n ptychi python=3.11

Then install the package and its dependencies using:

pip install -r requirements.txt
pip install -e .

How to run test scripts

  1. Contact the developers to be given access to the APS GitLab repository that holds test data. You need to have an account on APS GitLab.

  2. After gaining access, clone the GitLab data repository to your hard drive.

  3. Set PTYCHO_CI_DATA_DIR to the ci_data directory of the data repository: export PTYCHO_CI_DATA_DIR="path_to_data_repo/ci_data".

  4. Run any test scripts in tests with Python.

To use non-Nvidia GPUs

Pty-Chi works on GPUs from different vendors than NVidia. For example, Intel. To run Pty-Chi with Intel GPUs, add these lines right after importing torch and ptychi:

torch.set_default_device("xpu")
ptychi.device.set_torch_accelerator_module(torch.xpu)

Reading documentations

Pty-Chi’s documentation is hosted on Read the Docs.

You can also build the docs and view them in your browser locally. To build the docs, install the dependencies as the first step:

pip install -r docs/requirements.txt

Then:

cd docs
make html

You can then view the docs by opening docs/build/html/index.html in your browser.

Developer’s Guide

Please refer to the developer’s guide for more information on how to contribute to the project. The developer’s guide is hosted on the Wiki page of Pty-Chi’s APS GitLab repository. To gain access to the APS GitLab repository, please contact the developers.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ptychi-1.2.0.tar.gz (277.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ptychi-1.2.0-py3-none-any.whl (152.2 kB view details)

Uploaded Python 3

File details

Details for the file ptychi-1.2.0.tar.gz.

File metadata

  • Download URL: ptychi-1.2.0.tar.gz
  • Upload date:
  • Size: 277.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for ptychi-1.2.0.tar.gz
Algorithm Hash digest
SHA256 060b628ec39d2efa2d686a15eee399aaf1e89ddd1f3654b5b160486fb344686a
MD5 8da732905e5334bfaeeef7b23037249d
BLAKE2b-256 ab2ab701451c5d79767bea2b113e1b3f0c6d75e0b9278b0f63f33371519558ae

See more details on using hashes here.

File details

Details for the file ptychi-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: ptychi-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 152.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for ptychi-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1a983caa3aff7067b726d56e3df2ccdfebfeb4f2e555fb3649a1d222ee076f93
MD5 76921d2c8d2057e56be6d0bea0f42ddf
BLAKE2b-256 02c0c0bbff4cc28db3f396d8cd82f2648ad201ae795368aa816d4c52a7a988c6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page