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

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()})")
../_images/reports_dark-current_9_0.png