The VisionAppster Engine is a cross-platform runtime for running vision apps. It provides platform-independent apps a consistent, high-performance execution environment. The Engine and all running apps can be controlled using an HTTP-based RPC mechanism through a built-in web server.
The main elements of VisionAppster Engine are:
- Graph Executor
- A parallel executor for image analysis applications represented as data flow graphs.
- Component Database
- Manages components installed from component packages (
.vapkgfiles). Provides facilities for installing, uninstalling and querying the database. The API of the component database is published at /componentdb/ in the built-in web server. Uploaded
.vapkgfiles are stored under /packages/.
- License Database
- Safely stores and updates licenses. Interacts with the platform's security mechanisms to prevent unauthorized use of installed components. The API of the license database is published at /licensedb/.
- App Manager
- Starts and stops installed apps and manages running processes. Its API is available at /manager/.
- API Manager
- Lets apps publish objects as remote or local services. Provides facilities for locating local and remote services. The APIs published by running apps are listed at /apis/.
- Driver Manager
- Detects attached devices such as cameras and I/O devices. Provides an interface for querying and accessing the devices. The Driver Manager itself has no public API, but found cameras are published at /cameras/.
The VisionAppster Engine can be run on a wide variety of hardware platforms and operating systems. The following table lists the officially supported hardware and operating system combinations.
- Supported, but we are currently not building packages routinely.
- Supported, but no stable official builds available yet.
- Our software compiles and runs fine on Mac. Apple's SDK licensing terms however prevent compiling Mac software on other platforms. This makes it impossible for Linux and Windows developers to build native extensions for Mac. Mac support would therefore be fundamentally crippled and break our cross-platform promise.