No project description provided
Project description
EXTERNAL ARROW
This repository is an example for registering external plugins with kwiver and diva wheel
REQUIREMENTS
INSTALLATION
EXTERNAL ARROW
pip install external-arrow
VERIFYING REGISTRATION
plugin_explorer --algo image_object_detector
Plugins that implement type "image_object_detector"
---------------------
Info on algorithm type "image_object_detector" implementation "TestObjectDetector"
Plugin name: TestObjectDetector
Test to verify if a python algorithm can be registered externally
---------------------
Info on algorithm type "image_object_detector" implementation "external_arrow.arrow.test_object_detector"
Plugin name: external_arrow.arrow.test_object_detector
Version: 1.0
Test to verify if a cpp algorithm can be registered externall
---------------------
Info on algorithm type "image_object_detector" implementation "create_detection_grid"
Plugin name: create_detection_grid
Create a grid of detections across the input image.
---------------------
Info on algorithm type "image_object_detector" implementation "example_detector"
Plugin name: example_detector
Simple example detector that just creates a user-specified bounding box.
---------------------
Info on algorithm type "image_object_detector" implementation "hough_circle"
Plugin name: hough_circle
Hough circle detector
---------------------
Info on algorithm type "image_object_detector" implementation "detect_heat_map"
Plugin name: detect_heat_map
OCV implementation to create detections from heatmaps
TestObjectDetector
and external_arrow.arrow.test_object_detector
are python and c++ arrows registered by external_arrow
REGISTERING ARROW/PROCESSES FROM EXTERNAL PACKAGE
Kwiver uses entrypoints to register vital arrows and sprokit processes.
Language | Entrypoint |
---|---|
C++ | kwiver.cpp_search_paths |
python | kwiver.python_plugin_registration |
PYTHON ARROW/PROCESS
The python process and arrows are registered using kwiver.python_plugin_registration
in setup.py. Every process and arrows in the external package must be registered individually by specifying a unique key-value pair associated with the entrypoint . For example
'kwiver.python_plugin_registration':
[ 'simple_detector=external_arrow.arrow.test_object_detector']
where external_arrow.arrow.test_object_detector
is python arrow containing __vital_algorithm_register__
C++ ARROW/PROCESS
The c++ process and arrows are registered using kwiver.cpp_search_paths
in setup.py. For registering c++ libraries, kwiver requires absolute path to the directory where the c++ libraries are present in the package. For example
'kwiver.cpp_search_paths':
['simple_detector=external_arrow.register_cpp_arrow:get_cpp_path']
where external_arrow.register_cpp_arrow:get_cpp_path
is a python function that returns the directory where c++ libraries for external_arrow
are present in the package.
Note: Kwiver wheel does not provide the development environment for c++ extension that depend on kwiver. A c++ vital arrow
and sprokit process
based extension would be built against the static build of fletch and kwiver.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for external_arrow-0.0.2-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2474bf1f69a5a8b9a5046e9fae366a8472f18e371d0b7f27e566f2781e67b688 |
|
MD5 | f47f012b172c0048cda10d1ebb1fbd50 |
|
BLAKE2b-256 | 314dd9bfeedaa156b36ae0a754bfda9bf17424819ccdd744564b82b97c93e56d |
Hashes for external_arrow-0.0.2-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0754d65bb38c14f29451cee2e7c779acf2a7a87bcf5bcb75117bfee373809700 |
|
MD5 | d792e87f3793ffa869f6057bab05ba78 |
|
BLAKE2b-256 | 0c117874be8c1463cc0ee245a4ac0657036174f301800380bd2cef509ca7e90f |
Hashes for external_arrow-0.0.2-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64e83c73bd9a1a44d1ad3992eaa4301956936a2aaaeadd22b8fc986f1981ccdd |
|
MD5 | 23c6a0c5b4f2c6f46e70fa4bc6b6d6fc |
|
BLAKE2b-256 | b4730048e8603c6c26e2751f22f0fec402d3698fa10bf5fc77258a223c8c9293 |
Hashes for external_arrow-0.0.2-cp35-cp35m-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 096dc2252448e88528d3b077a94dd7c5837560531e9617993ceb85ddd0f07074 |
|
MD5 | a5c160cfc92ece45e9f88087ad192940 |
|
BLAKE2b-256 | 1e205a2fe08018717c9db0b01a47d5e8777b5d715f5f02f51363cbfa962183ac |