Skip to content

Commit

Permalink
added fix for zernike decomposition with nans
Browse files Browse the repository at this point in the history
  • Loading branch information
Jashcraf committed May 28, 2024
1 parent 3c8f83c commit 646eaa0
Showing 1 changed file with 13 additions and 4 deletions.
17 changes: 13 additions & 4 deletions poke/interfaces.py
Original file line number Diff line number Diff line change
Expand Up @@ -223,10 +223,19 @@ def regularly_space_jones(rayfront, nmodes, npix, which=-1, return_residuals=Fal
r, t = np.sqrt(x ** 2 + y ** 2), np.arctan2(y, x)
irregularly_spaced_basis = zernike(r, t, nmodes)

cxx = np.linalg.lstsq(irregularly_spaced_basis, jones_pupil[..., 0, 0], rcond=None)
cxy = np.linalg.lstsq(irregularly_spaced_basis, jones_pupil[..., 0, 1], rcond=None)
cyx = np.linalg.lstsq(irregularly_spaced_basis, jones_pupil[..., 1, 0], rcond=None)
cyy = np.linalg.lstsq(irregularly_spaced_basis, jones_pupil[..., 1, 1], rcond=None)
jxx = jones_pupil[..., 0, 0]
jxy = jones_pupil[..., 0, 1]
jyx = jones_pupil[..., 1, 0]
jyy = jones_pupil[..., 1, 1]

cxx = np.linalg.lstsq(irregularly_spaced_basis[np.isfinite(jxx), :],
jxx[np.isfinite(jxx)], rcond=None)
cxy = np.linalg.lstsq(irregularly_spaced_basis[np.isfinite(jxy), :],
jxy[np.isfinite(jxy)], rcond=None)
cyx = np.linalg.lstsq(irregularly_spaced_basis[np.isfinite(jyx), :],
jyx[np.isfinite(jyx)], rcond=None)
cyy = np.linalg.lstsq(irregularly_spaced_basis[np.isfinite(jyy), :],
jyy[np.isfinite(jyy)], rcond=None)

x = np.linspace(-1, 1, npix)
x, y = np.meshgrid(x, x)
Expand Down

0 comments on commit 646eaa0

Please sign in to comment.