Dark Current Model#
Dark current is the charge accumulated by an unilluminated sensor. Teledyne/e2v provides a dark current model in the datasheet as
\[\frac{Q_d}{Q_{do}} = 122 T^3 e^{-6400 / T}\]
where \(Q_d\) is the dark current, \(Q_{do}\) is the dark current at 293 K, and \(T\) is the temperature.
In this notebook we will plot this theoretical dark current over a range of temperatures.
[1]:
import matplotlib.pyplot as plt
import astropy.units as u
import astropy.visualization
import named_arrays as na
import msfc_ccd
Define a grid of temperatures with which to sample the dark current
[2]:
temperature = na.linspace(200, 300, axis="temperature", num=101) * u.K
Initialize the sensor model
[3]:
Compute the theoretical dark current using the msfc_ccd.TeledyneCCD230.dark_current() method.
[4]:
dark_current = sensor.dark_current(temperature)
Plot the dark current vs. temperature
[5]:
with astropy.visualization.quantity_support():
fig, ax = plt.subplots()
ax2 = ax.twiny()
na.plt.plot(
temperature,
dark_current,
ax=ax,
)
na.plt.plot(
temperature.to(u.deg_C, equivalencies=u.temperature()),
dark_current,
ax=ax2,
)
ax.set_yscale("log")
ax.set_xlabel(f"temperature ({ax.get_xlabel()})")
ax2.set_xlabel(f"temperature ({ax2.get_xlabel()})")
ax.set_ylabel(f"dark current ({ax.get_ylabel()})")