Skip to main content

Wave-optical simulations and deconvolution of optical properties

Project description

waveorder

PyPI - Python Version Downloads Python package index Development Status

This computational imaging library enables wave-optical simulation and reconstruction of optical properties that report microscopic architectural order.

Computational label-free imaging

This vectorial wave simulator and reconstructor enabled the development of a new label-free imaging method, permittivity tensor imaging (PTI), that measures density and 3D orientation of biomolecules with diffraction-limited resolution. These measurements are reconstructed from polarization-resolved images acquired with a sequence of oblique illuminations.

The acquisition, calibration, background correction, reconstruction, and applications of PTI are described in the following preprint:

 L.-H. Yeh, I. E. Ivanov, B. B. Chhun, S.-M. Guo, E. Hashemi, J. R. Byrum, J. A. Pérez-Bermejo, H. Wang, Y. Yu, P. G. Kazansky, B. R. Conklin, M. H. Han, and S. B. Mehta, "uPTI: uniaxial permittivity tensor imaging of intrinsic density and anisotropy," bioRxiv 2020.12.15.422951 (2020).

In addition to PTI, waveorder enables simulations and reconstructions of subsets of label-free measurements with subsets of the acquired data:

  1. Reconstruction of 2D or 3D phase, projected retardance, and in-plane orientation from a polarization-diverse volumetric brightfield acquisition (QLIPP)

  2. Reconstruction of 2D or 3D phase from a volumetric brightfield acquisition (2D/3D (PODT) phase)

  3. Reconstruction of 2D or 3D phase from an illumination-diverse volumetric acquisition (2D/3D differential phase contrast)

PTI provides volumetric reconstructions of mean permittivity ($\propto$ material density), differential permittivity ($\propto$ material anisotropy), 3D orientation, and optic sign. The following figure summarizes PTI acquisition and reconstruction with a small optical section of the mouse brain tissue:

Data_flow

The examples illustrate simulations and reconstruction for 2D QLIPP, 3D PODT, and 2D/3D PTI methods.

If you are interested in deploying QLIPP or PODT for label-free imaging at scale, checkout our napari plugin, recOrder-napari.

Correlative imaging

In addition to label-free reconstruction algorithms, waveorder also implements widefield fluorescence and fluorescence polarization reconstruction algorithms for correlative label-free and fluorescence imaging.

  1. Correlative measurements of biomolecular density and orientation from polarization-diverse widefield imaging (multimodal Instant PolScope)

We provide an example notebook for widefield fluorescence deconvolution.

Citation

Please cite this repository, along with the relevant preprint or paper, if you use or adapt this code. The citation information can be found by clicking "Cite this repository" button in the About section in the right sidebar.

Installation

(Optional but recommended) install anaconda and create a virtual environment:

conda create -y -n waveorder python=3.11
conda activate waveorder

Install waveorder from PyPI:

pip install waveorder

Use waveorder in your scripts:

python
>>> import waveorder

(Optional) Download the repository, install jupyter, and experiment with the example notebooks

git clone https://github.com/mehta-lab/waveorder.git
pip install jupyter
jupyter notebook ./waveorder/examples/

(M1 users) pytorch has incomplete GPU support, so please use export PYTORCH_ENABLE_MPS_FALLBACK=1 to allow some operators to fallback to CPU if you plan to use GPU acceleration for polarization reconstruction.

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

waveorder-2.2.0rc0.tar.gz (65.8 MB view details)

Uploaded Source

Built Distribution

waveorder-2.2.0rc0-py3-none-any.whl (80.2 kB view details)

Uploaded Python 3

File details

Details for the file waveorder-2.2.0rc0.tar.gz.

File metadata

  • Download URL: waveorder-2.2.0rc0.tar.gz
  • Upload date:
  • Size: 65.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for waveorder-2.2.0rc0.tar.gz
Algorithm Hash digest
SHA256 a098ba6f8e06a424c7646bd2681c92aad7dabc49f5f647947c2cb58e346d217c
MD5 32704a6e35832b6c0fafd3c189ffde01
BLAKE2b-256 13046f458bbd21bcf5afed6900d7beafaf8ef471314558f513daa1dc5d16078e

See more details on using hashes here.

File details

Details for the file waveorder-2.2.0rc0-py3-none-any.whl.

File metadata

  • Download URL: waveorder-2.2.0rc0-py3-none-any.whl
  • Upload date:
  • Size: 80.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for waveorder-2.2.0rc0-py3-none-any.whl
Algorithm Hash digest
SHA256 cea23355ea6d2cf6fd02786c666cb099350a2ab11e9726610e554d3783f46cb0
MD5 d1eeb3c9b68121ca4f188c80cae00987
BLAKE2b-256 c74d2c9a5f02b2c9f88e2b1aa2e28128d945dc78c5184ab817a5a1cb8fba2aad

See more details on using hashes here.

Supported by

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