Perelman School of Medicine at the University of Pennsylvania

Section for Biomedical Image Analysis (SBIA)


Welcome to CBICA’s C++ learning resource

This section contains resources in support of computing at CBICA, such as tutorials, example datasets for different problem statements. Please contact us at for questions and details.

Here, we will be showcasing our seminar series “CPP for Image Processing and Machine Learning” including presentations and code examples.

There are image processing and machine learning libraries out there which use C++ as a base and have become industry standards (ITK for medical imaging, OpenCV for computer vision and machine learning, Eigen for linear algebra, Shogun for machine learning). The documentation provided with these packages, though extensive, assume a certain level of experience with C++. Our tutorials are intended for those people who have basic understanding of medical image processing and machine learning but who are just starting to get their toes wet with C++ (and possibly have prior experience with Python or MATLAB).

Here we will be focusing on how someone with a good theoretical background in image processing and machine learning can quickly prototype algorithms using CPP and extend them to create meaningful software packages.

To download the tutorials, please visit

There will be more tutorials as and when we finalize the topics. Please contact us at for topic suggestions and questions.

The University of Pennsylvania and the Center for Biomedical Image Computing and Analytics assume no responsibility for the code provided in these tutorials. The user is free to use and distribute the code as they see fit as long as they cite the relevant source(s).

Please see LICENSE for details regarding copying and using the code.


Keywords: tutorials, cbica tutorials, tutorial, cbica tutorial, itk, opencv, cpp, svn, c++11, c++