API Reference
Beamline
WOBeamline — wofry beamline container with per-element propagation parameters. |
Optical Elements — Absorbers
WOSlit — wofry slit aperture supporting rectangular, circular, elliptical and multi-patch boundaries. |
|
WOBeamStopper — wofry beam-stopper (negative aperture) for 2D and 1D wavefronts. |
Optical Elements — Ideal Elements
|
Represents an ideal lens. |
WOScreen — wofry ideal screen (pass-through optical element) for 2D and 1D wavefronts. |
Optical Elements — Mirrors
WOMirror1D — wofry 1-D mirror with conic-surface height profile and Huygens-integral propagation. |
Optical Elements — Refractors
WOLens — wofry refractive lens (CRL) applying a complex transmission function to the wavefront. |
|
WOThinObject — wofry thin-object approximation applying a complex transmission from a refractive-index profile. |
|
|
WOThinObjectCorrector — wofry thin-object corrector applying a phase/amplitude correction grid to the wavefront. |
Optical Elements — Utilities
S4OpticalSurface — abstract base class for optical surface shapes used in wofryimpl mirror elements. |
|
S4Conic — conic-section optical surface (sphere, ellipsoid, paraboloid, hyperboloid, plane) for wofryimpl mirrors. |
|
Array-of-vectors utilities — element-wise cross, dot and normalisation operations on (N, 3) numpy arrays. |
Light Sources
WOLightSource — wofry light source producing Gaussian, plane or spherical wavefronts (1D and 2D). |
|
WOLightSourceH5File — wofry light source that loads a pre-computed wavefront from an HDF5 file. |
|
WOLightSourceCMD — wofry undulator light source using pySRU for on-axis spectral calculations. |
|
WOLightSourcePySRU — wofry undulator light source using pySRU for coherent-mode-decomposition wavefront generation. |
Propagators 1D
Fraunhofer1D — 1-D far-field (Fraunhofer) propagator implemented via a single FFT. |
|
Fresnel1D — 1-D near-field Fresnel propagator using FFT-based convolution with the transfer function. |
|
FresnelConvolution1D — 1-D near-field Fresnel propagator using direct spatial-domain convolution (scipy.signal.fftconvolve). |
|
FresnelZoom1D — 1-D zoomed Fresnel propagator allowing an arbitrary output sampling window via chirp-z resampling. |
|
|
FresnelZoomScalingTheorem1D — 1-D zoomed Fresnel propagator based on the scaling theorem (magnification-preserving FFT). |
Integral1D — 1-D Kirchhoff-Fresnel integral propagator (direct numerical integration, slow but accurate). |
Propagators 2D
Fraunhofer2D — 2-D far-field (Fraunhofer) propagator via 2-D FFT. |
|
Fresnel2D — 2-D near-field Fresnel propagator using FFT-based transfer-function convolution. |
|
FresnelConvolution2D — 2-D near-field Fresnel propagator using direct spatial-domain convolution (scipy.signal.fftconvolve). |
|
FresnelZoomXY2D — 2-D zoomed Fresnel propagator with independent zoom factors in x and y. |
|
Integral2D — 2-D Kirchhoff-Fresnel integral propagator (direct numerical integration; slow). |
Propagator Utilities
Tally — utility class for accumulating and plotting coherent-mode wavefront intensities. |
|
|
UndulatorCoherentModeDecomposition1D — pySRU-based 1-D coherent-mode decomposition of undulator radiation. |