pyoptools.paraxial package

Submodules

Module contents

class pyoptools.paraxial.PApe(r_app, d, n)

Bases: PPlane

propagate(ray, na)

Calculates the full ray (u,v) diffraction+propagation.

Returns:

PRay instance or None

r_mat(na)

Las “pupilas” no refractan

class pyoptools.paraxial.PImg(h=None)

Bases: PObj

class pyoptools.paraxial.PObj(h, d, n)

Bases: PPlane

r_mat(n)

Los “objetos” no refractan

class pyoptools.paraxial.PPlane(d, n=1)

Bases: PSurface

Class to define a paraxial plane surface

r_mat(na)

Matriz de la superficie correspondiente a la refracción

class pyoptools.paraxial.PSpherical(curv, d, n)

Bases: PSurface

r_mat(na)

Method that returns the paraxial matrix representation used to calculate the refraction of the (y,u) ray on the surface. It must be overloaded by all the PSurface childrens.

class pyoptools.paraxial.PSurface(d, n=1)

Bases: object

Superclass to define paraxial surfaces

matrix(na)

Return the full diffraction + propagation matrix related to the surface when the previous refractive index is na

p_mat()

Method that returns the paraxial matrix representation used to calculate the (y,u) ray propagation a distance of d

propagate(ray, na)

Calculates the full ray (u,v) diffraction+propagation.

Returns:

PRay instance

abstractmethod r_mat()

Method that returns the paraxial matrix representation used to calculate the refraction of the (y,u) ray on the surface. It must be overloaded by all the PSurface childrens.

class pyoptools.paraxial.PSystem(lst)

Bases: object

get_marginal_ray()

Obtener el rayo marginal del sistema S.

get_matrix(ua=False)

Get total system matrix if ua == True, stop at the first system aperture found

get_principal_ray()
propagate(ray)

Calculates the full ray (u,v) diffraction+propagation.

Returns:

PRay instance or None

reverse()