Skip to content

Get Parameter

SUMMARY

Get Parameter reads the current value of a named camera parameter — for example exposure time, acquisition frame rate, or device link throughput limit. Use it to inspect the camera's starting state before tuning, or to verify that a set_parameter call took effect.

Available on: IDS, Zivid.

The Skill

python
value = camera.get_parameter("ExposureTime")

The parameter name must be a valid key for the camera being used — passing an unknown name raises a KeyError.

  • IDS — common names: AcquisitionFrameRate, ExposureTime, DeviceLinkThroughputLimit.
  • Zivid — common names: aperture, exposure_time, gain, brightness, color_aperture, color_exposure_time, color_gain, color_brightness, noise_threshold, outlier_threshold. See the full list on the Zivid page.

The Code

python
"""
Read the current values of all supported IDS parameters.

Run from a terminal to avoid issues with Rerun's spawn mode.
"""
from loguru import logger

from telekinesis.medulla.cameras import ids


def main():
    camera = ids.IDS(
        name="my_ids_camera",
        serial_number="4108909352",
        load_factory_defaults=False,
    )
    try:
        camera.connect()

        logger.info(f"AcquisitionFrameRate: {camera.get_parameter('AcquisitionFrameRate')}")
        logger.info(f"ExposureTime: {camera.get_parameter('ExposureTime')}")
        logger.info(f"DeviceLinkThroughputLimit: {camera.get_parameter('DeviceLinkThroughputLimit')}")
    finally:
        camera.disconnect()


if __name__ == "__main__":
    main()
python
"""
Read the current values of Zivid acquisition parameters.
"""
import pathlib
from loguru import logger

from telekinesis.medulla.cameras import zivid

SETTINGS_PATH = pathlib.Path(__file__).resolve().parent / "settings_inspection_far.yml"


def main():
    camera = zivid.Zivid(name="my_zivid_camera")
    try:
        camera.connect()
        camera.load_settings(SETTINGS_PATH)

        logger.info(f"aperture: {camera.get_parameter('aperture')}")
        logger.info(f"exposure_time: {camera.get_parameter('exposure_time')}")
        logger.info(f"gain: {camera.get_parameter('gain')}")
        logger.info(f"brightness: {camera.get_parameter('brightness')}")
        logger.info(f"noise_threshold: {camera.get_parameter('noise_threshold')}")
        logger.info(f"outlier_threshold: {camera.get_parameter('outlier_threshold')}")
    finally:
        camera.disconnect()


if __name__ == "__main__":
    main()

The Explanation of the Code

After connect has opened the device, get_parameter queries the underlying SDK for the current value of the named parameter and returns it. Calling it for every supported parameter at the start of a script gives a clear picture of the camera's starting state and makes it easier to diagnose unexpected behavior after parameters are modified.

Per-camera behavior:

  • IDS — queries the IDS Peak SDK. The parameter name must exist in parameter_name_to_type_map in medulla/cameras/ids.py.
  • Zivid — reads from the in-memory settings object. The parameter name must be a key in parameter_map in medulla/cameras/zivid.py. For HDR captures with multiple acquisitions, pass acquisition_index to target a specific acquisition (default 0). Global parameters like noise_threshold ignore the index.

Passing an unknown name raises a KeyError immediately rather than failing silently.

Where to Use the Skill

  • Pre-tuning inspection — read the camera's current settings before deciding what to change.
  • Verification — confirm that a set_parameter write took effect.
  • Debugging unexpected behaviour — log all parameter values when capture results don't match expectations.
  • Remote inspection over BabyROS — see Publish Video with BabyROS for the client-side pattern that wraps get_parameter in a BabyROS request.