Absorption imaging

Automated acquisition and analysis of atom-cloud absorption images with Quatm’s camera control and image analysis.

Overview

This experiment script provides the class absorption_imaging: build() declares the cooling/imaging light and the camera trigger and exposes the MOT loading, the probe flash and the free-flight expansion time as parameters; run() orchestrates the imaging sequence and provides two detection modes, fluorescence_imaging and absorption_imaging.

Parameters (build excerpt)

Mot_loading, Flash_us (duration of the probe flash), expansiontime_ms (free-flight expansion), image_detuning (imaging detuning), MOT_detuning.

Devices (build excerpt)

li_cooling_aom / li_repump_aom / li_zeeman_aom (cooling/repump/Zeeman), li_absorption_h (horizontal absorption probe beam), li_imaging_valon + dds_0 (imaging frequency source), trigger_radba (trigger).

Key code (excerpt)

from quatm.experiment import Experiment, NumberValue, delay

class absorption_imaging(Experiment):
    def build(self):
        self.setattr_device("li_absorption_h")
        self.setattr_device("li_imaging_valon")
        self.setattr_argument("expansiontime_ms", NumberValue(...))
        # ... remainder omitted

    def absorption_imaging(self):
        # three frames with atoms / without atoms / background, computing the optical depth
        ...

Data analysis

The optical depth (column density) is computed and published by the analysis process ImageDivider, see Data and analysis/Absorption imaging.