auditapp

AUDIT - Analysis & Evaluation Dashboard of Artificial Intelligence

https://github.com/caumente/audit

Science Score: 39.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.1%) to scientific vocabulary

Keywords

brain-tumor-segmentation deep-learning medical-image-analysis medical-image-computing medical-image-processing medical-image-segmentation python
Last synced: 7 months ago · JSON representation

Repository

AUDIT - Analysis & Evaluation Dashboard of Artificial Intelligence

Basic Info
  • Host: GitHub
  • Owner: caumente
  • License: apache-2.0
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage:
  • Size: 431 MB
Statistics
  • Stars: 3
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Topics
brain-tumor-segmentation deep-learning medical-image-analysis medical-image-computing medical-image-processing medical-image-segmentation python
Created almost 2 years ago · Last pushed 7 months ago
Metadata Files
Readme License Citation

README.md

AUDIT Release Docs Python

Stars Forks Contributors Issues License

Table of Contents

Summary

AUDIT, Analysis & evalUation Dashboard of artIficial inTelligence, is a tool designed to provide researchers and developers with an interactive way to better analyze and explore MRI datasets and segmentation models. Given its functionalities to extract the most relevant features and metrics from your multiple data sources, it allows for uncovering biases both intra and inter-dataset as well as in the model predictions.

Details of our work are provided in our paper AUDIT: An open-source Python library for AI model evaluation with use cases in MRI brain tumor segmentation. We hope that users will leverage AUDIT to gain novel insights into the field of medical image segmentation.

AUDIT workflow

The diagram below illustrates the overall workflow of AUDIT, from input data to data visualization on the APP.

For more details, please refer to the AUDIT paper.

AUDIT analysis modes:

  • Home Page: The main landing page of the tool.
  • Univariate: Exploration of individual features to understand how they are distributed.
  • Multivariate: Analysis of multiple features simultaneously to explore relationships and hidden patterns.
  • Segmentation error matrix: Overview of disagreements between ground truth and predicted segmentation through a class-wise error matrix.
  • Single model performance: Evaluation of the performance of a single model based on extracted features.
  • Pairwise model performance: Perform pairwise comparisons between models to find statistically significant differences.
  • Multi-model performance: Comparative analysis of performance metrics across multiple models.
  • Longitudinal measurements: Analysis of data collected over time to observe trends and changes in model performance.
  • Subjects' exploration: Detailed examination of individual subjects within the dataset.

Online Web application

Last released version of AUDIT is hosted at https://auditapp.streamlitapp.com for an online overview of its functionalities.

Getting Started

AUDIT can be installed either from our GitHub repository or from PyPI using the command pip install auditapp. In this guide, we will show how to install it from the GitHub repository. For a more detailed exploration of AUDIT, please check our official documentation.

1 Installation

Create an isolated Anaconda environment (recommended to avoid dependency conflicts):

bash conda create -n audit_env python=3.10 conda activate audit_env

Clone the repository: bash git clone https://github.com/caumente/AUDIT.git cd AUDIT

Install the required packages: bash pip install -r requirements.txt

2. Configuration

Edit the config files in ./src/audit/configs/ directory to set up the paths for data loading and other configurations:

2.1 Feature extraction config file

This configuration file is used to set paths, labels, features, and longitudinal study parameters for feature extraction in AUDIT.

