Skip to main content

pyDHM

An open-source Python library to numerically recover the complex wavefield information of samples from Digital Holographic Microscopy (DHM) for a wide variety of experimental recording configurations. Among others, the library includes:

  • Phase retrieval from image-plane and non-image-plane recordings.
  • Numerical propagation of wavefields via three different propagators (Angular spectrum approach, Fresnel transform, and Fresnel-Bluestein transform).
  • Phase compensation of the tilting angle in off-axis DHM (diffraction-limited and non-diffraction-limited recordings) via three different approaches.
  • Phase-shifting methods for both in-line (3-step, 4-step, and 5-step), slightly off-axis acquisitions (quadrature phase-shifting), and two blind phase-shifting methods (No known phase-shifts).
  • Phase recovery for systems working in telecentric and non-telecentric (compensation of the quadrature phase factor) regimes.

Installation

You can install pyDHM from PyPI:

pip install pyDHM

pyDHM is supported on Python 3.7 and above.

To use pyDHM, you must install opencv (cv2) and scipy in your enviroment.

Documentation

The pyDHM documentation page can be found in Project Documentation.

How to use

Three sample scripts are provided:

  • The “example_numericalPropagation.py” script includes examples of the use of the three numerical propagators implemented in the library to digitally focus complex wavefields.
  • The “examples_compensation.py” script includes examples of the use of the three compensation methods for telecentric off-axis DHM holograms and one example of the non-telecentric wavefield compensation.
  • The “examples_phaseShitting.py” script includes examples of the use of two phase-shifting retrieval methods for slightly off-axis DHM holograms and three phase-shifting retrieval methods for in-line setups.

More on the use of the pyDHM library can be found in the following academic papers:

Castañeda R, Trujillo C, Doblas A (2022) pyDHM: A Python library for applications in digital holographic microscopy. PLoS ONE 17(10): e0275818. https://doi.org/10.1371/journal.pone.0275818

R. Castaneda, C. Trujillo, and A. Doblas, "An Open-Source Python library for Digital Holographic Microscopy Imaging," in Imaging and Applied Optics Congress 2022 (3D, AOA, COSI, ISA, pcAOP), Technical Digest Series (Optica Publishing Group, 2022), paper JTh2A.1. https://opg.optica.org/abstract.cfm?URI=3D-2022-JTh2A.1

About us

The library has been envisioned, designed, and implemented by the Optical Imaging Research laboratory (OIRL) from the University of Memphis and the Applied Optics research group from Universidad EAFIT. The main contributors to the library are:

PhD candidate Raúl Castañeda-Quintero (University of Memphis) rcstdqnt@memphis.edu

Professor Dr. Ana Doblas (University of Memphis) adoblas@memphis.edu

Professor Dr. Carlos Trujillo (Universidad EAFIT) catrujilla@eafit.edu.co

Metadata

Release files for pyDHM 1.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyDHM 1.0.5
File Size Uploaded
pyDHM-1.0.5.tar.gz 15.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyDHM 1.0.5
File Interpreter ABI Platform
pyDHM-1.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 34.7 kB

Release files / pyDHM-1.0.5.tar.gz

Download URL pyDHM-1.0.5.tar.gz
Size 15.7 kB
Tags Source
SHA-256 checksum
How to use checksums
8823ea95af96e591ea797135bdb202584ac0eca6cd645f26b7637ed58b9fb7b8
BLAKE2b-256 checksum
How to use checksums
1e3b3a0b4776c54672b64efdb64c2c362eb773107402ce98c85c3dd3d951a5c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.7.9

Release files / pyDHM-1.0.5-py3-none-any.whl

Download URL pyDHM-1.0.5-py3-none-any.whl
Size 19.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9e7b05c2b0107cc04a86c61c535ecc552aa35d97ea0f125d2e4383c8eedd3f84
BLAKE2b-256 checksum
How to use checksums
39093942c8d197fcb98d92a86394b2e492bcce8b0729bb9dbd7300ac2a32a9be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.7.9

Release history Release notifications | RSS feed

This release

1.0.5 This release

2 release files

1.0.4

2 release files

1.0.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page