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
File details
Details for the file external_arrow-0.0.2-cp38-cp38-manylinux2014_x86_64.whl
.
File metadata
- Download URL: external_arrow-0.0.2-cp38-cp38-manylinux2014_x86_64.whl
- Upload date:
- Size: 121.2 kB
- Tags: CPython 3.8
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2474bf1f69a5a8b9a5046e9fae366a8472f18e371d0b7f27e566f2781e67b688 |
|
MD5 | f47f012b172c0048cda10d1ebb1fbd50 |
|
BLAKE2b-256 | 314dd9bfeedaa156b36ae0a754bfda9bf17424819ccdd744564b82b97c93e56d |
File details
Details for the file external_arrow-0.0.2-cp37-cp37m-manylinux2014_x86_64.whl
.
File metadata
- Download URL: external_arrow-0.0.2-cp37-cp37m-manylinux2014_x86_64.whl
- Upload date:
- Size: 121.2 kB
- Tags: CPython 3.7m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.7.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0754d65bb38c14f29451cee2e7c779acf2a7a87bcf5bcb75117bfee373809700 |
|
MD5 | d792e87f3793ffa869f6057bab05ba78 |
|
BLAKE2b-256 | 0c117874be8c1463cc0ee245a4ac0657036174f301800380bd2cef509ca7e90f |
File details
Details for the file external_arrow-0.0.2-cp36-cp36m-manylinux2014_x86_64.whl
.
File metadata
- Download URL: external_arrow-0.0.2-cp36-cp36m-manylinux2014_x86_64.whl
- Upload date:
- Size: 121.2 kB
- Tags: CPython 3.6m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.6.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64e83c73bd9a1a44d1ad3992eaa4301956936a2aaaeadd22b8fc986f1981ccdd |
|
MD5 | 23c6a0c5b4f2c6f46e70fa4bc6b6d6fc |
|
BLAKE2b-256 | b4730048e8603c6c26e2751f22f0fec402d3698fa10bf5fc77258a223c8c9293 |
File details
Details for the file external_arrow-0.0.2-cp35-cp35m-manylinux2014_x86_64.whl
.
File metadata
- Download URL: external_arrow-0.0.2-cp35-cp35m-manylinux2014_x86_64.whl
- Upload date:
- Size: 121.2 kB
- Tags: CPython 3.5m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 096dc2252448e88528d3b077a94dd7c5837560531e9617993ceb85ddd0f07074 |
|
MD5 | a5c160cfc92ece45e9f88087ad192940 |
|
BLAKE2b-256 | 1e205a2fe08018717c9db0b01a47d5e8777b5d715f5f02f51363cbfa962183ac |