
Natural Robustness Toolkit (NRTK)
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.
We have also created the nrtk-jatic
package to support AI T&E
use-cases and workflows, through interoperability with the maite
library and integration with other JATIC tools. Users seeking to use NRTK to
perturb MAITE-wrapped datasets or evaluate MAITE-wrapped models should
start with the nrtk-jatic
package.
Installation
Ensure the source tree is acquired locally before proceeding.
To install the current version via pip
:
pip install nrtk[<extra1>,<extra2>,...]
Alternatively, you can use Poetry:
poetry install --with main,linting,tests,docs --extras "<extra1> <extra2> ..."
Certain plugins may require additional runtime dependencies. Details on these requirements can be found here.
For more detailed installation instructions, visit the installation documentation.
Getting Started
Explore usage examples of the nrtk
package in various contexts using the Jupyter notebooks provided in the ./docs/examples/
directory.
Contributions are encouraged! For more details, refer to the CONTRIBUTING.md file.
Documentation
Documentation for both release snapshots and the latest master branch is available on ReadTheDocs.
To build the Sphinx-based documentation locally for the latest reference:
poetry install --sync --with main,linting,tests,docs
cd docs
poetry run make html
firefox _build/html/index.html
Developer Tools
Pre-commit Hooks
Pre-commit hooks ensure that code complies with required linting and formatting guidelines. These hooks run automatically before commits but can also be executed manually. To bypass checks during a commit, use the --no-verify
flag.
To install and use pre-commit hooks:
poetry install --sync --with main,linting,tests,docs
poetry run pre-commit install
poetry run pre-commit run --all-files
Contributing
License
Apache 2.0
Contacts
Principal Investigator: Brian Hu (Kitware) @brian.hu
Product Owner: Austin Whitesell (MITRE) @awhitesell
Scrum Master / Tech Lead: Brandon RichardWebster (Kitware) @b.richardwebster
Deputy Tech Lead: Emily Veenhuis (Kitware) @emily.veenhuis