v0.25.0

This minor release introduces new perturbation implementations, several example notebooks, and improvements to testing and developer tooling. It also removes deprecated functionality, updates dependency handling, and makes adjustments for Python version compatibility.

Updates / New Features

  • Added new perturbations:

    • RandomRotationPerturber with full unit test coverage.

    • DiffusionPerturber, with an accompanying example notebook.

    • Added default configuration to PybsmPerturber and ComposePerturber.

  • Example notebooks and guides:

    • How-To guide for Image Classification Perturbation Saliency with xaitk-saliency.

    • T&E guide for Affine perturbations.

  • Performance improvements:

    • WaterDropletPerturber now uses geopandas to obtain a ~3x performance boost.

  • Dependency and compatibility updates:

    • Changed MAITE lower bound to v0.8.2.

    • Dropped support for Python 3.9 (EOL).

    • Placed an upper bound on Python versions (<3.13) due to an upstream NumPy 2.0 compatibility.

    • Updated optional dependency imports to achieve full pyright type completeness.

  • Other additions:

    • Added fuzzy syrupy comparator for TIFF Snapshot Extension.

    • Added Git LFS pointers in documentation.

    • Added an internal debugging utility to print installed extras and their sources.

Fixes

  • Removed deprecated box_alignment_mode.

  • Updated tests/impls/__init__.py to define and centralize input image filepaths.

  • Updated random_noise.py to use 1 as the default rng parameter.