XAITK - Saliency
The xaitk-saliency package is an open source, Explainable AI (XAI) framework
for visual saliency algorithm interfaces and implementations, built for
analytics and autonomy applications.
See our introduction to XAI and visual saliency for a more formal treatment of the topic.
This framework is a part of the Explainable AI Toolkit (XAITK).
Supported Algorithms
The xaitk-saliency package provides saliency algorithms for a wide range of
image understanding tasks, including image classification, image similarity,
object detection, and reinforcement learning. See the
supported saliency algorithms
in the documentation.
Target Audience
This toolkit is intended to help data scientists and developers who want to add visual saliency explanations to their workflow or product. Functionality provided here is both directly accessible for targeted experimentation, and through Strategy and Adapter patterns to allow for modular integration into systems and applications.
Installation
xaitk-saliency installation has been tested on Unix and Linux systems.
To install the current version via pip:
pip install xaitk-saliency[<extra1>,<extra2>,...]
To install the current version via conda-forge:
conda install -c conda-forge xaitk-saliency
Certain plugins may require additional runtime dependencies. Details on these requirements can be found in the implementations reference.
For more detailed installation instructions, visit the installation documentation.
Getting Started
Explore usage examples of the xaitk-saliency package in various contexts using
the Jupyter notebooks provided in the ./docs/examples/ directory.
Documentation
Documentation for both release snapshots and the latest main branch is available on ReadTheDocs.
To build the Sphinx-based documentation locally for the latest reference:
# Install dependencies
poetry sync --with main,linting,tests,docs
# Navigate to the documentation root
cd docs
# Build the documentation
poetry run make html
# Open the generated documentation in your browser
firefox _build/html/index.html
Contributing
Contributions are encouraged!
The following points help ensure contributions follow development practices.
- Follow the JATIC Design Principles.
- Adopt the Git Flow branching strategy.
- Detailed release information is available in docs/release_process.rst.
- Additional contribution guidelines and issue reporting steps can be found in CONTRIBUTING.md.
Developer Tools
Ensure the source tree is acquired locally before proceeding.
Poetry Install
You can install using Poetry:
poetry install --with main,linting,tests,docs --extras "<extra1> <extra2> ..."
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:
# Install required dependencies
poetry sync --with main,linting,tests,docs
# Initialize pre-commit hooks for the repository
poetry run pre-commit install
# Run pre-commit checks on all files
poetry run pre-commit run --all-files
Example: A First Look at xaitk-saliency
This associated project provides a local web-application that provides a demonstration of visual saliency generation in a user-interface. This provides an example of how visual saliency, as generated by this package, can be utilized in a user-interface to facilitate model and results exploration. This tool uses the trame framework.
License
All development prior to Nov 19, 2024 falls under BSD-3-Clause
Contacts
Principal Investigator: Brian Hu (Kitware) @brian.hu
Project Manager / Product Owner: Keith Fieldhouse (Kitware) @keith.fieldhouse
Scrum Master / Maintainer: Brandon RichardWebster (Kitware) @b.richardwebster
Deputy Scrum Master / Deputy Maintainer: Emily Veenhuis (Kitware) @emily.veenhuis
Program Representative: Austin Whitesell (MITRE) @awhitesell
Acknowledgment
This material is based upon work supported by the Chief Digital and Artificial Intelligence Office under Contract No. 519TC-23-9-2032. The views and conclusions contained herein are those of the author(s) and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the U.S. Government.
Metadata
Release files for xaitk-saliency 0.16.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| xaitk_saliency-0.16.0.tar.gz | 62.1 kB | Without provenance | Details for xaitk_saliency-0.16.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| xaitk_saliency-0.16.0-py3-none-any.whl | Python 3 | none | any | Details for xaitk_saliency-0.16.0-py3-none-any.whl |
Total release size: 166.4 kB
Release files / xaitk_saliency-0.16.0.tar.gz
| Download URL | xaitk_saliency-0.16.0.tar.gz |
|---|---|
| Size | 62.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f7932666c9c0044effe7329852c9518300c9d043c339895e246a01e332ba6924
|
|
BLAKE2b-256 checksum How to use checksums |
2b0b4e004d72250d5075156a31a8a62ad98c7004864598523ce70f904cea17db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.3 CPython/3.10.22 Linux/7.0.0-1017-azure
|
Release files / xaitk_saliency-0.16.0-py3-none-any.whl
| Download URL | xaitk_saliency-0.16.0-py3-none-any.whl |
|---|---|
| Size | 104.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
89ee76cb61c2715f33705f776d877cc018d64111a032e8338a59ad880481226a
|
|
BLAKE2b-256 checksum How to use checksums |
0adae8997c6e845e9678c3064b7bc70bb661908ab14b0892be21238c22c0735f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.3 CPython/3.10.22 Linux/7.0.0-1017-azure
|
Security for xaitk-saliency 0.16.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.