The JanICE API is a C API that provides a common interface between computer vision algorithms and agencies and entities that would like to use them.
The API is header only by design and therefore cannot be "built". However, a build protocol designed around the CMake program is provided as a default way to build implementations. Additionally, a small test harness and associated command line utilties are included that provide examples to users of best practices for using the API.
The protocol is quite simple. 2 variables give the paths to the implementation and
I/O implementation libraries. The implementation library is specified by
JANICE_IMPLEMENTATION
and the I/O library by JANICE_IO_IMPLEMENTATION
.
Each variable should give the full path to the respective library and can be specified
to cmake using the -D option. For example, an implementation that has all functionality in
a library fake_janice_implementation.so
and all I/O functionality in a library
fake_janice_io_implementation.so
could be linked against using
the following command:
$cmake -DJANICE_IMPLEMENTATION=/path/to/fake_janice_implementation.so \
-DJANICE_IO_IMPLEMENTATION=/path/to/fake_janice_io_implementation.so ..
The .. at the end gives a relative path to the root of this repository. The test
harness and command line executables automatically check if
JANICE_IMPLEMENTATION
is defined and will build if it is not an
empty string.
This project is licensed under the MIT license and is free for academic and commercial use.
The documentation for the API is hosted here. The complete documentation for the API is available in "docs" folder. A PDF file is provided for convienience. Alternatively, you can build the docs yourself with the Sphinx documentation generator.
Contributions are generally welcome. Please open a pull request.