$ show Kitware/kwiver
KWIVER is a large C++/Python computer vision and video analytics toolkit. Its architecture is a plugin-driven algorithm library (vital/algo), a dataflow pipeline framework (sprokit), and many backend implementations (arrows) that wrap OpenCV, VXL, Ceres, FFmpeg, GDAL, VTK, and other dependencies. In production it performs video/image I/O, feature detection and matching, structure-from-motion, object detection/tracking, geospatial metadata parsing, and serialization. It exposes command-line applets, an embedded pipeline API, Qt-based viewers, and pybind11 Python bindings. The system is configuration-driven: algorithms and processes are registered through macros, configured via vital::config_block, and instantiated dynamically through a plugin registry. The sprokit subsystem provides a pipeline DSL, schedulers, process clusters, and adapter ports for external data injection, making the project both a reusable library and a runtime pipeline environment. Although dominated by application/library code, the repository also serves research and defense-oriented use cases. It contains extensive MISB/KLV metadata parsers for multiple standards, multi-view geometry algorithms, track-file format readers/writers (kw18, KPF, XGTF, etc.), and PyTorch-based feature extractors. The hybrid nature is visible in the tension between production-grade pipeline infrastructure and research-oriented algorithms that remain experimental or under-documented. The codebase is actively maintained with recent commits and substantial CI infrastructure, but technical drift is medium due to the enormous optional dependency footprint, vendored copies of cereal/rapidjson/DBoW2, legacy modules such as track_oracle, and some deprecated APIs.
The LLM identified 4 files worth highlighting for reuse:
A thread-safe blocking bounded queue used to pass data between pipeline stages. It encapsulates mutex and condition-variable coordination behind a clean API and can be extracted into any producer-consumer system with minimal modification.
Handles text transcoding with configurable error policies such as skip, abort, substitute, and unicode escape. It solves a recurring problem in file and video metadata parsing, and is self-contained enough to be reused in other C++ projects requiring robust encoding conversion.
Implements token expansion for strings using a user-supplied lookup, with support for defaults and configurable delimiters. The separation of parsing from substitution makes it a reusable building block for configuration systems, pipeline preprocessors, and template engines.
Abstracts reading and writing typed KLV (Key-Length-Value) fields with specializations for integers, floats, strings, timestamps, and nested sets. This generic length/value contract powers the MISB metadata parsers and is applicable to any binary TLV or metadata format that needs composable field-level serialization.