def test_zernikes_rms(nterms=10, size=500): """Verify RMS(Zernike[n,m]) == 1.""" assert np.nanstd(zernike.zernike1(1)) == 0.0, "Zernike(j=0) has nonzero RMS" for j in range(2, nterms): n, m = zernike.noll_indices(j) z = zernike.zernike(n, m, npix=size) rms = np.nanstd(z) # exclude masked pixels assert abs(1.0 - rms) < 0.001, "Zernike(j={}) has RMS value of {}".format(j, rms)
def test_ones_zernikes(nterms=10): """Verify the radial scaling function is correctly normalized""" rho = np.ones(3) for j in np.arange(nterms) + 1: n, m = zernike.noll_indices(j) rs = zernike.R(n, m, rho) print("j=%d\tZ_(%d,%d) [1] = \t %s" % (j, n, m, str(rs))) assert rs[0] == rs[1] == rs[2], "Radial polynomial is not radially symmetric"
def test_zernikes_rms(nterms=10, size=500): """Verify RMS(Zernike[n,m]) == 1.""" assert np.nanstd(zernike.zernike1(1)) == 0.0, "Zernike(j=0) has nonzero RMS" for j in range(2, nterms): n, m = zernike.noll_indices(j) Z = zernike.zernike(n, m, npix=size) rms = np.nanstd(Z) # exclude masked pixels assert 1.0 - rms < 0.001, "Zernike(j={}) has RMS value of {}".format(j, rms)
def test_ones_zernikes(nterms=10): """Verify the radial scaling function is correctly normalized""" rho = np.ones(3) theta = np.array([0, 1, 2]) for j in np.arange(nterms)+1: n, m = zernike.noll_indices(j) Z = zernike.zernike1(j, rho=rho, theta=theta) Rs = zernike.R(n, m, rho) print "j=%d\tZ_(%d,%d) [1] = \t %s" % (j, n, m, str(Rs)) assert Rs[0] == Rs[1] == Rs[2], "Radial polynomial is not radially symmetric"