Which is the best one ITK c++ or simpleITK python?

Which one do researchers generally use for medical image processing?
Which one could be faster?
Which one would be easy?
What are the pros and cons?

Hello @unicorn,

Welcome to the ITK eco-system!

You’re asking tough questions, below is my personal perspective:

  1. Current research efforts in segmentation and registration are primarily focused on deep learning, so look at keras/tensorflow/pytorch.
    For research, the ITK eco system is very useful for establishing ground truth and image preparation in (semi)automated ways.
    For commercial products ITK/SimpleITK in C++ and in Python are part of clinically deployed systems. This attests to the maturity of the whole eco-system.

  2. The tools are a progression in complexity and flexibility, starting in the shallow end of the pool with SimpleITK (less complex and flexible), then ITK-Python, and finally ITK-C++ (most complex and flexible). Speed-wise they are all very similar and you are not penalized for using Python as everything is C++ under the hood.

  3. If only doing research start in the SimpleITK/ITK-Python side of the pool. If the goal is a product you may also want to venture into the ITK-C++ side of the pool, though that may not be necessary.

Bottom line, these are all tried and tested tools, so choose the one that fits your needs and requires minimal effort on your part.

4 Likes