- 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
- 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
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.
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.
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
The bool initializeGlobalTimeSNC parameters of the InitializeView() methods were removed, as they were never called with non-default values.