v0.1.0 ====== Initial release of the Natural Robustness Toolkit originally ported from prior work. Updates / New Features ---------------------- CI/CD * Added code unit-test and coverage reporting. * Added code coverage minimum coverage soft check (allows failure). Documentation * Added baseline interface and implementation documentation sections. * Updated and added relevant documents detailing the components of our Open Source Strategy. * Added ability to render documentation on GitLab Pages. Examples * Updated and added relevant documents detailing the components of our Open Source Strategy. Examples * Added an example notebook demonstrating NRTK perturber functionality. * Added an example notebook demonstrating NRTK generic generator functionality. * Added an example notebook demonstrating NRTK pybsm generator functionality. * Added an example notebook demonstrating NRTK ``COCOScorer`` functionality. Interfaces * Added a ``GenerateObjectDetectorBlackboxResponse`` interface for generating response curves with given perturber factories, detector, and scorer. * Added a ``PerturbImage`` interface for taking an image stimulus and generating a perturbed image. * Added a ``PerturbImageFactory`` interface for generating ``PerturbImage`` instances of specified type and configuration while varying one parameter. * Added a ``ScoreDetection`` interface that takes in ground-truth and predicted BBox-label pairs and generates scores based on a given metric. Implementations * Add an example ``GenerateObjectDetectorBlackboxResponse`` implementation, ``SimpleGenericGenerator`` which takes takes input data directly as Sequences. * Added several ``PerturbImage`` implementations: * From ``opencv``: * ``AverageBlurPerturber``: Applies average blurring to the given image stimulus. * ``GaussianBlurPerturber``: Applies Gaussian blurring to the given image stimulus. * ``MedianBlurPerturber``: Applies median blurring to the given image stimulus. * From ``skimage``: * ``SaltNoisePerturber``, ``PepperNoisePerturber``, ``SaltAndPepperNoisePerturber``: Adds salt and/or pepper noise to given image stimulus. * ``GaussianNoisePerturber``: Adds Gaussian-distributed additive noise to given image stimulus. * ``SpeckleNoisePerturber``: Adds multiplicative (Gaussian) noise to given image stimulus. * From ``PIL``: * ``BrightnessPerturber``: Adjusts given image stimulus brightness. * ``ColorPerturber``: Adjusts given image stimulus color balance. * ``ContrastPerturber``: Adjust given image stimulus contrast. * ``SharpnessPerturber``: Adjust given image stimulus sharpness. * ``NOPPerturber``: Serves as a pass-through NOP perturber to test interface functionality. * From ``xaitk-irt``: * ``PybsmSensor``: Holds sensor parameters for pyBSM perturbation. * ``PybsmScenario``: Holds target and environment parameters for pyBSM perturbation. * ``PybsmPerturber``: Matches PerturbImage interface and is used by pybsm factories. * ``_PybsmPerturbImageFactory``: Base PyBSM perturber factory. * ``CustomPybsmPerturbImageFactory``: Original "custom" pybsm perturber factory. * Added a ``PerturbImageFactory`` implementation, ``StepPerturbImageFactory``, which is a simple implementation that varies a chosen parameter from ``start`` to ``stop`` by the given ``step`` value. * Added ``ScoreDetections`` implementations * ``NOPScorer``: Serves as a pass-through NOP scorer to test interface functionality. * ``RandomScorer``: Generates random score values and serves as a test for reproducibility. * ``COCOScorer``: Generates detection scores for a specific statistic index using the converted COCO format data. * ``ClassAgnosticPixelwiseIoUScorer``: Generates pixelwise IoU scores in a class agnostic way. Fixes ----- * Changed the default git client poetry uses from dulwich to system-installed git.