pyoptools.wavefront.psurfrep.psurfrep module

class pyoptools.wavefront.psurfrep.psurfrep.PSurf(s, ni=1, nr=1, ilimit=0, slimit=1.3, l=0.000633, step=0.05, order=10, rsamples=(500, 500), zb=None)

Bases: object

Class used to describe the wave transfer function of an optical surface using a polynomial representation algorithm.

propagate(wf, pt=0.001, samples=(512, 512))

Propagate a Wavefront through the modelled surface.

ARGUMENTS

wf

wave front to propagate

pt

Percentage of the power spectrum that must be truncated. If no truncation is intended, set to 1

samples

Samples of the resulting wave

pw_evaluate(k, samples=(512, 512), gpu=True)

Plane wave evaluate

Arguments:

k – Propagation direction of the incident plane wave

wf_polys(k)

Return the polynomials that describe the wavefront

(fase_poly, i_poly)