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.8environment 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 environmentwithpoetryusing 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
poetryandpre-commitinstallations.
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
ipykernelconda package must be installedconda install -c anaconda ipykernel
- The
uvalenvenvironment must be added as an ipykernel:python3 -m ipykernel install --user --name uvalenv --display-name "uvalenv Python38"
- The
uvalenv Python38kernel, which includes all the required python packages must be selected injupyterenvironment to run the code.
- The
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
- Fork it (https://gitlab.com/smithsdetection/uval/fork)
- Create your feature branch (
git checkout -b feature/fooBar) - Commit your changes (
git commit -am 'Add some fooBar') - Push to the branch (
git push origin feature/fooBar) - 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)
| File | Size | Uploaded | |
|---|---|---|---|
| uval-0.2.2.tar.gz | 77.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|