Package: uval
UVal - Unified eValuation framework for 3D X-ray dataThis 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 apypipackage; simply run:pipinstalluvalIf you would like to have UVal installation to be independant of a specific python environment, simply usepipxinstead ofpip.To run the code you can type:uval--config-file${workspaceFolder}/output/example/config.yamlFor an example of the outputs seehereand the reporthere.For the details of each entry in the config file please seehere.Installation (development)We recommend using the Anaconda package manager to createvirtual environmentfor UVal:# for Linux installation:wgethttps://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh
sh./Anaconda3-2020.11-Linux-x86_64.shDevelopment setupFirst, please clone the UVal's git repository by executing the following command:git clone https://gitlab.com/smithsdetection/uval.gitYou will need apython >= 3.8environment to develop Uval.We recommend using Anaconda due to its ease of use:wgethttps://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh
sh./Anaconda3-2020.11-Linux-x86_64.shSetting up aconda virtual environmentwithpython=3.8using the following commands:
Install conda-lock with pip support.cduval
conda-lockinstall--nameUVALENVconda-lock.yml
poetryinstall
pre-commitinstallALternatively, you can create your own conda environment from scratch. and follow withpoetryandpre-commitinstallations.Example codeA step-by-step walkthrough for reading and evaluating data with the UVal is available as a jupyter document:jupyter notebook demoHint:Prior to running the demo jupyter notebook walkthrough, the following steps must be performed:Theipykernelconda package must be installedcondainstall-canacondaipykernelTheuvalenvenvironment must be added as an ipykernel:python3-mipykernelinstall--user--nameuvalenv--display-name"uvalenv Python38"Theuvalenv Python38kernel, which includes all the required python packages must be selected injupyterenvironment to run the code.DocumentationsRead the docs:https://uval.readthedocs.io/Release History0.1.xThe first ready-to-use version of UVal releases publiclyMetaSmiths Detection –@Twitter–uval@smithsdetection.comUValis released under theGPL V3.0 license.ContributingFork 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 RequestCiting UValIf 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}
}