Gc  1
Graph Cut optimization library


Graph Cut optimization library - Gc in short - is a library focusing on the graph cut combinatorial optimization and its use in digital image analysis. This research field has become very popular in the last decade and many interesting algorithms are built upon graph cuts. The library is being developed in C++ and places emphasis especially on speed and low memory usage as well as clean and extensible object-oriented design.


The library offers implementation of several popular algorithms from the field. Here is the listed of the most interesting ones (click on the algorithm to get a detailed description and references):


The directory Examples contains few examples of usage of the library. Mostly these examples are provided in the form of a Matlab interface to allow simple testing and fast prototyping, but can be easily rewritten for purposes of any library or application.

Compilation guide

To generate Makefile for your platform and compiler use the CMake tool. The library has no external dependencies and does not require any special tuning which makes the configuration and compilation process really straightforward. Note that creating a static version of the library is not supported.

Supported platforms

One of the primary goals of the library is to be cross-platform and to avoid ugly platform or compiler specific hacks. Basically, it should be possible to build the library on any platform using a C++ compiler with decent support for modern standards (particularly templates). We have sucesfully compiled and used the library on the following platforms:


The library is licensed under the GNU Lesser General Public License. Its text is included with the library and is also accessible from the documentation, see The GNU General Purpose License and The GNU Lesser General Purpose License. We also encourage you to reference this library if you use it. Finally, note that some of the algorithms implemented in this library may have their own licensing rules (like not being available for commercial use or requiring citation of some publications) and some may have patents pending. We tried to mention these in the detailed documentation of such algorithms, but we can't guarantee this information is complete, so be careful.


The library has been developed at Centre for Biomedical Image Analysis at the Faculty of Informatics, Masaryk University, Brno, Czech Republic. Currently it has only one author:


We did our best to offer detailed information on the sources (either publications or implementations) that were used during the development of this library and the included algorithms. If any information is wrong or missing please feel free to contact us at the address mentioned above so we can fix the issue as soon as possible.