rayoptics.parax.idealimager module

module to setup an ideal imager

class IdealImager(m, s, sp, tt, f)

Bases: tuple

f

focal length

m

(lateral) magnification

s

object distance from first principal plane, P1->Obj

sp

image distance from second principal plane, P2->Img

tt

total track length, tt = sp - s

ideal_imager_setup(**inputs)[source]

Calculate the ideal imaging properties given two independent parameters

Given 2 system parameters from the following list, this function calculates the remaining parameters.

Note that if specifying tt and f, their ratio, tt/f, must be greater than or equal to 4. A ValueError is raised otherwise.

For a typical system, the value of s is negative, i.e. the object is to the left of the first principal plane.

Example:

In [3]: m1s1 = ideal_imager_setup(m=-0.5, s=-10.0); m1s1
Out[3]: IdealImager(m=-0.5, s=-10.0, sp=5.0, tt=15.0, f=3.333333333333)

In [4]: s_inf_efl = ideal_imager_setup(s=-math.inf, f=25.0); s_inf_efl
Out[4]: IdealImager(m=-0.0, s=-inf, sp=25.0, tt=inf, f=25.0)
Parameters:
  • m – (lateral) magnification
  • s – object distance from first principal plane, P1->Obj
  • sp – image distance from second principal plane, P2->Img
  • tt – total track length, tt = sp - s
  • f – focal length
Returns:

IdealImager namedtuple

Raises:

ValueError – if tt/f < 4