In [1]:
import warnings
import numpy as np

import astropy.units as u

%load_ext autoreload
%autoreload 2

with warnings.catch_warnings():
    warnings.simplefilter("ignore")
    import poppy
    import matplotlib
    matplotlib.use('nbagg')
    #from matplotlib import style
    #style.use('ggplot')
    import matplotlib.pyplot as plt

In [8]:
osys = poppy.OpticalSystem()
primary = poppy.CircularAperture(radius=3.2285 * u.m)
secondary = poppy.SecondaryObscuration(secondary_radius=0.5, n_supports=4, support_width=0.12, support_angle_offset=45.)
mmt = poppy.CompoundAnalyticOptic(opticslist=[primary, secondary], name="MMTO")
plt.figure(figsize=(12,8))
mmt.display(npix=1024, colorbar_orientation='vertical')

plt.show()



In [5]:
im = mmt.to_fits(npix=400)[0].data
plt.imshow(im)
plt.show()



In [ ]:
a = 15 * u.mm
a.to(u.m)

In [ ]:
osys = poppy.OpticalSystem()
coeffs = [0, 0, 0, 550e-9, 90e-9, -1e-9 , 1e-9, 1e-9, -1e-9, 5e-9, 0.0, 5e-9]
osys.add_pupil(mmt)
wfe = poppy.ZernikeWFE(radius=3.2285, coefficients=coeffs)
osys.add_pupil(wfe)
osys.add_detector(pixelscale=0.01, fov_arcsec=1.0)

psf = osys.calc_psf(5.5e-7)
poppy.display_psf(psf, scale='linear', title="MMT", normalize='peak', vmin=1.0e-5, vmax=1.0, cmap='viridis')
plt.show()

In [ ]:
osys.calc_psf?

In [ ]:
from mmtwfs.telescope import MMT
from mmtwfs.zernike import ZernikeVector

In [ ]:
t = MMT()

In [ ]:
t.pupil.display(npix=1024)
plt.show()

In [ ]:
z = ZernikeVector(Z02=25000, Z04=3000*u.nm)

psf = t.psf(z, fov=5)
poppy.display_psf(psf, scale='linear', title="MMT", normalize='peak', vmin=1.0e-5, vmax=1.0, cmap='viridis')
plt.show()

In [ ]:
z = ZernikeVector(Z04=3000*u.nm)

psf = t.psf(z, fov=5)
poppy.display_psf(psf, scale='linear', title="MMT", normalize='peak', vmin=1.0e-5, vmax=1.0, cmap='viridis')
plt.show()

In [ ]: