AGAT is a Java project gathering some useful libraries for efficient construction and evaluation of binary partition trees (BPT) with a special focus on image segmentation. The binary partition tree (BPT) is a classical data structure for the hierarchical modelling of images at different scales. BPTs belong both to the families of graph-based models and morphological hierarchies. They constitute an efficient way to define sets of nested partitions of image support, that further provide knowledge-guided reduced research spaces for optimization-based segmentation procedures.
Some of the main features of AGAT are:
- graph-based methods and efficient data structures to handle hierarchical image representations;
- binary partition trees: standard (BPTs) and multi-feature / multi-image trees (MBPTs);
- collaborative strategies to establish a consensus between different metrics, thus enabling to obtain a unified hierarchical segmentation space for MBPTs;
- assesment of the quality of binary partition trees (i.e. their ability to allow further segmentation methods to compute good results) with state-of-the-art methods;
- image toolbox: special methods dedicated to hierarchical image analysis.
Project architecture and dependencies:
• Image
• BinaryPartitionTree
• TreeEvaluation
Language: Java
Supported systems:
- Java
- Linux, macOS, Windows
Core classes:
• BPT: Binary Partition Tree
• MBPT: Multi-feature Binary Partition Tree
• SegReference: BPT evaluation
• IntinsicEval: Intrinsic evaluation
• ExtrinsicEval: Extrinsic evaluation
Getting started:
- you can start with some examples to build BPTs
- and then to evaluate them with code samples
The license Cecill-B is fully compatible with BSD-like licenses (BSD, X11, MIT) with an attribution requirement.
AGAT2.0 bundles some third-party libraries:
- jai_codec, jai_core, jai_imageio are parts of the Java Advanced Imaging API which is a set of image encoder/decoder (codec) classes - Java Research License (JRL)
- sis-jhdf5 helps to manage HDF5 file formats - Apache License 2.0