コード例 #1
0
ファイル: alpha_abs.py プロジェクト: jacopoantonello/enzpy
    # evaluate the phase corresponding to alpha
    Phi = phase_pol.eval_grid(alpha)

    # evaluate the generalised pupil function P corresponding to alpha
    P = np.exp(1j*Phi)

    # estimate the beta coefficients from P
    beta_hat = ip.fit(P)

    # plot the results
    phaseplot = PhasePlot(n=args.n_alpha)  # to plot beta and the PSF
    betaplot = BetaPlot(args)  # to plot the phase

    # plot alpha
    p.figure(10)
    p.subplot2grid((1, 3), (0, 0), colspan=2)
    h1 = p.plot(range(1, phase_pol.nk + 1), alpha, marker='o')
    p.legend(h1, [r'$\alpha$'])
    p.ylabel('[rad]')
    p.xlabel('$k$')
    p.subplot2grid((1, 3), (0, 2))
    phaseplot.plot_alpha(alpha)
    p.title(r'$\alpha$')
    p.colorbar()

    # plot beta
    betaplot.plot_beta(beta_hat)

    p.show()
コード例 #2
0
ファイル: fit_phase.py プロジェクト: jacopoantonello/enzpy
    h1 = ax.plot(range(1, phase_pol.nk + 1), alpha_true, marker='o')
    h2 = ax.plot(range(1, phase_pol.nk + 1), alpha_hat, marker='x')
    p.legend(h1 + h2, [r'$\alpha$', r'$\hat{\alpha}$'])
    p.ylabel('[rad]')
    p.xlabel('$k$')

    # Zernike coefficients error between alpha_true and alpha_hat
    ax = p.subplot2grid((3, 3), (1, 0), colspan=3)
    err = alpha_true - alpha_hat
    ax.bar(range(1, phase_pol.nk + 1), np.abs(err))
    p.title('error {:g} rms rad'.format(norm(err[1:])))
    p.ylabel('[rad]')
    p.xlabel('$k$')

    ax = p.subplot2grid((3, 3), (2, 0))
    phaseplot.plot_alpha(alpha_true)
    p.title(r'$\alpha$')
    p.colorbar()

    ax = p.subplot2grid((3, 3), (2, 1))
    phaseplot.plot_alpha(alpha_hat)
    p.title(r'$\hat{\alpha}$')
    p.colorbar()

    ax = p.subplot2grid((3, 3), (2, 2))
    phaseplot.plot_alpha(alpha_true - alpha_hat)
    p.title(r'$\alpha - \hat{\alpha}$')
    p.colorbar()

    p.tight_layout()
    p.show()
コード例 #3
0
ファイル: alpha_abs.py プロジェクト: NickHallPhysics/enzpy
    # evaluate the phase corresponding to alpha
    Phi = phase_pol.eval_grid(alpha)

    # evaluate the generalised pupil function P corresponding to alpha
    P = np.exp(1j*Phi)

    # estimate the beta coefficients from P
    beta_hat = ip.fit(P)

    # plot the results
    phaseplot = PhasePlot(n=args.n_alpha)  # to plot beta and the PSF
    betaplot = BetaPlot(args)  # to plot the phase

    # plot alpha
    p.figure(10)
    p.subplot2grid((1, 3), (0, 0), colspan=2)
    h1 = p.plot(range(1, phase_pol.nk + 1), alpha, marker='o')
    p.legend(h1, [r'$\alpha$'])
    p.ylabel('[rad]')
    p.xlabel('$k$')
    p.subplot2grid((1, 3), (0, 2))
    phaseplot.plot_alpha(alpha)
    p.title(r'$\alpha$')
    p.colorbar()

    # plot beta
    betaplot.plot_beta(beta_hat)

    p.show()
コード例 #4
0
    h1 = ax.plot(range(1, phase_pol.nk + 1), alpha_true, marker='o')
    h2 = ax.plot(range(1, phase_pol.nk + 1), alpha_hat, marker='x')
    p.legend(h1 + h2, [r'$\alpha$', r'$\hat{\alpha}$'])
    p.ylabel('[rad]')
    p.xlabel('$k$')

    # Zernike coefficients error between alpha_true and alpha_hat
    ax = p.subplot2grid((3, 3), (1, 0), colspan=3)
    err = alpha_true - alpha_hat
    ax.bar(range(1, phase_pol.nk + 1), np.abs(err))
    p.title('error {:g} rms rad'.format(norm(err[1:])))
    p.ylabel('[rad]')
    p.xlabel('$k$')

    ax = p.subplot2grid((3, 3), (2, 0))
    phaseplot.plot_alpha(alpha_true)
    p.title(r'$\alpha$')
    p.colorbar()

    ax = p.subplot2grid((3, 3), (2, 1))
    phaseplot.plot_alpha(alpha_hat)
    p.title(r'$\hat{\alpha}$')
    p.colorbar()

    ax = p.subplot2grid((3, 3), (2, 2))
    phaseplot.plot_alpha(alpha_true - alpha_hat)
    p.title(r'$\alpha - \hat{\alpha}$')
    p.colorbar()

    p.tight_layout()
    p.show()