slmsuite.holography.toolbox.phase.axicon
- axicon(grid, f=(inf, inf), w=None)[source]
Returns an axicon lens, the phase farfield for a Bessel beam. A (elliptically)-cylindrical axicon blazes according to \(\vec{k}_g = w / \vec{f} / 2\) where \(w\) is the radius of the axicon. With a flat input amplitude over \([-w, w]\), this will produce a Bessel beam centered at \(z = \vec{f}\).
\[\phi(\vec{x}) = 2\pi \cdot \vec{k}_g \cdot |\vec{x}|\]- Parameters
grid ((array_like, array_like) OR
SLM
) – Meshgrids of normalized \(\frac{x}{\lambda}\) coordinates corresponding to SLM pixels, in(x_grid, y_grid)
form. These are precalculated and stored in anySLM
, so such a class can be passed instead of the grids directly.f (float OR (float, float)) – Focal length (center of the axicon diamond) in normalized \(\frac{x}{\lambda}\) units. Scalars are interpreted as a non-cylindrical isotropic axicon. Defaults to infinity (no axicon).
w (float OR None) – See
_determine_source_radius()
.
- Returns
The phase for this function.
- Return type
numpy.ndarray