For developers

Custom vision components.

VisionBase provides the inspection host — camera pipeline, ROI tooling, overlays, the results bus, communication, and reporting — so a custom component implements only its processing logic. Components are .NET plugins with access to the host's OpenCvSharp and ONNX Runtime. A packaged plugin is loaded at runtime; changed packages are reloaded without restarting the application.

What the platform provides

The host is already implemented.

A single interface

Subclass VisionComponentBase and override ProcessImage(): image in, results and overlays out. The base class handles timing, statistics, and exception capture.

OpenCV and ONNX provided

Use the host's OpenCvSharp and ONNX Runtime (DirectML GPU) directly. They are shared from the host, so an OpenCV Mat passes across the plugin boundary without conversion.

Classical and deep learning

Combine threshold, blob, and edge operations with model inference in the same pipeline. Models can be trained in the application and exported to ONNX.

Runtime loading and isolation

Each plugin loads in its own AssemblyLoadContext. A file watcher reloads a changed package within about a second, so changes can be tested without restarting.

The component API

A component is a single class.

The example is a complete, loadable component: threshold, find blobs, draw overlays, and return measurements. With a manifest.json and a post-build packaging step it appears in the tool list — on Windows today, with the same core targeting Linux/Avalonia and Raspberry Pi.

  • C# 13 / .NET 10.
  • Live-tunable parameters re-run the pipeline with a debounced preview.
  • Headless test suites assert measurements per image in CI.
Libraries and dependencies

Use your own algorithms, models, and packages.

Bundle additional dependencies inside the plugin package; shared libraries are resolved from the host.

OpenCvSharp ONNX Runtime + DirectML YOLO → ONNX export ML.NET Bundle NuGet dependencies in the package Native DLLs via runtimes/win-x64 Per-component Ed25519 licensing Host callbacks wired by reflection
For developers

Component guide and starter project.

We can provide the component development guide and a buildable starter, so a custom tool can be added to an existing inspection.