The main class of GIRL is toger, for topological/geometrical representation. With this representation, it is possible to execute efficiantly several operations:
- side effects functions: to split or merge regions
- topological functions: get the neighbourhood of a region, get region inside an other region, ...
- geometrical functions: get the domain of a region (its pixels), all its boundaries (both outer and inner), ... It is also possible to get the region corresponding to a given pixel.
- topological marking functions: to mark boundaries of regions and thus exclude them from side ffects functions or topological interrogation results.
GIRL is implemented in C++.
We have developped several C++ libraries on top of GIRL : girlTools, euclideanPath, and ise.
- girlTools is a set of basic classes and functions that provide basic functionnalities on a toger, such as load/save operations, or region perimeter/area computation.
- euclideanPath implements euclidean paths presented in the paper Euclidean paths : a new representation of boundary of discrete regions by Braquelaire and Vialard. It provides a way to approximate the real boundary underlying the discrete boundary of a region.
- ise ise a set of segmentation algorithm.
The following picture describes the hierarchy of our libraries and program:
All libraries girl, girlTools, euclideanPath, and ise are distributed under GNU LGPL (version 2.1) qise is distributed under the GNU GPL (version 2).