Our APIs can be roughly divided in two categories: tool APIs that let you to add new functionality inside the runtime and client APIs that you use when accessing the runtime from outside.
Analysis apps are built by creating a processing graph that consist of tools. The VisionAppster platform comes with many built-in tools. If you need to add functionality into the vision app, you can create new ones using C, C++ or Python.
The VisionAppster Engine can be controlled using a HTTP-based RPC mechanism through its built-in web server. The apps running in the Engine can also publish APIs that can be accessed using the same mechanism. For most use cases, a dedicated client API is not needed; any HTTP library will do. The API tester automatically generates the required client-side code.
One of the challenges in creating vision software is that each library uses its own data types. This leads to poor interoperability and a lot of boilerplate code for data type conversions. To solve this problem, the VisionAppster runtime defines common types that each tool must use in their interface.