Journal of Digital Imaging

, Volume 31, Issue 3, pp 290–303 | Cite as

SimpleITK Image-Analysis Notebooks: a Collaborative Environment for Education and Reproducible Research

  • Ziv YanivEmail author
  • Bradley C. Lowekamp
  • Hans J. Johnson
  • Richard Beare


Modern scientific endeavors increasingly require team collaborations to construct and interpret complex computational workflows. This work describes an image-analysis environment that supports the use of computational tools that facilitate reproducible research and support scientists with varying levels of software development skills. The Jupyter notebook web application is the basis of an environment that enables flexible, well-documented, and reproducible workflows via literate programming. Image-analysis software development is made accessible to scientists with varying levels of programming experience via the use of the SimpleITK toolkit, a simplified interface to the Insight Segmentation and Registration Toolkit. Additional features of the development environment include user friendly data sharing using online data repositories and a testing framework that facilitates code maintenance. SimpleITK provides a large number of examples illustrating educational and research-oriented image analysis workflows for free download from GitHub under an Apache 2.0 license:


Image analysis Open-source software Registration Segmentation Python 


  1. 1.
    Adams J: Collaborations: the rise of research networks. Nature 490(7420):335–336, 2012CrossRefPubMedGoogle Scholar
  2. 2.
    Adams J: Collaborations: the fourth age of research. Nature 497(7451):557–560, 2013CrossRefPubMedGoogle Scholar
  3. 3.
    Avants BB, Tustison NJ, Stauffer M, Song G, Wu B, Gee JC: The insight toolkit image registration framework. Front Neuroinform 8:1–13, 2014CrossRefGoogle Scholar
  4. 4.
    Chacon S: Pro Git, 1st edition. New York: Apress, 2009CrossRefGoogle Scholar
  5. 5.
    Chu V, Hamarneh G: MATLAB-ITK interface for medical image filtering, segmentation, and registration. In: SPIE Medical imaging: image processing, vol 6144, 2006Google Scholar
  6. 6.
    Dickinson AWL, Abolmaesumi P, Gobbi DG, Mousavi P: SimITK: visual programming of the itk image-processing library within simulink. J Digit Imaging 27(2):220–230, 2014CrossRefPubMedPubMedCentralGoogle Scholar
  7. 7.
    Donoho DL, Maleki A, Rahman IU, Shahram M, Stodden V: Reproducible research in computational harmonic analysis. IEEE Comput Sci Eng 11(1):8–18, 2009CrossRefGoogle Scholar
  8. 8.
    Fedorov A, Beichel R, Kalpathy-cramer J et al: 3D Slicer as an image computing platform for the quantitative imaging network. Magn Reson Imaging 30(9):1323–1341, 2012CrossRefPubMedPubMedCentralGoogle Scholar
  9. 9.
    Gamma E, Helm R, Johnson R, Vlissides JM: Design patterns: elements of reusable object-Oriented software Boston: Addison-Wesley, 1994Google Scholar
  10. 10.
    Hermans F et al: Leaders of tomorrow on the future of software engineering: A roundtable. IEEE Softw 33(2):99–104, 2016CrossRefGoogle Scholar
  11. 11.
    Hunter JD: Matplotlib: a 2D graphics environment. Computing In Science & Engineering 9(3):90–95, 2007CrossRefGoogle Scholar
  12. 12.
    Jannin P, Fitzpatrick JM, Hawkes DJ, Pennec X, Shahidi R, Vannier MW: Validation of medical image processing in image-guided therapy. IEEE Trans Med Imaging 21(12):1445–1449 , 2002CrossRefPubMedGoogle Scholar
  13. 13.
    Johnson HJ, McCormick M, Ibáñez L: The ITK software guide: design and functionality Clifton Park: kitware inc, 2015Google Scholar
  14. 14.
    Jones E, Oliphant T, Peterson P. et al (2017) SciPy: open source scientific tools for pythonGoogle Scholar
  15. 15.
    Kluyver T, Ragan-Kelley B, Pérez F, Granger B, Bussonnier M, Frederic J, Kelley K, Hamrick J, Grout J, Corlay S, Ivanov P, Avila D, Abdalla S, Willing C, Team JD: Jupyter notebooks - a publishing format for reproducible computational workflows. In: Positioning and power in academic publishing: players, agents and Agendas: proceedings of the 20th international conference on electronic publishing, 2016, pp 87–90Google Scholar
  16. 16.
    Knuth DE: Literate programming. Comput J 27:97–111, 1984CrossRefGoogle Scholar
  17. 17.
    Le HD, Li R, Ourselin S, Potter J: A visual dataflow language for image segmentation and registration. In: Software and data technologies: second international conference, ICSOFT/ENASE, 2009, pp 60–72Google Scholar
  18. 18.
    Lowekamp BC, Chen DT, Ibáñez L, Blezek D: The design of SimpleITK. Front Neuroinform 7:1–14, 2013CrossRefGoogle Scholar
  19. 19.
    Nolden M, Zelzer S, Seitel A et al: The medical imaging interaction toolkit: challenges and advances 10 years of open-source development 8(4):607–620, 2013Google Scholar
  20. 20.
    Parker SG, Johnson CR: SCIRun: a scientific programming environment for computational steering. In: Proceedings of the 1995 ACM/IEEE conference on supercomputing, 1995Google Scholar
  21. 21.
    Peng RD: Reproducible research in computational science. Science 334(6060):1226–1227, 2011CrossRefPubMedPubMedCentralGoogle Scholar
  22. 22.
    Popa T, Ibáñez L, Levy E, White A, Bruno J, Cleary K: Tumor volume measurement and volume measurement comparison plug-ins for volview using itk. In: SPIE medical imaging: visualization, image-guided procedures, and display, 2006Google Scholar
  23. 23.
    Ritter F, Boskamp T, Homeyer A, Laue H, Schwier M, Link F, Peitgen HO: Medical image analysis: a visual approach. IEEE Pulse 2(6):60–70, 2011CrossRefPubMedGoogle Scholar
  24. 24.
    Schindelin J, Arganda-Carreras I, Frise E et al: Fiji: an open-source platform for biological-image analysis. Nat Meth 9(7):676–682, 2012CrossRefGoogle Scholar
  25. 25.
    Shen H: Interactive notebooks: sharing the code. Nature 515(7525):151–152, 2014CrossRefPubMedGoogle Scholar
  26. 26.
    Vandemeulebroucke J, Sarrut D, Clarysse P: The POPI-model, a point-validated pixel-based breathing thorax model. In: Proceeding of the XVth ICCR conference, 2007Google Scholar
  27. 27.
    Warfield SK, Zou KH, Wells III WM: Simultaneous truth and performance level estimation (STAPLE),: an algorithm for the validation of image segmentation. IEEE Trans Med Imaging 23(7):903–921, 2004CrossRefPubMedPubMedCentralGoogle Scholar
  28. 28.
    Wickham H: ggplot2: elegant graphics for data analysis New York: Springer, 2009CrossRefGoogle Scholar
  29. 29.
    Yaniv Z: Localizing spherical fiducials in C-arm, based cone-beam CT. Med Phys 36(11):4957–4966, 2009CrossRefPubMedGoogle Scholar
  30. 30.
    Yushkevich PA, Piven J, Cody Hazlett H, Gimpel Smith R, Ho S, Gee JC, Gerig G: User-guided 3D active contour segmentation of anatomical structures: significantly improved efficiency and reliability. Neuroimage 31(3):1116–1128, 2006CrossRefPubMedGoogle Scholar

Copyright information

© Society for Imaging Informatics in Medicine (outside the USA) 2017

Authors and Affiliations

  1. 1.TAJ Technologies Inc.BloomingtonUSA
  2. 2.National Library of MedicineNational Institutes of HealthBethesdaUSA
  3. 3.MSC LLCRockvilleUSA
  4. 4.Department of Electrical and Computer EngineeringThe University of IowaIowa CityUSA
  5. 5.Department of MedicineMonash UniversityMelbourneAustralia

Personalised recommendations