

Overview 

GAC++ is a toolbox written in C++ for the efficient solution of partial differential equations arising in image analysis and computer vision. The emphasis is on the solution of timedependent models, such as anisotropic diffusion and levelsetbased geometric active contours, using stable implicit schemes, as explained in detail in the related publications. Highlight of GAC++ is the solution of these PDE models with multigrid algorithms, as exemplified by our multigrid algorithm for the fast evolution of levelsetbased geometric active contours, which allows realtime performance on conventional PCs. Key for the efficiency of the technique is the solution of a big sparse linear system with multigrid techniques, which attack the problem at multiple resolutions. 

Author 

GAC++'s author is George Papandreou. 

Architecture 

The main objective in the design of GAC++ has been the clear separation of three distinct entities:
Another objective has been good performance. Towards that end, we use C++ templates extensively, and also utilize optimized FORTRAN routines in critical parts of the code. 

Usage 

The code can be used to build two types of binaries:


Compiling 

The code is written in standard C++ and makes heavy use of templates. It has been compiled successfully both on Linux using gcc and on Windows using recent versions of Microsoft's Visual Studio. Precompiled binaries (both standalone executables and MEXdynamic libraries) for Linux and Microsoft Windows are also included, in case the user doesn't wish to compile the examples by herself. 

Dependencies 

GAC++ does not implement its own linear system solvers. Instead, I have built interfaces to external fast and robust numerical solvers. Currently, interfaces to the following solvers are available:
Apart from that, GAC++ uses ImageMagick for image input/output, although you can easily use your own routines instead. 

Downloads 

The easiest way to start using GAC++ is by calling it from Matlab as a MEXdynamic library. MEX binaries for Linux (Matlab 2007a, 32/64 bits), Microsoft Windows (Matlab 2007a, 32bits), and MacOS (Matlab 2007b) are provided here:
To obtain the full source code of GAC++, please contact George Papandreou by email. 

Publications 

See also our related research web page on Multigrid Geometric Active Contours. 

Related Software 

If you are interested in GAC++, you might also find the following software useful:


Release History 

GAC++ emerged from my research in multigrid algorithms for geometric active contour models (see more here). In roughly the current architecture, it is being developed and improved since 2004. The first public MEXonly version was released in January 2007, while the first open source version was distributed in May 2008. 

Licensing 

GAC++ is Copyright © 20042010 by George Papandreou. GAC++ is distributed under the GNU General Public License (GPL). If you are interested in alternative licensing options (i.e. Dual Licensing) or consulting help, please contact George Papandreou by email. Note: GAC++ is computer vision research software and thus comprehending the code requires familiarity with computer vision ideas and active contours in particular. Also, due to time constraints, I can only provide limited user support. 

Acknowledgments 

Financial support for this software has been provided by the FP6 European Network of Excellence MUSCLE, under contract no. ISTFP6507752. This is gratefully acknowledged. 

Last Update: June 4, 2008 