Show configuration ```yaml # Paths to all the datasets data_paths: BraTS2020: '/home/usr/AUDIT/datasets/BraTS2020/BraTS2020_images' BraTS2024_PED: '/home/usr/AUDIT/datasets/BraTS2024_PED/BraTS2024_PED_images' BraTS2024_SSA: '/home/usr/AUDIT/datasets/BraTS2024_SSA/BraTS2024_SSA_images' UCSF: '/home/usr/AUDIT/datasets/UCSF/UCSF_images' LUMIERE: '/home/usr/AUDIT/datasets/LUMIERE/LUMIERE_images' # Sequences available sequences: - '_t1' - '_t2' - '_t1ce' - '_flair' # Mapping of labels to their numeric values labels: BKG: 0 EDE: 3 ENH: 1 NEC: 2 # List of features to extract features: statistical: true texture: true spatial: true tumor: true # Longitudinal study settings longitudinal: UCSF: pattern: "_" # Pattern used for splitting filename longitudinal_id: 1 # Index position for the subject ID after splitting the filename. Starting by 0 time_point: 2 # Index position for the time point after splitting the filename. Starting by 0 LUMIERE: pattern: "-" longitudinal_id: 1 time_point: 3 # Path where extracted features will be saved output_path: '/home/usr/AUDIT/outputs/features' logs_path: '/home/usr/AUDIT/logs/features' # others cpu_cores: 8 ```

2.2 Metric extraction config file

This configuration file defines the paths to datasets and model predictions, the labels, metrics to compute, and output paths for metric extraction in AUDIT.

Show configuration ```yaml # Path to the raw dataset data_path: '/home/usr/AUDIT/datasets/BraTS2024_PED/BraTS2024_PED_images' # Paths to model predictions model_predictions_paths: nnUnet: '/home/usr/AUDIT/datasets/BraTS2024_PED/BraTS2024_PED_seg/nnUnet' SegResNet: '/home/usr/AUDIT/datasets/BraTS2024_PED/BraTS2024_PED_seg/SegResNet' # Mapping of labels to their numeric values labels: BKG: 0 EDE: 3 ENH: 1 NEC: 2 # List of metrics to compute metrics: dice: true jacc: true accu: true prec: true sens: true spec: true haus: true size: true # Library used for computing all the metrics package: audit # Path where output metrics will be saved output_path: '/home/usr/AUDIT/outputs/metrics' filename: 'BraTS2024_PED' logs_path: '/home/usr/AUDIT/logs/metric' # others cpu_cores: 8 ```

2.3 APP config file

This configuration file sets up paths for datasets, extracted features, metrics, and model predictions. It also defines available sequences and label mappings used by the AUDIT application.

Show configuration ```yaml # Sequences available. First of them will be used to compute properties like spacing sequences: - '_t1' - '_t2' - '_t1ce' - '_flair' # Mapping of labels to their numeric values labels: BKG: 0 EDE: 3 ENH: 1 NEC: 2 # Root path for datasets, features extracted, and metrics extracted datasets_path: './datasets' # '/home/usr/AUDIT/datasets' features_path: './outputs/features' # '/home/usr/AUDIT/outputs/features' metrics_path: './outputs/metrics' # '/home/usr/AUDIT/outputs/metrics' # Paths for raw datasets raw_datasets: BraTS2020: "${datasets_path}/BraTS2020/BraTS2020_images" BraTS2024_SSA: "${datasets_path}/BraTS2024_SSA/BraTS2024_SSA_images" BraTS2024_PED: "${datasets_path}/BraTS2024_PED/BraTS2024_PED_images" UCSF: "${datasets_path}/UCSF/UCSF_images" LUMIERE: "${datasets_path}/LUMIERE/LUMIERE_images" # Paths for feature extraction CSV files features: BraTS2020: "${features_path}/extracted_information_BraTS2020.csv" BraTS2024_SSA: "${features_path}/extracted_information_BraTS2024_SSA.csv" BraTS2024_PED: "${features_path}/extracted_information_BraTS2024_PED.csv" UCSF: "${features_path}/extracted_information_UCSF.csv" LUMIERE: "${features_path}/extracted_information_LUMIERE.csv" # Paths for metric extraction CSV files metrics: BraTS2024_SSA: "${metrics_path}/extracted_information_BraTS2024_SSA.csv" BraTS2024_PED: "${metrics_path}/extracted_information_BraTS2024_PED.csv" UCSF: "${metrics_path}/extracted_information_UCSF.csv" LUMIERE: "${metrics_path}/extracted_information_LUMIERE.csv" # Paths for models predictions predictions: BraTS2024_SSA: nnUnet: "${datasets_path}/BraTS2024_SSA/BraTS2024_SSA_seg/nnUnet" SegResNet: "${datasets_path}/BraTS2024_SSA/BraTS2024_SSA_seg/SegResNet" BraTS2024_PED: nnUnet: "${datasets_path}/BraTS2024_PED/BraTS2024_PED_seg/nnUnet" SegResNet: "${datasets_path}/BraTS2024_PED/BraTS2024_PED_seg/SegResNet" ```

