pado.optical_element.phase2height

phase2height(phase_u, wvl, RI, minh=0)[source]

Convert phase change to material height.

Note that phase to height mapping is not one-to-one. There exists an integer phase wrapping factor:

height = wvl/(RI-1) * (phase_u + i*2π), where i is integer

This function uses minimum height minh to constrain the conversion. Minimal height is chosen such that height is always >= minh.

Parameters:
  • phase_u (torch.Tensor) – Phase change of light

  • wvl (float) – Wavelength of light in meters

  • RI (float) – Refractive index of material at given wavelength

  • minh (float) – Minimum height constraint in meters

Returns:

Material height that induces the phase change

Return type:

torch.Tensor

Examples

>>> phase = torch.ones((1,1,1024,1024)) * np.pi
>>> height = phase2height(phase, 633e-9, 1.5, minh=100e-9)  # 100nm min height