dlab.diagnostics.ui.scans.two_color_scan_tab module

class dlab.diagnostics.ui.scans.two_color_scan_tab.MonitorWindow(*args: Any, **kwargs: Any)[source]

Bases: QWidget

Real-time monitoring window for phase error and std during scan

update_data(ratio_idx: int, phase_idx: int, error: float, std: float)[source]

Update data point and refresh display

class dlab.diagnostics.ui.scans.two_color_scan_tab.TwoColorScanTab(*args: Any, **kwargs: Any)[source]

Bases: QWidget

class dlab.diagnostics.ui.scans.two_color_scan_tab.TwoColorScanWorker(*args: Any, **kwargs: Any)[source]

Bases: QObject

finished

alias of str

log

alias of str

monitor_update

alias of int

progress

alias of int

run() None[source]
dlab.diagnostics.ui.scans.two_color_scan_tab.angle_to_power(angle_deg, phase_deg)[source]
dlab.diagnostics.ui.scans.two_color_scan_tab.calculate_max_intensity(max_power_W: float, waist_um: float, pulse_duration_fs: float, rep_rate_kHz: float) float[source]

Calculate maximum peak intensity for given beam parameters.

Parameters:
  • max_power_W – Maximum average power [W]

  • waist_um – Beam waist at focus [µm]

  • pulse_duration_fs – Pulse duration [fs]

  • rep_rate_kHz – Repetition rate [kHz]

Returns:

Maximum peak intensity [W/cm²]

Return type:

I_max_peak

dlab.diagnostics.ui.scans.two_color_scan_tab.intensity_to_power(I_peak_W_cm2: float, waist_um: float, pulse_duration_fs: float, rep_rate_kHz: float) float[source]

Calculate required average power to achieve target peak intensity.

Parameters:
  • I_peak_W_cm2 – Target peak intensity [W/cm²]

  • waist_um – Beam waist at focus [µm]

  • pulse_duration_fs – Pulse duration [fs]

  • rep_rate_kHz – Repetition rate [kHz]

Returns:

Required average power [W]

Return type:

P_avg

dlab.diagnostics.ui.scans.two_color_scan_tab.load_slm_calibration(file_path: str) Tuple[numpy.ndarray, numpy.ndarray][source]

Load SLM calibration file: ArelA vs normalized intensity fraction (0 to 1) Note: The file format has intensity decreasing as ArelA increases

Returns:

(ArelA_values, intensity_fraction_values) - sorted for interpolation

dlab.diagnostics.ui.scans.two_color_scan_tab.power_to_angle(power_fraction, _amp_unused, phase_deg)[source]