3. Run AUDIT backend

Use the following commands in your terminal to run the Feature extraction and Metric extraction scripts:

bash python src/audit/feature_extraction.py

bash python src/audit/metric_extraction.py

After running either script, a logs folder will be created to keep track of the execution. All output files will be stored in the folder defined in the corresponding config file (by default, in the outputs folder).

4. Run AUDIT app

AUDIT app is built on top of the Streamlit library. Use the following command to run the app and start exploring your data:

bash python src/audit/app/launcher.py

5. Additional configurations

5.1. ITK-Snap

AUDIT can be adjusted for opening cases with ITK-Snap while exploring the data in the different dashboards. The ITK-Snap tool must have been installed and preconfigured before. Below are placeholders for the necessary configuration for each operating system. Information will be added soon.

5.1.1. On Mac OS

show configuration Configuration instructions for Mac OS are not available yet. Please check back later.

5.1.2. On Linux OS

Show configuration Configuration instructions for Linux OS are not available yet. Please check back later. ```bash # Placeholder for future configuration commands ```

Authors

Please feel free to contact us with any issues, comments, or questions.

  • Carlos Aumente (UO297103@uniovi.es)
  • Mauricio Reyes
  • Michael Muller
  • Jorge Dez
  • Beatriz Remeseiro

License

Apache License 2.0

Owner

  • Name: Carlos Aumente
  • Login: caumente
  • Kind: user
  • Location: Madrid, Spain

Working as a Data Scientist

GitHub Events

Total
  • Release event: 1
  • Watch event: 3
  • Push event: 28
  • Public event: 1
  • Pull request event: 11
  • Create event: 4
Last Year
  • Release event: 1
  • Watch event: 3
  • Push event: 28
  • Public event: 1
  • Pull request event: 11
  • Create event: 4

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 0
  • Total pull requests: 8
  • Average time to close issues: N/A
  • Average time to close pull requests: 2 minutes
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 8
  • Average time to close issues: N/A
  • Average time to close pull requests: 2 minutes
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • caumente (8)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 179 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 12
  • Total maintainers: 1
pypi.org: auditapp

AUDIT, Analysis & evalUation Dashboard of artIficial inTelligence

  • Versions: 12
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 179 Last month
Rankings
Dependent packages count: 9.8%
Average: 32.6%
Dependent repos count: 55.3%
Maintainers (1)
Last synced: 8 months ago

Dependencies

.github/workflows/ci.yml actions
  • actions/cache v2 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
