The list of files on the device. Each file contains a stream which can be loaded. Loaded streams are indicated by the green indicator. They are connected to the respective hardware devices (cameras etc.) and ready to be executed.


A simple stream which constantly queries images from a camera, denoises the image and dumps the result. Clicking the start button executes the stream.


Clicking an operator loads its current parameters. Parameters can be changed while the stream is executed.


Intermediate results at operator inputs or outputs can be observed in so-called "views". This can be used to visualize the effect of changed parameters and debug streams.

Complex streams

More complex streams can e.g. implement the intrinsic calibration of a camera. This streams detects chessboard patterns on the input images, merges the results into a big list and finally computes the intrinsic camera parameters from this list. The pattern detection and the calibration must be executed on different time scales (several detection are necessary for one calibration). This is automatically handled by stromx.

Layered views

The data of several operator inputs and outputs can be visualized by arranging them in different layers of the view stack. Here, we can see the input image, the detected chessboard pattern (blue) and the accumulated pattern corners (red). The final calibration parameters are printed as numeric values at the bottom.

Raspberry Pi support

The Raspberry Pi camera is supported by an operator which is part of stromx. Moreover, operators for GPIO input and output exist. Try to make sense of the rather useless example above!

Integration of external libraries

Here we can see the result of a barcode reading operator based on the open source zbar library.