Professional Documents
Culture Documents
Design
Design
different languages such as python, java, and c#. Due to the large number of language
targets, a single unified tool for all languages was required for maintainability. The
simplified wrapper and interface generator (SWIG), is open source and a powerful
development tool for wrapping C++ with numerous high-level programming languages.
SWIG has support for over 20 target languages. It is capable of parsing basic C++
interfaces and generating glue code to connect the target languages to the interface. The
result is generally a direct mapping of a methods from the target language to an
associated method in the C++ interface.
WrapITK uses SWIG to interface ITK with other languages. But the complexity of the
templated programming used in ITK means that SWIG cannot directly wrap ITK.
Instead WrapITK requires additional tools to explicitly specify the interface of ITK in a
format that SWIG can understand to wrap certain instantiations of the templated ITK
interface. SimpleITK's simplified interface is designed to be directly wrappable by
SWIG.