Piston#

class deeptrack.aberrations.Piston(*args: tuple[Any, ...], coefficient: PropertyLike[float | list[float]] = 1, **kwargs: dict[str, Any])#

Bases: Zernike

Zernike polynomial with n=0, m=0.

This class represents the simplest Zernike polynomial, often referred to as the piston term, which has no radial or azimuthal variations (n=0, m=0). It adds a uniform phase contribution to the pupil function.

Parameters#

coefficient: PropertyLike[float or list of floats], optional

The coefficient of the polynomial. Default is 1.

Attributes#

n: int

The radial index of the Zernike polynomial (always 0 for Piston).

m: int

The azimuthal index of the Zernike polynomial (always 0 for Piston).

coefficient: PropertyLike[float or list of floats]

The coefficient of the polynomial.

Examples#

Apply a Piston Zernike phase aberration (n=0, m=0) to a simulated fluorescence image:

>>> import deeptrack as dt
>>> particle = dt.PointParticle(z=1 * dt.units.micrometer)
>>> piston_aberration = dt.Piston(coefficient=0.9)
>>> aberrated_optics = dt.Fluorescence(
>>>     pupil=piston_aberration,
>>> )
>>> aberrated_particle = aberrated_optics(particle)
>>> aberrated_particle.plot(cmap="gray")