prysm.x.sri#
Self-Referenced Interferometer.
- class prysm.x.sri.SelfReferencedInterferometer(x, y, efl, epd, wavelength, pinhole_diameter=0.25, pinhole_samples=128, beamsplitter_RT=(0.8, 0.2))#
Bases:
object
Self-Referenced Interferometer.
Create a new Self-Referenced Interferometer.
- Parameters:
x (numpy.ndarray) – x coordinates for arrays that will be passed to forward_model not normalized
y (numpy.ndarray) – y coordinates for arrays that will be passed to forward_model not normalized
efl (float) – focal length in the focusing space behind the grating
epd (float) – entrance pupil diameter, mm
wavelength (float) – wavelength of light, um
pinhole_diameter (float) – diameter of the pinhole placed at the m=0 focus
pinhole_samples (int) – number of samples across the pinhole placed at the m=0 focus
beamsplitter_RT (tuple of float) – [R]eference, [T]est arm beamsplitter transmisivities (big R / big T, power). Needed to balance ref/test beam power.
- forward_model(wave_in, phase_shift=0, debug=False)#
Perform a forward model, returning the intensity at the detector plane.
- Parameters:
wave_in (numpy.ndarray) – complex wavefunction present at the input to the interferometer
phase_shift (float) – phase shift, modulo 2pi, if any
debug (bool) – if True, returns a dict with the fields in the ref arm, before and after interacting with the interferometer components
- Returns:
intensity at the camera
- Return type: