prsctrl.measurement.pump_power_calibration.measure_light_intensity#

measure_light_intensity(power_meter: PowerMeter, light_source: Laser | LedController, wavelength_nm: float, max_laser_power_mW: float = 155, max_led_current_A: float = 0.7, n_steps: int = 10, beam_area_cm2: float = 0.709, data_queue: Queue | None = None) PowerCalibration[source]#

Measure the light intensity for multiple power settings.

Take n_steps power measurements using different laser powers up to max_laser_power_mW, or using different led currents up to max_led_current_A.

Parameters:
  • power_meter – Power meter instance

  • light_source – Supported light source, either a laser or led

  • wavelength_nm – The wavelength in nm at which the light is emitted

  • max_laser_power_mW – Maximum laser power in mW to apply, if a laser is given

  • max_led_current_A – Maximum LED current in A to apply, if a LED is given

  • n_steps – Number of measurements to take

  • beam_area_cm2 – The beam area in cm^2. If the beam is larger than the detector, use the active detector area.

  • data_queue – Optional data queue in which the result of each measurement step is put. Useful when this function is run in a separate thread. The following tuple is put in the queue: (index: int, power or current: float, unit (mW or A): str, measured power in mW: float, measured power density in mW/cm^2: float).

Raises:

TypeError – If an unsupported light_source is given

Returns:

Numpy array of shape (n_steps, 2), where first column is the applied power in mW or current in A, and the second column is the measurement power density in mW/cm^2