poetry.lock pypi
  • altair 5.5.0
  • appdirs 1.4.4
  • astroid 2.6.6
  • atomicwrites 1.4.1
  • attrs 25.1.0
  • black 19.10b0
  • blinker 1.9.0
  • cachetools 5.5.1
  • certifi 2025.1.31
  • charset-normalizer 3.4.1
  • click 8.0.0
  • colorama 0.4.6
  • contourpy 1.3.1
  • cycler 0.12.1
  • docstring-to-markdown 0.15
  • fonttools 4.55.8
  • gitdb 4.0.12
  • gitpython 3.1.44
  • h5py 3.12.1
  • idna 3.10
  • imageio 2.37.0
  • iniconfig 2.0.0
  • isort 5.13.2
  • jedi 0.19.2
  • jinja2 3.1.5
  • jsonschema 4.23.0
  • jsonschema-specifications 2024.10.1
  • kaleido 0.2.1
  • kiwisolver 1.4.8
  • lazy-loader 0.4
  • lazy-object-proxy 1.10.0
  • loguru 0.7.2
  • markdown-it-py 3.0.0
  • markupsafe 3.0.2
  • matplotlib 3.10.0
  • mccabe 0.6.1
  • mdurl 0.1.2
  • narwhals 1.25.1
  • networkx 3.4.2
  • numpy 2.2.1
  • packaging 24.2
  • pandas 2.2.3
  • parso 0.8.4
  • pathspec 0.12.1
  • patsy 1.0.1
  • pillow 10.4.0
  • plotly 5.22.0
  • pluggy 1.5.0
  • protobuf 5.29.3
  • py 1.11.0
  • pyarrow 19.0.0
  • pydeck 0.9.1
  • pygments 2.19.1
  • pylint 2.9.6
  • pymia 0.3.2
  • pyparsing 3.2.1
  • pytest 7.1.0
  • python-dateutil 2.9.0.post0
  • python-lsp-black 1.0.0
  • python-lsp-jsonrpc 1.1.2
  • python-lsp-server 1.12.0
  • pytz 2025.1
  • pyyaml 6.0.2
  • referencing 0.36.2
  • regex 2024.11.6
  • requests 2.32.3
  • rich 13.9.4
  • rpds-py 0.22.3
  • scikit-image 0.25.0
  • scipy 1.15.0
  • setuptools 75.8.0
  • simpleitk 2.3.1
  • six 1.17.0
  • smmap 5.0.2
  • st-theme 1.2.3
  • statsmodels 0.14.0
  • stqdm 0.0.5
  • streamlit 1.41.1
  • streamlit-plotly-events 0.0.6
  • tenacity 9.0.0
  • tifffile 2025.1.10
  • toml 0.10.2
  • tomli 2.2.1
  • tornado 6.4.2
  • tqdm 4.64.0
  • typed-ast 1.5.5
  • typing-extensions 4.12.2
  • tzdata 2025.1
  • ujson 5.10.0
  • urllib3 2.3.0
  • watchdog 6.0.0
  • win32-setctime 1.2.0
  • wrapt 1.12.1
pyproject.toml pypi
  • black 19.10b0 develop
  • pylint 2.9.6 develop
  • pytest 7.1 develop
  • python-lsp-black 1.0.0 develop
  • click 8.0.0
  • colorama 0.4.6
  • kaleido 0.2.1
  • loguru 0.7.2
  • matplotlib 3.10.0
  • numpy 2.2.1
  • pandas 2.2.3
  • pillow 10.4.0
  • plotly 5.22.0
  • pymia 0.3.2
  • python ^3.10
  • pyyaml 6.0.2
  • scikit-image 0.25.0
  • scipy 1.15.0
  • simpleitk 2.3.1
  • st-theme 1.2.3
  • statsmodels 0.14.0
  • stqdm 0.0.5
  • streamlit 1.41.1
  • streamlit-plotly-events 0.0.6
  • tqdm 4.64.0
requirements.txt pypi
  • click ==8.0.0
  • colorama ==0.4.6
  • kaleido ==0.2.1
  • loguru ==0.7.2
  • matplotlib ==3.10.0
  • numpy ==2.2.1
  • pandas ==2.2.3
  • pillow ==10.4.0
  • plotly ==5.22.0
  • pymia ==0.3.2
  • pyyaml ==6.0.2
  • scikit-image ==0.25.0
  • scipy ==1.15.0
  • simpleitk ==2.3.1
  • st-theme ==1.2.3
  • statsmodels ==0.14.0
  • stqdm ==0.0.5
  • streamlit ==1.41.1
  • streamlit-plotly-events ==0.0.6
  • tqdm ==4.64.0