thin_film_design#

esis.flights.f1.optics.filters.materials.thin_film_design()#

The as-designed thin-film visible light filter material for the ESIS instrument.

Examples

Plot the transmissivity of the thin-film filter over the EUV wavelength range.

import matplotlib.pyplot as plt
import astropy.units as u
import astropy.visualization
import named_arrays as na
import optika
from esis.flights.f1.optics import filters

# Define an array of wavelengths with which to sample the efficiency
wavelength = na.geomspace(100, 1000, axis="wavelength", num=1001) * u.AA

# Define the incident rays from the wavelength array
rays = optika.rays.RayVectorArray(
    wavelength=wavelength,
    direction=na.Cartesian3dVectorArray(0, 0, 1),
)

# Initialize the ESIS diffraction grating material
material = filters.materials.thin_film_design()

# Compute the reflectivity of the primary mirror
transmissivity = material.efficiency(
    rays=rays,
    normal=na.Cartesian3dVectorArray(0, 0, -1),
)

# Plot the transmissivity vs wavelength
fig, ax = plt.subplots(constrained_layout=True)
na.plt.plot(wavelength, transmissivity, ax=ax);
ax.set_xlabel(f"wavelength ({wavelength.unit:latex_inline})");
ax.set_ylabel("transmissivity");
../_images/esis.flights.f1.optics.filters.materials.thin_film_design_0_0.png

Plot the schematic of the layers composing the filter

with astropy.visualization.quantity_support():
    fig, ax = plt.subplots()
    material.plot_layers(
        ax=ax,
    )
    ax.set_axis_off()
    ax.autoscale()
../_images/esis.flights.f1.optics.filters.materials.thin_film_design_1_0.png
Return type:

ThinFilmFilter