# SWIG in SimpleITK architecture

**URL:** https://discourse.itk.org/t/swig-in-simpleitk-architecture/2782
**Category:** Beginner Questions
**Tags:** simpleitk
**Created:** [March 4, 2020, 4:59am UTC](https://discourse.itk.org/t/swig-in-simpleitk-architecture/2782 "2020-03-04T04:59:43Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![kayarre](https://discourse.itk.org/user_avatar/discourse.itk.org/kayarre/32/669_2.png) [@kayarre](https://discourse.itk.org/u/kayarre)
#### Post date: [March 4, 2020, 4:59am UTC](https://discourse.itk.org/t/swig-in-simpleitk-architecture/2782/1 "2020-03-04T04:59:43Z")

</div>

Can someone point me to the design of how swig is being used in ITK/SimpleITK? Or explain that succinctly in terms of the architecture, merits and limitations?

I asked a similar question about vtk not knowing that SWIG isn’t used in vtk.

[https://discourse.vtk.org/t/explain-the-vtk-architecture-design/1978/11?u=kayarre](https://discourse.vtk.org/t/explain-the-vtk-architecture-design/1978/11?u=kayarre)

---

<div class="post-metadata">

### Author: ![flaviu2](https://discourse.itk.org/letter_avatar_proxy/v4/letter/f/74df32/32.png) [@flaviu2](https://discourse.itk.org/u/flaviu2)
#### Post date: [March 4, 2020, 9:36am UTC](https://discourse.itk.org/t/swig-in-simpleitk-architecture/2782/2 "2020-03-04T09:36:45Z")

</div>

I have found an useful document here: [https://data.kitware.com/#collection/57b5c9e58d777f126827f5a1/folder/57b5ddb98d777f10f2695fb0](https://data.kitware.com/#collection/57b5c9e58d777f126827f5a1/folder/57b5ddb98d777f10f2695fb0)

I attach pdf: [SimpleITK-MICCAI-2011.pdf](https://discourse.itk.org/uploads/short-url/qVhwgDuAmrMlAAp6jOfpBdvayXv.pdf) (2.5 MB)

I hope to help you.

---

<div class="post-metadata">

### Author: ![blowekamp](https://discourse.itk.org/user_avatar/discourse.itk.org/blowekamp/32/79_2.png) [@blowekamp](https://discourse.itk.org/u/blowekamp)
#### Post date: [March 4, 2020, 1:43pm UTC](https://discourse.itk.org/t/swig-in-simpleitk-architecture/2782/3 "2020-03-04T13:43:26Z")

</div>

If you are interested in the architecture of SimpleITK the design paper would be the definitive reference:

B. C. Lowekamp, D. T. Chen, L. Ibáñez, D. Blezek, “The Design of SimpleITK”, _Front. Neuroinform._ , 7:45. [https://doi.org/10.3389/fninf.2013.00045](https://doi.org/10.3389/fninf.2013.00045), 2013.

---

<div class="post-metadata">

### Author: ![dchen](https://discourse.itk.org/user_avatar/discourse.itk.org/dchen/32/34_2.png) [@dchen](https://discourse.itk.org/u/dchen)
#### Post date: [March 4, 2020, 1:44pm UTC](https://discourse.itk.org/t/swig-in-simpleitk-architecture/2782/4 "2020-03-04T13:44:16Z")

</div>

If you want technical details about how SimpleITK uses SWIG, you can check out the original paper here:

Lowekamp BC, Chen DT, Ibáñez L, Blezek D. The Design of SimpleITK. Front Neuroinform. 2013 Dec 30;7:45. doi: 10.3389/fninf.2013.00045. PMID: 24416015; PMCID: PMC3874546.

> **[The Design of SimpleITK](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3874546/)**
>
> SimpleITK is a new interface to the Insight Segmentation and Registration Toolkit (ITK) designed to facilitate rapid prototyping, education and scientific activities via high level programming languages. ITK is a templated C++ library of image...

---

<div class="post-metadata">

### Author: ![dchen](https://discourse.itk.org/user_avatar/discourse.itk.org/dchen/32/34_2.png) [@dchen](https://discourse.itk.org/u/dchen)
#### Post date: [March 4, 2020, 1:46pm UTC](https://discourse.itk.org/t/swig-in-simpleitk-architecture/2782/5 "2020-03-04T13:46:35Z")

</div>

Jinx!

---

<div class="post-metadata">

### Author: ![matt.mccormick](https://discourse.itk.org/user_avatar/discourse.itk.org/matt.mccormick/32/7_2.png) [@matt.mccormick](https://discourse.itk.org/u/matt.mccormick)
#### Post date: [March 5, 2020, 2:52am UTC](https://discourse.itk.org/t/swig-in-simpleitk-architecture/2782/6 "2020-03-05T02:52:01Z")

</div>

More information on SWIG in ITK’s wrapping infrastructure can be found in Book 1, Section 3.7 of the [ITK Software Guide](https://itk.org/ItkSoftwareGuide.pdf).
