Title Simpleitk: Image Analysis for All Levels of Programming Expertise
Total Page:16
File Type:pdf, Size:1020Kb
Title SimpleITK: image analysis for all levels of programming expertise Relevance for ISBI and academic objectives This tutorial introduces SimpleITK, a simplified interface to the Insight Toolkit (ITK) which is widely used in biomedical image analysis. It addresses the undergoing shift in researcher expertise from using compiled programming languages, C and C++, to interpreted languages such as Python. By the end of this course participants will be able to: 1. Use the SimpleITK registration framework to register their own data by selecting the appropriate components and settings. 2. Use SimpleITK to easily implement traditional segmentation workflows for comparison with deep learning approaches. 3. Use SimpleITK to prepare images as input for deep learning networks, including generation of synthetic images for data augmentation. 4. Use SimpleITK for quantitative evaluation of segmentation results. 5. Use SimpleITK for visualizing segmentation and registration results. Description and Timeline SimpleITK is a simplified programming interface to the algorithms and data structures of the Insight Toolkit (ITK) for segmentation, registration and advanced image analysis. It supports bindings for multiple programming languages including C++, Python, R, Java, C#, Lua, Ruby and TCL. Combining SimpleITK’s Python bindings with the Jupyter notebook web application creates an environment which facilitates collaborative development of biomedical image analysis workflows. In this tutorial, we will use a hands-on approach utilizing Jupyter notebooks to explore and experiment with various SimpleITK features in the Python programming language. Participants will follow along using their personal laptops, enabling them to explore the effects of code changes and parameter settings not covered by the instructor. We will start with a short introduction to the toolkit’s two basic data elements, Images and Transformations. Combining the two classes we show how to use SimpleITK as a tool for image preparation and data augmentation for deep learning via spatial and intensity transformations. We will then present various features available in the toolkit’s registration framework and components for constructing a segmentation workflow. Finally, we will show how to use the toolkit for qualitative, visual, and quantitative evaluation of segmentation and registration results. Half day tutorial (morning or afternoon session, schedule assumes morning session): 8:30am: Images and transformations. 9:00am: Resampling and data augmentation. 9:30am: Coffee break. 10:00am: Registration (rigid, non-rigid). 10:45min: Segmentation workflow. 11:30min: Segmentation and registration results evaluation, qualitative and quantitative. 12:00pm: Lunch Organizers Hans Johnson, University of Iowa Department of Electrical and Computer Engineering, Iowa City, IA, 52242, United States Email: [email protected] Bradley C. Lowekamp, National Institute of Allergy and Infectious Diseases, NIH 5601 Fishers Lane, 4A70 Rockville, MD, 20852, United States Email: [email protected] and MSC LLC Ziv Yaniv National Institute of Allergy and Infectious Diseases, NIH 8600 Rockville Pike, 31/3B62 Bethesda, MD, 20894, United States Email: [email protected] and MSC LLC Audience The intended audience are students, researchers and engineers involved in biomedical image analysis. Addressing their need for convenient image IO, image registration and segmentation, image manipulation for data augmentation and qualitative and quantitative evaluation of segmentation and registration results. Knowledge of the Python programming language is assumed. Audience Participation and Preparation The tutorial will use a hands-on approach with participants running programs on their computers. Consequentially: 1. Participants will need to bring their own laptops. 2. Beyond the standard LCD projector and screen, we will need power strips for participants to use. 3. We need to provide the registrants of the tutorial with instructions on how to install the SimpleITK Jupyter notebook environment before arriving at the conference venue. Please provide us with the email addresses of people registered for this tutorial in advance, so that we can provide them with instructions and address any problems they encounter prior to arriving at the venue. For those who do not install the environment in advance, one of the instructors will help them with the installation at the beginning of the tutorial. Course-pack description The course material will consist of illustrative examples and image analysis workflows written in the Python programming language utilizing the Jupyter notebook environment. All of the notebooks and data used in the tutorial will be freely available from GitHub. These will be similar to the notebook examples in our SimpleITK repository (browse online from http://insightsoftwareconsortium.github.io/SimpleITK-Notebooks/ ). Hans Johnson is an Associate Professor in the Department of Electrical and Computer Engineering, University of Iowa. He has taught university courses using SimpleITK to graduate students from multiple programs. He is actively involved in the development of open source software, contributing to multiple projects including BRAINSFit, 3D Slicer, ITK, and SimpleITK. He is the current treasurer of the Insight Software Consortium. Dr. Johnson has authored or co-authored over 100 peer-reviewed journal and conference papers, with his research supported by multiple NIH grants and contracts. Education PhD in Electrical and Computer Engineering, University of Iowa, Iowa City, IA, 2002. MS in Electrical and Computer Engineering, University of Iowa, Iowa City, IA, 2000. BS in Biomedical Engineering, University of Iowa, Iowa City, IA, 1997. Employment 2013 – present: Associate Professor, Department of Electrical and Computer Engineering, University of Iowa, Iowa City, IA. 2009-2013: Assistant Professor, Department of Psychiatry, Iowa Neuroimaging Consortium, University of Iowa Hospitals and Clinics, Iowa City, IA. 2006-2009: Associate Faculty, Department of Psychiatry, Iowa Neuroimaging Consortium, University of Iowa Hospitals and Clinics, Iowa City, IA. Sample of Relevant Publications Z. Yaniv, B. C. Lowekamp, H. J. Johnson, and R. Beare, “SimpleITK image-analysis notebooks: A collaborative environment for education and reproducible research,” Journal of Digital Imaging, 31(3), pp. 290-303 2018. D. Wu, A.V. Faria, L. Younes, S. Mori, T. Brown, H. Johnson, “Mapping the order and pattern of brain structural MRI changes using change‐point analysis in premanifest Huntington's disease”, Hum Brain Mapp., 38(10):5035-5050, 2017. J.L. Forbes, R.E.Y. Kim, J.S. Paulsen, H.J. Johnson, “An Open-Source Label Atlas Correction Tool and Preliminary Results on Huntingtons Disease Whole-Brain MRI Atlases”, Front Neuroinform, 10:29, 2016. H. J. Johnson, M. M. McCormick, L. Ibáñez et al., “The ITK Software Guide”, 2015. H Johnson, G Harris, K Williams, BRAINSFit: mutual information rigid registrations of whole-brain 3D images, using the insight toolkit, Insight Journal, 57(1):1–10, 2007. Bradley Lowekamp is a Senior Computer Scientist in the Bioinformatics and Computational Biosciences Branch, US National Institute of Allergy and Infectious Diseases and MSC LLC. He is the lead architect and developer of SimpleITK. He is actively involved in the development of open source software, contributing to multiple projects including 3D Slicer, ITK, and SimpleITK. He is the current vice president of the Insight Software Consortium. Mr. Lowekamp’s interests include biomedical image analysis and software engineering. Education B.Sc. in Computer Science and Mathematics, University of Maryland Baltimore County, 2002. Employment 2019 – present: Senior Computer Scientist, Medical Science & Computing LLC, and Bioinformatics and Computational Biosciences Branch, National Institute of Allergy and Infectious Diseases, US National Institutes of Health. 2011 – 2019: Senior Computer Scientist, Medical Science & Computing LLC, and Office of High Performance Computing and Communications, National Library of Medicine, National Institutes of Health. 2006-2011: Lockheed Martin and Office of High Performance Computing and Communications, National Library of Medicine, National Institutes of Health. Sample of Relevant Publications Z. Yaniv, B. C. Lowekamp, H. J. Johnson, and R. Beare, “SimpleITK image-analysis notebooks: A collaborative environment for education and reproducible research,” Journal of Digital Imaging, 31(3), pp. 290-303 2018. R. Beare, B. Lowekamp, and Z. Yaniv, “Image segmentation, registration and characterization in R with SimpleITK,” Journal of Statistical Software, 86(8), 2018. K. Narayan, C.M. Danielson, K. Lagarec, B.C. Lowekamp, P. Coffman, A. Laquerre,M.W. Phaneuf, T.J. Hope, S. Subramaniam, “Multi-resolution correlative focused ion beam scanning electron microscopy: applications to cell biology”, J Struct Biol., 185(3):278-84, 2014. B.C. Lowekamp, D.T. Chen, L. Ibáñez L and D. Blezek, “The Design of SimpleITK”, Front. Neuroinform. 7:45, 2013. T.S. Yoo, D. Bliss, B.C. Lowekamp, D.T. Chen, G.E. Murphy, K. Narayan, L.M. Hartnell, T. Do, S. Subramaniam, “Visualizing cells and humans in 3D: biomedical image analysis at nanometer and meter scales”, IEEE Comput Graph Appl., 32(5):39-49, 2012. Ziv Yaniv is a Senior Imaging Scientist in the Bioinformatics and Computational Biosciences Branch, US National Institute of Allergy and Infectious Diseases and MSC LLC. He is the lead maintainer of the SimpleITK Jupyter notebooks environment.