Skip to main content

pylorenzmie

PyPI version Python versions License Documentation DOI Tests

Python routines for tracking and characterizing colloidal particles with in-line holographic video microscopy (HVM)

What pylorenzmie does

pylorenzmie provides a set of python classes for interacting with and analyzing holographic microscopy data. The hologram of a colloidal particle encodes comprehensive information about the particle's size, composition, and location in three dimensions. This package extracts that information by fitting a recorded hologram to a generative model based on the Lorenz-Mie theory of light scattering.

Typical Hologram

Documentation

The documentation is on Read the Docs:

  • the quickstart shows how to compute and fit holograms,
  • the API reference describes the classes, and
  • the changelog lists what changed in each release and how to update.

The tutorial notebooks are rendered on GitHub: fitting a hologram, analyzing a frame, fitting a single frame, holograms of several spheres, video analysis and the building blocks of the model. The documentation of the development version is here.

To report a problem or to contribute, see CONTRIBUTING.md.

Installation

pylorenzmie requires Python 3.11 or later:

pip install pylorenzmie

Optional extras add faster calculators: pip install pylorenzmie[numba] (recommended: a fast CPU calculator), pylorenzmie[torch] (GPUs, including Apple silicon), pylorenzmie[gpu] (NVIDIA GPUs with CuPy), pylorenzmie[jax] and pylorenzmie[gui] (PyQt6 and PyTables, which the lmtool application needs). Extras can be combined, as in pip install pylorenzmie[numba,torch].

Example

Compute the hologram of a polystyrene sphere that is 1 micrometer in radius and 200 pixels from the focal plane:

from pylorenzmie.theory import LorenzMie, Sphere

model = LorenzMie()
model.coordinates = model.meshgrid((201, 201))
model.particle = Sphere(a_p=1., n_p=1.59, x_p=100., y_p=100., z_p=200.)
hologram = model.hologram().reshape(201, 201)

The quickstart goes on to fit recorded holograms.

Interactive particle tracking and characterization

pylorenzmie includes a GUI application called lmtool for interacting with experimentally recorded holograms.

LMTool image screen LMTool profile screen LMTool fit screen

Authors

David G. Grier (New York University), Lauren Altman, Fook Chiong Cheong, Mark D. Hannel, Sanghyuk Lee, Michael O'Brien, Sarah Odeh, Kaitlynn Snyder, Jackie Sustiel

Licensing.

GPLv3

References:

Lorenz-Mie analysis of colloidal particles

  1. S.-H. Lee, Y. Roichman, G.-R. Yi, S.-H. Kim, S.-M. Yang, A. van Blaaderen, P. van Oostrum and D. G. Grier, "Characterizing and tracking single colloidal particles with video holographic microscopy," Optics Express 15, 18275-18282 (2007).
  2. C. Martin, L. E. Altman, S. Rawat, A. Wang, D. G. Grier and V. N. Manoharan, "In-line holographic microscopy with model-based analysis," Nature Reviews Methods Primers 2, 83 (2022).

Lorenz-Mie theory of light scattering

  1. C. F. Bohren and D. R. Huffman, Absorption and Scattering of Light by Small Particles (Wiley 1983).
  2. M. I. Mishchenko, L. D. Travis and A. A. Lacis, Scattering Absorption and Emission of Light by Small Particles (Cambridge University Press, 2002).
  3. G. Gouesbet and G. Gréhan, Generalized Lorenz-Mie Theories (Springer, 2011).

Computational methods

  1. W. Yang, "Improved recursive algorithm for light scattering by a multilayered sphere," Applied Optics 42, 1710--1720 (2003).
  2. O. Pena and U. Pal, "Scattering of electromagnetic radiation by a multilayered sphere," Computer Physics Communications 180, 2348-2354 (2009).
  3. W. J. Wiscombe, "Improved Mie scattering algorithms," Applied Optics 19, 1505-1509 (1980).
  4. A. A. R. Neves and D. Pisignano, "Effect of finite terms on the truncation error of Mie series," Optics Letters 37, 2481-2420 (2012).

Acknowledgements

Work on this project at New York University is supported by the National Science Foundation of the United States under award number DMR-2428983.

Metadata

Release files for pylorenzmie 3.4.0

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

Source distribution (sdist)

Source distribution for pylorenzmie 3.4.0
File Size Uploaded
pylorenzmie-3.4.0.tar.gz 3.7 MB Details

Built distribution (wheel)

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

Total release size: 7.4 MB

Release files / pylorenzmie-3.4.0.tar.gz

Download URL pylorenzmie-3.4.0.tar.gz
Size 3.7 MB
Tags Source
SHA-256 checksum
How to use checksums
ea0ea95a506c033c6fb82fc2259d0436dc6328206aaacda34b3a4c92295b3fdb
BLAKE2b-256 checksum
How to use checksums
832b008dcde0c42599ffabf756164c03a8afebea3e1bc8dd9008ddcd038b6b4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / pylorenzmie-3.4.0-py3-none-any.whl

Download URL pylorenzmie-3.4.0-py3-none-any.whl
Size 3.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
65ce78c1896cae1f82c7e7605bd04554f2e38283c0c2eff73ac567b31fe66080
BLAKE2b-256 checksum
How to use checksums
655ed2f049480f811d938e581be205c060096e242e69824105e15877ba2aef64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

3.4.0 This release

2 release files

3.3.2

2 release files

3.3.1

2 release files

3.3.0

2 release files

3.2.0

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.3.0

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

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