|
||||
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 time-dependent models, such as anisotropic diffusion and level-set-based 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 level-set-based geometric active contours, which allows real-time 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. Pre-compiled binaries (both standalone executables and MEX-dynamic 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 MEX-dynamic library. MEX binaries for Linux (Matlab 2007a, 32/64 bits), Microsoft Windows (Matlab 2007a, 32-bits), 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 MEX-only version was released in January 2007, while the first open source version was distributed in May 2008. |
||||
Licensing |
||||
GAC++ is Copyright © 2004-2010 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. IST-FP6-507752. This is gratefully acknowledged. |
||||
Last Update: June 4, 2008 |