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. libpython3-dev
  6. kwiver
  7. diva-framework

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


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

external_arrow-0.0.2-cp38-cp38-manylinux2014_x86_64.whl (121.2 kB view details)

Uploaded CPython 3.8

external_arrow-0.0.2-cp37-cp37m-manylinux2014_x86_64.whl (121.2 kB view details)

Uploaded CPython 3.7m

external_arrow-0.0.2-cp36-cp36m-manylinux2014_x86_64.whl (121.2 kB view details)

Uploaded CPython 3.6m

external_arrow-0.0.2-cp35-cp35m-manylinux2014_x86_64.whl (121.2 kB view details)

Uploaded CPython 3.5m

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

Hashes for external_arrow-0.0.2-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2474bf1f69a5a8b9a5046e9fae366a8472f18e371d0b7f27e566f2781e67b688
MD5 f47f012b172c0048cda10d1ebb1fbd50
BLAKE2b-256 314dd9bfeedaa156b36ae0a754bfda9bf17424819ccdd744564b82b97c93e56d

See more details on using hashes here.

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

Hashes for external_arrow-0.0.2-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0754d65bb38c14f29451cee2e7c779acf2a7a87bcf5bcb75117bfee373809700
MD5 d792e87f3793ffa869f6057bab05ba78
BLAKE2b-256 0c117874be8c1463cc0ee245a4ac0657036174f301800380bd2cef509ca7e90f

See more details on using hashes here.

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

Hashes for external_arrow-0.0.2-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 64e83c73bd9a1a44d1ad3992eaa4301956936a2aaaeadd22b8fc986f1981ccdd
MD5 23c6a0c5b4f2c6f46e70fa4bc6b6d6fc
BLAKE2b-256 b4730048e8603c6c26e2751f22f0fec402d3698fa10bf5fc77258a223c8c9293

See more details on using hashes here.

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

Hashes for external_arrow-0.0.2-cp35-cp35m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 096dc2252448e88528d3b077a94dd7c5837560531e9617993ceb85ddd0f07074
MD5 a5c160cfc92ece45e9f88087ad192940
BLAKE2b-256 1e205a2fe08018717c9db0b01a47d5e8777b5d715f5f02f51363cbfa962183ac

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