SELFPHISH: Self-supervised, Physics-Informed Generative Networks for Phase Retrieval
Overview
SELFPHISH is a flexible data reconstruction framework that harnesses self-supervised, physics-informed generative networks. Unlike traditional methods that rely on complex algorithms, SELFPHISH leverages deep generative models guided by physical constraints to advance the phase retrieval process.
Originally designed for complex phase retrieval in tomography and holography, SELFPHISH is highly adaptable and can incorporate user-defined forward models for a wide range of advanced data reconstruction challenges.
Features
- Self-supervised, Physics-Informed Networks: Deep generative networks that are both self-supervised and physics-guided for state-of-the-art reconstruction.
- Specialized for Phase Retrieval: Optimized for phase retrieval and tomography tasks, ensuring precise and reliable reconstructions.
- Modular Design: Easily integrate custom forward models for diverse reconstruction challenges.
- Efficient and Scalable: Handles large datasets efficiently without compromising accuracy.
Installation
The following steps will help you set up the selfphish package in a Conda environment.
For General Users
-
Create & Activate a Conda Environment
conda create --name selfphish python=3.11 conda activate selfphish
-
Install SELFPHISH from PyPI
- For the default TensorFlow backend:
pip install selfphish
- For the PyTorch backend:
pip install "selfphish[pytorch]"
- For the default TensorFlow backend:
For Developers
If you are contributing to SELFPHISH development, follow these steps:
-
Create & Activate a Conda Environment
conda create --name selfphish python=3.11 conda activate selfphish
-
Clone the SELFPHISH Repository
git clone https://github.com/XYangXRay/selfphish.git cd selfphish
-
Install Required Packages in Editable Mode
python3 -m pip install -e .
Additional Notes
- Choosing a Backend:
- TensorFlow is recommended for production and TFX integration.
- PyTorch is popular for research and dynamic computation graphs.
- GPU Support:
- SELFPHISH is designed for GPU acceleration. Install the GPU versions of TensorFlow or PyTorch as needed. See their official documentation for details.
Examples
SELFPHISH includes ready-to-run examples for phase retrieval and tomography:
- Holography phase retrieval:
- X-ray tomography:
Citation
If you use SELFPHISH in your research or projects, please cite:
J. Synchrotron Rad. (2020). 27, 486-493.
Available at: https://doi.org/10.1107/S1600577520000831
Metadata
Release files for selfphish 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| selfphish-0.1.1.tar.gz | 20.5 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| selfphish-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.5 MB
Release files / selfphish-0.1.1.tar.gz
| Download URL | selfphish-0.1.1.tar.gz |
|---|---|
| Size | 20.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5e765cc5ef53d971ac02d611f18baa09e5a50565607d6057cfa9b9240c63b92f
|
|
BLAKE2b-256 checksum How to use checksums |
2c4202d45ae642517a7c4c0d7bf553907996890515d63880316dfd73a3719f6b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.5
|
Release files / selfphish-0.1.1-py3-none-any.whl
| Download URL | selfphish-0.1.1-py3-none-any.whl |
|---|---|
| Size | 30.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2b28c870cfe9916990e8dc2ace5c53c6ce2105d8b2e7dba1b341de5211be2b36
|
|
BLAKE2b-256 checksum How to use checksums |
14ca171ae0759f940c66596613b10ce92f4f6b8250a1caa4770decedc6725cfb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.5
|