rayoptics.parax.firstorder module
Functions to support paraxial ray tracing a sequential optical model
- class ParaxData(ax_ray, pr_ray, fod)
Bases:
tuple
- ax_ray
axial marginal ray data, y, u, i
- fod
instance of
FirstOrderData
- pr_ray
chief ray data, y, u, i
- class FirstOrderData[source]
Bases:
object
Container class for first order optical properties
All quantities are based on paraxial ray tracing. The last interface is the image-1 interface.
- opt_inv
optical invariant
- power
optical power of system
- efl
effective focal length
- fl_obj
object space focal length, f
- fl_img
image space focal length, f’
- pp1
distance from the 1st interface to the front principle plane
- ppk
distance from the last interface to the rear principle plane
- pp_sep
distance from the front principle plane to the rear principle plane
- ffl
front focal length, distance from the 1st interface to the front focal point
- bfl
back focal length, distance from the last interface to the back focal point
- fno
focal ratio at working conjugates, f/#
- m
transverse magnification
- red
reduction ratio, -1/m
- n_obj
refractive index at central wavelength in object space
- n_img
refractive index at central wavelength in image space
- obj_dist
object distance
- img_dist
paraxial image distance
- obj_ang
maximum object angle (degrees)
- img_ht
image height
- enp_dist
entrance pupil distance from 1st interface
- enp_radius
entrance pupil radius
- exp_dist
exit pupil distance from last interface
- exp_radius
exit pupil radius
- obj_na
numerical aperture in object space
- img_na
numerical aperture in image space
- paraxial_trace(path, start, start_yu, start_yu_bar)[source]
perform a paraxial raytrace of 2 linearly independent rays
- get_parax_matrix(p_ray, q_ray, kth, n_k)[source]
Calculate transfer matrix and inverse from 1st to kth surface.
- compute_first_order(opt_model, stop, wvl, src_model=None)[source]
Returns paraxial axial and chief rays, plus first order data.
- compute_principle_points(path, oal, n_0=1.0, n_k=1.0)[source]
Returns paraxial p and q rays, plus partial first order data.
- Parameters:
path – an iterator containing interfaces and gaps to be traced. for each iteration, the sequence or generator should return a list containing: Intfc, Gap, Trfm, Index, Z_Dir
oal – overall geometric length of the gaps in path
n_0 – refractive index preceding the first interface
n_k – refractive index following last interface
- Returns:
(p_ray, q_ray, (efl, fl_obj, fl_img, pp1, ppk, ffl, bfl))
p_ray: [ht, slp, aoi], [1, 0, -]
q_ray: [ht, slp, aoi], [0, 1, -]
power: optical power of system
efl: effective focal length
fl_obj: object space focal length, f
fl_img: image space focal length, f’
pp1: distance from the 1st interface to the front principle plane
ppk: distance from the last interface to the rear principle plane
- pp_sep: distance from the front principle plane to the rear
principle plane
- ffl: front focal length, distance from the 1st interface to the
front focal point
- bfl: back focal length, distance from the last interface to the back
focal point
- list_parax_trace_fotr(opt_model, reduced=False)[source]
list the paraxial axial and chief ray data
This function lists the paraxial data as calculated by
paraxial_trace()
for the seq_model.