Motmot is software for the realtime collection and analysis of uncompressed digital images from a variety of sources. The target audience ranges from anyone needing a simple GUI to record video to the developer wanting to implement a new realtime vision algorithm within an open, plugin-based environment. A primary goal is high throughput and low latency for use in realtime applications. We routinely use these libraries to process data from cameras with data rates up to 60 MB per second (with processing power to spare) on commodity hardware.
The program fview is a high-level application for viewing camera output, adjusting camera parameters, streaming video to disk, and providing an interface for that realtime processing routines can plugin to. Much of the rest of motmot is a modular set infrastructure components for FView or plugins that utilize FView.
There is also firmware for a $30 USB device to trigger frame acquisition and sample analog inputs with precise timing.
Figure: the relationships of important motmot components. Python and numpy are required for almost all modules, and are not shown. Shaded rectangular nodes are GUI components, while rounded nodes are libraries in C, C++, or Python. Dotted arrows indicate an optional dependency (plugin relationship) rather than a hard dependency.