Skip to main content

Vector electromagnetic field calculations in the focus of high NA microscope objectives.

Project description

Just Focus

Tests

Just Focus is a Python package for computing vectorial electromagnetic fields in the focus of high numerical aperture microscope objectives.

Quickstart

Compute the field in the focal plane (z = 0.0) of a NA 1.4 oil immersion microscope objective assuming a linearly polarized, paraxial Gaussian beam with a waist size equal to the radius of the objective's back aperture. Use a hyperbolic tangent function to smooth the boundary of the stop and zero pad the mesh so that the final square mesh has 64 * 2^4 = 1024 samples in each direction.

import numpy as np

from leb.just_focus import InputField, Polarization, Pupil, Stop

mesh_size = 64
pupil = Pupil(
    na=1.4,
    refractive_index=1.518,
    wavelength_um=0.561,
    mesh_size=mesh_size,
    stop=Stop.TANH,
)

inputs = InputField.gaussian_pupil(
    beam_center=(0.0, 0.0),
    waist=1.0,
    mesh_size=mesh_size,
    polarization=Polarization.LINEAR_Y,
)

results = pupil.propgate(0.0, inputs, padding_factor=4)

Development

Set up the development environment

Development requires uv.

After cloning this repo, run the following command from the project's root directory:

uv sync --all-extras

This will create a virtual environment with the required dependencies in a folder named .venv.

Tests

Just run pytest from the project's root directory:

pytest

Other Packages to Compute Vectorial Focal Fields

Resources

  • I. Herrera and P. A. Quinto-Su, "Simple computer program to calculate arbitrary tightly focused (propagating and evanescent) vector light fields," arXiv:2211.06725 (2022). https://doi.org/10.48550/arXiv.2211.06725.

This manuscript describes the specific numerical implementation of the vectorial field propagation algorithm used here.

This blog post explains how to set up the various coordinate systems and numerical meshes for evaluating the results of the Richards-Wolf model for high NA objectives.

This manuscript was the first to describe the calculation of vectorial focal fields using the fast Fourier transform.

Chapter 3 contains the derivation of the field at the focus of an aplanatic lens.

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

just_focus-0.2.0.tar.gz (61.9 kB view details)

Uploaded Source

Built Distribution

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

just_focus-0.2.0-py3-none-any.whl (22.4 kB view details)

Uploaded Python 3

File details

Details for the file just_focus-0.2.0.tar.gz.

File metadata

  • Download URL: just_focus-0.2.0.tar.gz
  • Upload date:
  • Size: 61.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for just_focus-0.2.0.tar.gz
Algorithm Hash digest
SHA256 4e1808cfc4c08bd8156a007a529c11244c8fcc510ce467e1e086184bfddf3de7
MD5 bdfa13f353e8f69ad169c658ad282c72
BLAKE2b-256 9debfc1c69dd7a91941214fe14488d0eb19a1c3c4c636649e87081eb652a7392

See more details on using hashes here.

Provenance

The following attestation bundles were made for just_focus-0.2.0.tar.gz:

Publisher: pypi.yml on LEB-EPFL/just-focus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file just_focus-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: just_focus-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 22.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for just_focus-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1495bab1ff8f7052063db4c510adc8ceb8321d10f86ba90ddaa9e3b640fd907b
MD5 d553c68706eec46b72936021cec489ff
BLAKE2b-256 2e440eaf059b8de1a0164e2752a57943f30a0fa5528aa8424742fedd423ae670

See more details on using hashes here.

Provenance

The following attestation bundles were made for just_focus-0.2.0-py3-none-any.whl:

Publisher: pypi.yml on LEB-EPFL/just-focus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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