Core Concepts#
Acquisition Lifecycle#
Mental Model#
- Camera runs asynchronously.
- Python retrieves synchronously.
- Buffers decouple both domains.
Blocking Behavior#
GenICam Nodes#
What is a GenICam Node?#
A GenICam node represents a single configurable feature or property of a camera. Nodes are defined in the GenICam standard, which provides a uniform way for accessing camera functionality independent of the hardware vendor.
Each node behaves like a strongly-typed parameter and exposes various information:
- Name (e.g.,
ExposureTime) - Data type (e.g., Float, Integer, Enumeration, etc.)
- Access rights (read-only or read/write)
- Valid value ranges or options
In pypylon, nodes are accessed as attributes of the camera object and provide methods like the following:
exposure_time = camera.ExposureTime # Read exposure time in microseconds.
camera.ExposureTime.Value = 3000 # Value is in microseconds. Check Increment and ValueRange for valid values.
Common Node Types#
| パラメーター | 例 | 説明 |
|---|---|---|
| Float | ExposureTime | Continuous values that map to discrete hardware settings |
| Integer | Width | Discrete values |
| Enumeration | TriggerMode | Predefined string values |
| Boolean | AcquisitionFrameRateEnable | True/False |
| コマンド | ExecuteSoftwareTrigger | Executes an action |
Understanding nodes is essential because all camera configuration in pypylon is performed through them.
pylon Parameters#
pylon parameters wrap GenICam nodes and provide an extended consistent interface for reading and writing values. They also handle type conversion, range checking, and access mode handling.
If a node is not found, the pylon.PlaceholderParameter is returned, which allows your code to handle missing nodes gracefully. This is often a scenario in setups where different camera models or firmware versions may have different available features.