Page MenuHomePhabricator

2022 Week 12 (Late March)
Updated 920 Days AgoPublic

Previous changelog โ€ข Next changelog

๐Ÿ›  Third-party dependency changes

NOTE: Because of the major upgrade of ITK from version 4.13.3 to version 5.2.1, it is very likely that you have to migrate your MITK-based code to the API of ITK v5. See the API-breaking changes section further below for more details.
DependencyOld versionNew version
ITK4.13.35.2.1
VTK9.0.19.1.0
GDCM3.0.83.0.10
OpenCV3.4.83.4.16
Eigen3.2.83.4.0
JsonCpp?1.9.5

โœจ New features

  • The Segmentation View and Multilabel Segmentation View are now merged into a single Segmentation View
  • Streamlined the creation of new segmentations and labels with default names
  • Added the nnUNet segmentation tool (see the User Manual for more details)
  • Added F1 context help page for Standard Display editor
  • Custom perspectives can be saved in the View Navigator now
  • Allow seed points inside existing segmentations in Region Growing segmentation tool
  • Raised the minimum required C++ standard from 14 to 17
  • Made MITK compatible with GCC 11

๐Ÿ› Bugfixes

  • 3D threshold segmentation tool works correctly with multiple labels and layers now
  • Fixed colors of drawn contours with the Paint segmentation tool
  • Fixed decimal point format in some copy'n'paste scenarios

๐Ÿ”ฅ API-breaking changes

Image Statistics

While not strictly an API-breaking change, we want to inform you explicitly that we changed the calculation of variance in our Image Statistics from population variance to sample variance, utilizing Bessel's correction. The effective difference is to divide by the number of pixels minus one instead of the number of pixels.

Classification

As a consequence of changes in the formulas and numerical stability of VTK's vtkCurvature class in VTK 9.1, some curvature-based statistical values will be different.

ITK v5 upgrade

If you are affected by any API changes corresponding to the ITK v5 upgrade, we recommend the official ITK v5 Migration Guide, in particular regarding changes in multi-threading.

You may also want to have a look into the Git history of MITK around commit 33923500841b7a4c4eb66aea91f61cff972383f9, since it contains a good amount of migrations.

You will figure out that the majority of necessary changes are simple replacements. The most prominent ones are:

  • Component types: itk::ImageIOBase::INT and similar itk::IOComponentEnum::INT and similar
  • Pixel types: itk::ImageIOBase::SCALAR and similar itk::IOPixelEnum::SCALAR and similar
  • ITK mutexes and mutex lock holders std::mutex and std::lock_guard<std::mutex>
  • Return type of itk::Object::GetMTime() is now itk::ModifiedTimeType

RenderingManager class

The bool initializeGlobalTimeSNC parameters of the InitializeView() methods were removed, as they were never called with non-default values.

WARNING: Since the last two parameters were default-initialized bool parameters, check if you ever made use of them and now accidentally pass the old initializeGlobalTimeSNC parameter as resetCamera parameter.

Previous changelog โ€ข Next changelog

Last Author
kislinsk
Last Edited
Apr 25 2022, 3:02 PM