Skip to content
/ nrtk Public

The Natural Robustness Toolkit (NRTK) is an open source toolkit for generating operationally-realistic perturbations to evaluate the natural robustness of computer vision algorithms.

License

Notifications You must be signed in to change notification settings

Kitware/nrtk

Repository files navigation

Natural Robustness Toolkit (NRTK)

Description

The nrtk package is an open source toolkit for evaluating the natural robustness of computer vision algorithms to various perturbations, including sensor-specific changes to camera focal length, aperture diameter, etc. Functionality is provided through Strategy and Adapter patterns to allow for modular integration into systems and applications.

Installation

The following steps assume the source tree has been acquired locally.

Install the current version via pip:

pip install nrtk

Alternatively, you can also use Poetry:

poetry install --sync --with dev-linting,dev-testing,dev-docs

See here for more installation documentation.

Getting Started

We provide a number of examples based on Jupyter notebooks in the ./examples/ directory to show usage of the nrtk package in a number of different contexts.

Documentation

Documentation snapshots for releases as well as the latest master are hosted on ReadTheDocs.

The sphinx-based documentation may also be built locally for the most up-to-date reference:

# Install dependencies
poetry install --sync --with dev-linting,dev-testing,dev-docs 
# Navigate to the documentation root.
cd docs
# Build the docs.
poetry run make html
# Open in your favorite browser!
firefox _build/html/index.html

Developer tools

pre-commit hooks
pre-commit hooks are used to ensure that any code meets all linting and formatting guidelines required. After installing, this will always run before committing to ensure that any commits are following the standards, but you can also manually run the check without committing. If you want to commit despite there being errors, you can add --no-verify to your commit command.

Installing pre-commit hooks:

# Ensure that all dependencies are installed  
poetry install --sync --with dev-linting,dev-testing,dev-docs  
# Initialize pre-commit for the repository  
poetry run pre-commit install  
# Run pre-commit check on all files  
poetry run pre-commit run --all-files  

Contributing

License

Apache 2.0

POC: Brian Hu @brian.hu DPOC: Brandon RichardWebster @b.richardwebster

About

The Natural Robustness Toolkit (NRTK) is an open source toolkit for generating operationally-realistic perturbations to evaluate the natural robustness of computer vision algorithms.

Resources

License

Stars

Watchers

Forks

Packages

No packages published