SoftwareX (Dec 2021)
AGAT: Building and evaluating binary partition trees for image segmentation
Abstract
AGAT is a Java library dedicated to the construction, handling and evaluation of binary partition trees, a hierarchical data structure providing multiscale partitioning of images and, more generally, of valued graphs. On the one hand, this library offers functionalities to build binary partition trees in the usual way, but also to define multifeature trees, a novel and richer paradigm of binary partition trees built from multiple images and/or several criteria. On the other hand, it also allows one to manipulate the binary partition trees, for instance by defining/computing tree cuts that can be interpreted in particular as segmentations when dealing with image modeling. In addition, some evaluation tools are also provided, which allow one to evaluate the quality of different binary partition trees for such segmentation tasks. AGAT can be easily handled by various kinds of users (students, researchers, practitioners). It can be used as is for experimental purposes, but can also form a basis for the development of new methods and paradigms for construction, use and intensive evaluation of binary partition trees. Beyond the usual imaging applications, its underlying structure also allows for more general developments in graph-based analysis, leading to a wide range of potential applications in computer vision, image/data analysis and machine learning.