Skip to main content

 UVal      Smiths Detection

UVal - Unified eValuation framework for 3D X-ray data

This python package is meant to provide a high level interface to facilitate the evaluation of object detection and segmentation algorithms that operate on 3D volumetric data.


  • There is a growing need for high performance detection algorithms using 3D data, and it is very important to be able to compare them. By far, there has not been a trivial solution for a straightforward comparison between different 3D detection algorithms.
  • This framework seeks a way to address the aforementioned problem by introducing a simple and standard layout of the popular HDF5 data format as input.
  • Each detection algorithm can export the results and groundtruth data according to the defined layout principles. Then, UVal can evaluate the performance and come up with common comparison metrics.

Installation (non-development)

If you are not developing and only using UVal, you can simply install it as a pypi package (requires Python 3.8 or higher); simply run:

pip install uval

If you would like to have UVal installation to be independant of a specific python environment, simply use pipx instead of pip.

To run the code you can type:

uval --config-file ${workspaceFolder}/output/example/config.yaml

For an example of the outputs see here and the report here.

For the details of each entry in the config file please see here.

Development setup

  • First, please clone the UVal's git repository by executing the following command:
    git clone https://gitlab.com/smithsdetection/uval.git

  • You will need a python >= 3.8 environment to develop Uval.
    We recommend using Anaconda due to its ease of use:

    curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
    bash Miniforge3-$(uname)-$(uname -m).sh
    

    For x86_64(amd64) use "Miniforge3-Linux-x86_64". For other operating systems see here.

  • Close and reopen your terminal session.

  • Setting up a conda virtual environment with poetry using the following commands:

    mamba env create -f environment.yml
    mamba activate UVALENV
    poetry install
    pre-commit install
    

    Alternatively, you can create your own conda environment from scratch. and follow with poetry and pre-commit installations.

Example code

  • A step-by-step walkthrough for reading and evaluating data with the UVal is available as a jupyter document:

  • Hint: Prior to running the demo jupyter notebook walkthrough, the following steps must be performed:

    • The ipykernel conda package must be installed
      conda install -c anaconda ipykernel
      
    • The uvalenv environment must be added as an ipykernel:
      python3 -m ipykernel install --user --name uvalenv --display-name "uvalenv Python38"
      
    • The uvalenv Python38 kernel, which includes all the required python packages must be selected in jupyter environment to run the code.

Documentations

Read the docs: https://uval.readthedocs.io/

Release History

  • 0.1.x
    • The first ready-to-use version of UVal releases publicly

Meta

Smiths Detection – @Twitter – uval@smithsdetection.com

UVal is released under the GPL V3.0 license.

Contributing

  1. Fork it (https://gitlab.com/smithsdetection/uval/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new merge Request

Citing UVal

If you use UVal in your research or wish to refer to the results, please use the following BibTeX entry.

@misc{smithsdetection2022uval,
  author =       {Philipp Fischer, Geert Heilmann, Mohammad Razavi, Faraz Saeedan},
  title =        {UVal},
  howpublished = {\url{https://gitlab.com/smithsdetection/uval}},
  year =         {2022}
}

Metadata

Release files for uval 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for uval 0.2.2
File Size Uploaded
uval-0.2.2.tar.gz 77.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for uval 0.2.2
File Interpreter ABI Platform
uval-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 177.2 kB

Release files / uval-0.2.2.tar.gz

Download URL uval-0.2.2.tar.gz
Size 77.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c0cf635315830d57c1f0308098b9bcddf076e449c493472550459440ffc06383
BLAKE2b-256 checksum
How to use checksums
e9c7dcd2385d05b79fc954461e02fcfb542d2ae7b419797545ec3f8cc9fbec58
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.2 CPython/3.8.19 Linux/4.18.0-553.22.1.el8_10.x86_64

Release files / uval-0.2.2-py3-none-any.whl

Download URL uval-0.2.2-py3-none-any.whl
Size 99.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
48a1f143f7c0d30d2b6700d2b4048e8ed5ce3168c3e0ed1454ec6e27e2ba8c88
BLAKE2b-256 checksum
How to use checksums
91fc54c124a56383493a8920474079359c41faff730bc04bb0ab3a96921326f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.2 CPython/3.8.19 Linux/4.18.0-553.22.1.el8_10.x86_64

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.1.7

2 release files

0.1.6

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page