Page MenuHomePhabricator

Migrate MITK to use ITK 5.x
Open, NormalPublic

Description

MITK should migrate to use the ITK 5.x series. This task is meant to document findings, overall progress etc..

Official migration guide is here: https://github.com/InsightSoftwareConsortium/ITK/blob/master/Documentation/ITK5MigrationGuide.md

Event Timeline

nolden triaged this task as Normal priority.May 22 2020, 1:27 PM
nolden created this task.
nolden added a subscriber: floca.May 22 2020, 2:22 PM

I changed the superbuild to use ITK 5 with compatibilty and fixed some straightforward issues. This branch can be used for further investigations @floca : some ideas about the geometry issues would be very helpful. The migration guide has an overview on the topic but my experience in that area is limited

I had a swift look into ITK and our code base and I would guess the following:

  • mitkBaseGeometry.h: typedef itk::AffineGeometryFrame<ScalarType, 3> AffineGeometryFrame3D can be completly removed because it is not used any more in our code base
  • mitkAffineGeometry3D.h: typename itk::AffineGeometryFrame<ScalarType, 3>::TransformType AffineTransform3D; can be replaced with using AffineTransform3D = itk::ScalableAffineTransform<ScalarType, 3>

That should do the trick, if I have not missed something. Pressing thumbs.

nolden added a comment.Jun 3 2020, 3:07 PM

@floca : thanks. Not the whole trick but helped a lot. I will follow up with more geometry questions later ;)

For now if someone wants to pick up work on this, there are some uncurated fixes here which are correct but have to be cleaned up before pushing to MITK repo: https://github.com/nolden/MITK/tree/wip-itk5