No project description provided
Project description
EXTERNAL ARROW
This repository is an example for registering external plugins with kwiver and diva wheel
REQUIREMENTS
INSTALLATION
KWIVER
pip install kwiver-1.4.0-cp35-cp35m-linux_x86_64.whl
DIVA
pip install diva-0.0.1-cp35-cp35m-linux_x86_64.whl
EXTERNAL ARROW
pip install external_arrow-0.0.1-cp35-cp35m-linux_x86_64.whl
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 a development environment for c++ libraries that depend on kwiver. We would recommend a static build of kwiver and diva to create the python package.
SAMPLE REPOSITORY
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.2a1.dev1-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ec5cf8b45368f3159df005233655de3d62e4889c6ce557d11d1853a3767cd0d |
|
MD5 | 8407136abc244bb7d357a429b2ae10c3 |
|
BLAKE2b-256 | d2966e566c470df878660826434d9d9573639789ebbf7e89e5624ae6740cf5d3 |
Hashes for external_arrow-0.0.2a1.dev1-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 206c43536e6a1442296137dfd040966d9cf8145afe511b3f6462aa8822985fec |
|
MD5 | 4796b8d21af9f8ed060bc0ccf68e528c |
|
BLAKE2b-256 | 52b53eba1707ace6aaf76d4d1e5b2239fec6a88f71d2058180359c930ed98d83 |
Hashes for external_arrow-0.0.2a1.dev1-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cdd1ce97d901aa15336714ac223148f084a25c605497064f4b2e075c1d63e1f4 |
|
MD5 | 1beba642c829ad3c8ed3f423015a024a |
|
BLAKE2b-256 | 2b9a899fe80dd07bf2d5cf87f8ab3d2005f5abc1ee2752bd7deef1d751985011 |
Hashes for external_arrow-0.0.2a1.dev1-cp35-cp35m-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 990f37ae7d2b53869bcfb245e51d8fc502144a41d37dfb3bb562ee1f850bb1f9 |
|
MD5 | 4fac023b7f391eff26dfe2b50c2537ae |
|
BLAKE2b-256 | 9e78537f017de974ce3ff3e93744781cd361cb9aaa92daf9c7168b1495824f7d |