Skip to main content

No project description provided

Project description

EXTERNAL ARROW

This repository is an example for registering external plugins with kwiver and diva wheel

REQUIREMENTS

  1. libgl1-mesa-dev
  2. libexpat1-dev
  3. libgtk2.0-dev
  4. liblapack-dev
  5. python 3.5

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

external_arrow

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

File details

Details for the file external_arrow-0.0.2a1.dev1-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for external_arrow-0.0.2a1.dev1-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3ec5cf8b45368f3159df005233655de3d62e4889c6ce557d11d1853a3767cd0d
MD5 8407136abc244bb7d357a429b2ae10c3
BLAKE2b-256 d2966e566c470df878660826434d9d9573639789ebbf7e89e5624ae6740cf5d3

See more details on using hashes here.

File details

Details for the file external_arrow-0.0.2a1.dev1-cp37-cp37m-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for external_arrow-0.0.2a1.dev1-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 206c43536e6a1442296137dfd040966d9cf8145afe511b3f6462aa8822985fec
MD5 4796b8d21af9f8ed060bc0ccf68e528c
BLAKE2b-256 52b53eba1707ace6aaf76d4d1e5b2239fec6a88f71d2058180359c930ed98d83

See more details on using hashes here.

File details

Details for the file external_arrow-0.0.2a1.dev1-cp36-cp36m-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for external_arrow-0.0.2a1.dev1-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cdd1ce97d901aa15336714ac223148f084a25c605497064f4b2e075c1d63e1f4
MD5 1beba642c829ad3c8ed3f423015a024a
BLAKE2b-256 2b9a899fe80dd07bf2d5cf87f8ab3d2005f5abc1ee2752bd7deef1d751985011

See more details on using hashes here.

File details

Details for the file external_arrow-0.0.2a1.dev1-cp35-cp35m-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for external_arrow-0.0.2a1.dev1-cp35-cp35m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 990f37ae7d2b53869bcfb245e51d8fc502144a41d37dfb3bb562ee1f850bb1f9
MD5 4fac023b7f391eff26dfe2b50c2537ae
BLAKE2b-256 9e78537f017de974ce3ff3e93744781cd361cb9aaa92daf9c7168b1495824f7d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page