Skip to main content

An open source toolkit for evaluating the natural robustness of computer vision algorithms.

Project description

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

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.

Contributions are welcome! See the CONTRIBUTING.md file for details.

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

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

Project details


Download files

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

Source Distribution

nrtk-0.15.0.tar.gz (34.9 kB view details)

Uploaded Source

Built Distribution

nrtk-0.15.0-py3-none-any.whl (56.6 kB view details)

Uploaded Python 3

File details

Details for the file nrtk-0.15.0.tar.gz.

File metadata

  • Download URL: nrtk-0.15.0.tar.gz
  • Upload date:
  • Size: 34.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.9.20 Linux/6.5.0-1021-aws

File hashes

Hashes for nrtk-0.15.0.tar.gz
Algorithm Hash digest
SHA256 38ee9aefd6ebcf0c7f6d35956776ae6d48861e2ff0a407caa350f63a4e3e316d
MD5 57e59bc5853f93400ede682e02155621
BLAKE2b-256 7a2545cdae84d38f687ddb868e36ec260341a925e7f03244cee76d4b2e2f35f7

See more details on using hashes here.

File details

Details for the file nrtk-0.15.0-py3-none-any.whl.

File metadata

  • Download URL: nrtk-0.15.0-py3-none-any.whl
  • Upload date:
  • Size: 56.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.9.20 Linux/6.5.0-1021-aws

File hashes

Hashes for nrtk-0.15.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6a6c87491f3af511a17a5362b9cd9b4e295a9cea422ce755a6c33c57cb3c5dc7
MD5 e738b5ee51971745cfe62629101229c0
BLAKE2b-256 f4f33a0429e40b0b54fb9a8b6cbae9fb3286e0344968dd41c322c5e18c48d81e

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