Version 1 vs 4
Version 1 vs 4
Content Changes
Content Changes
{icon arrow-left} [[mitk/changelog/2022.07 | Previous changelog]] โข [[mitk/changelog/2022.12 | Next changelog]] {icon arrow-right}
= ๐ Third-party dependency changes =
NOTE: WIth 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.
| Dependency | Old version | New version |
| --- | --- | --- |
| ITK | 4.13.3 | 5.2.1 |
| VTK | 9.0.1 | 9.1.0 |
| GDCM | 3.0.8 | 3.0.10 |
| OpenCV | 3.4.8 | 3.4.16 |
| Eigen | 3.2.8 | 3.4.0 |
| JsonCpp | ? | 1.9.5 |
= โจ New features =
...
= ๐ Bugfixes =
...
= ๐ฅ API-breaking changes =
...
{icon arrow-left} [[mitk/changelog/2022.07 | Previous changelog]] โข [[mitk/changelog/2022.12 | Next changelog]] {icon arrow-right}
{icon arrow-left} [[mitk/changelog/2022.07 | Previous changelog]] โข [[mitk/changelog/2022.17 | Next changelog]] {icon arrow-right}
= ๐ 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.
| Dependency | Old version | New version |
| --- | --- | --- |
| ITK | 4.13.3 | 5.2.1 |
| VTK | 9.0.1 | 9.1.0 |
| GDCM | 3.0.8 | 3.0.10 |
| OpenCV | 3.4.8 | 3.4.16 |
| Eigen | 3.2.8 | 3.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 [[https://docs.mitk.org/nightly/org_mitk_views_segmentation.html#org_mitk_views_segmentationUserManualnnUNetTool | User Manual]] for more details)
- Added {key 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 [[https://github.com/Kitware/VTK/commit/14eecaf670e5387265fb496446fc32079f961aab | 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 [[https://github.com/InsightSoftwareConsortium/ITK/blob/v5.2.1/Documentation/ITK5MigrationGuide.md | 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 {icon arrow-right} `itk::IOComponentEnum::INT` and similar
- Pixel types: `itk::ImageIOBase::SCALAR` and similar {icon arrow-right} `itk::IOPixelEnum::SCALAR` and similar
- ITK mutexes and mutex lock holders {icon arrow-right} `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.
{icon arrow-left} [[mitk/changelog/2022.07 | Previous changelog]] โข [[mitk/changelog/2022.17 | Next changelog]] {icon arrow-right}
{icon arrow-left} [[mitk/changelog/2022.07 | Previous changelog]] โข [[mitk/changelog/2022.1217 | Next changelog]] {icon arrow-right}
= ๐ Third-party dependency changes =
NOTE: WIthBecause 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.
| Dependency | Old version | New version |
| --- | --- | --- |
| ITK | 4.13.3 | 5.2.1 |
| VTK | 9.0.1 | 9.1.0 |
| GDCM | 3.0.8 | 3.0.10 |
| OpenCV | 3.4.8 | 3.4.16 |
| Eigen | 3.2.8 | 3.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 [[https://docs.mitk.org/nightly/org_mitk_views_segmentation.html#org_mitk_views_segmentationUserManualnnUNetTool | User Manual]] for more details)
- Added {key 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 [[https://github.com/Kitware/VTK/commit/14eecaf670e5387265fb496446fc32079f961aab | 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 [[https://github.com/InsightSoftwareConsortium/ITK/blob/v5.2.1/Documentation/ITK5MigrationGuide.md | 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 {icon arrow-right} `itk::IOComponentEnum::INT` and similar
- Pixel types: `itk::ImageIOBase::SCALAR` and similar {icon arrow-right} `itk::IOPixelEnum::SCALAR` and similar
- ITK mutexes and mutex lock holders {icon arrow-right} `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.
{icon arrow-left} [[mitk/changelog/2022.07 | Previous changelog]] โข [[mitk/changelog/2022.1217 | Next changelog]] {icon arrow-right}