Version 1 vs 2
Version 1 vs 2
Content Changes
Content Changes
.
{icon arrow-left} [[mitk/changelog/release-v2022.10 | Previous changelog]] • [[mitk/changelog/2023.11 | Next changelog]] {icon arrow-right}
= 🛠 Third-party dependency changes =
//none//
= ✨ New features =
- MITK provides a CITATION.cff file (see [[https://citation-file-format.github.io/ | What is a CITATION.cff file?]])
- 2-d and 3-d interpolation of segmentations also work with multi-layer multi-label segmentations
- Double-clicking on a label in the Segmentation View moves the crosshair / views to the label's center of mass.
= 🐛 Bugfixes =
- The "Scan directory" button in the DICOM Browser no longer freezes the application on macOS
- Loading a segmentation after the Standard Display has been closed does no longer crash
- Segmentations cannot be saved as unsupported file formats anymore regarding the multi-layer feature
- Unsupported segmentation formats like legacy binary masks can no longer be selected by default as segmentations (right-click image in Data Manager and choose "Convert to Segmentation" instead)
= 🔥 API-breaking changes =
== Preferences moved from BlueBerry to MITK Core Services ==
The preferences core service completely replaces the previous preferences service of BlueBerry, making preferences finally available in modules.
Migration is straight forward, as the interface of the core preferences service is as equal as possible to the BlueBerry preferences service.
The only difference is the replacement of Qt types with std types, in particular the replacement of `QString` with `std::string`.
You may want to adapt your string types when migrating to the new service or use methods like `QString::fromStdString()` and `QString::toStdString()`. In other occasions where std strings have been used already, you can remove conversions like `std::string::c_str()` that are not necessary anymore.
While migrating the BlueBerry preferences we noticed that quite a few functionalities were never fully implemented, erroneous, or completely unused. We took the opportunity to remove them. In the uncertain case you miss such a previous "feature" that you assumed to work fine for you, give us a note so we can double check.
Retrieving and using the new core preferences service is easy:
```lang=cpp
#include <mitkCoreServices.h>
#include <mitkIPreferencesService.h>
#include <mitkIPreferences.h>
auto* preferencesService = mitk::CoreServices::GetPreferencesService();
auto* preferences = preferencesService->GetSystemPreferences();
auto myPreference = preferences->Get("my preference", "default value"); // std::string
```
When you use the core preferences service in an MITK plugin, make sure that you initialize the CppMicroServices. The perfect location for this is in a plugin activator class:
```lang=cpp, name="PluginActivator.cpp"
#include <usModuleInitialization.h>
US_INITIALIZE_MODULE
```
== Merged enums for view directions / plane orientations ==
Use the new `AnatomicalPlane` enum instead of the `BaseRenderer::ViewDirection`, `SliceNavigationController::ViewDirection`, or `PlaneGeometry::PlaneOrientation` enums.
Both `ViewDirection::THREE_D` and `PlaneOrientation::None` map to `AnatomicalPlane::Original`.
== Other API-breaking changes ==
In an ongoing cleanup effort, many deprecated or unused classes, methods, and other code snippets were removed or refactored. Migration should be straight forward if necessary at all.
In case you experience any trouble while doing so, please do not hesitate to [[https://www.mitk.org/wiki/MITK_Mailinglist | contact us]].
{icon arrow-left} [[mitk/changelog/release-v2022.10 | Previous changelog]] • [[mitk/changelog/2023.11 | Next changelog]] {icon arrow-right}
.{icon arrow-left} [[mitk/changelog/release-v2022.10 | Previous changelog]] • [[mitk/changelog/2023.11 | Next changelog]] {icon arrow-right}
= 🛠 Third-party dependency changes =
//none//
= ✨ New features =
- MITK provides a CITATION.cff file (see [[https://citation-file-format.github.io/ | What is a CITATION.cff file?]])
- 2-d and 3-d interpolation of segmentations also work with multi-layer multi-label segmentations
- Double-clicking on a label in the Segmentation View moves the crosshair / views to the label's center of mass.
= 🐛 Bugfixes =
- The "Scan directory" button in the DICOM Browser no longer freezes the application on macOS
- Loading a segmentation after the Standard Display has been closed does no longer crash
- Segmentations cannot be saved as unsupported file formats anymore regarding the multi-layer feature
- Unsupported segmentation formats like legacy binary masks can no longer be selected by default as segmentations (right-click image in Data Manager and choose "Convert to Segmentation" instead)
= 🔥 API-breaking changes =
== Preferences moved from BlueBerry to MITK Core Services ==
The preferences core service completely replaces the previous preferences service of BlueBerry, making preferences finally available in modules.
Migration is straight forward, as the interface of the core preferences service is as equal as possible to the BlueBerry preferences service.
The only difference is the replacement of Qt types with std types, in particular the replacement of `QString` with `std::string`.
You may want to adapt your string types when migrating to the new service or use methods like `QString::fromStdString()` and `QString::toStdString()`. In other occasions where std strings have been used already, you can remove conversions like `std::string::c_str()` that are not necessary anymore.
While migrating the BlueBerry preferences we noticed that quite a few functionalities were never fully implemented, erroneous, or completely unused. We took the opportunity to remove them. In the uncertain case you miss such a previous "feature" that you assumed to work fine for you, give us a note so we can double check.
Retrieving and using the new core preferences service is easy:
```lang=cpp
#include <mitkCoreServices.h>
#include <mitkIPreferencesService.h>
#include <mitkIPreferences.h>
auto* preferencesService = mitk::CoreServices::GetPreferencesService();
auto* preferences = preferencesService->GetSystemPreferences();
auto myPreference = preferences->Get("my preference", "default value"); // std::string
```
When you use the core preferences service in an MITK plugin, make sure that you initialize the CppMicroServices. The perfect location for this is in a plugin activator class:
```lang=cpp, name="PluginActivator.cpp"
#include <usModuleInitialization.h>
US_INITIALIZE_MODULE
```
== Merged enums for view directions / plane orientations ==
Use the new `AnatomicalPlane` enum instead of the `BaseRenderer::ViewDirection`, `SliceNavigationController::ViewDirection`, or `PlaneGeometry::PlaneOrientation` enums.
Both `ViewDirection::THREE_D` and `PlaneOrientation::None` map to `AnatomicalPlane::Original`.
== Other API-breaking changes ==
In an ongoing cleanup effort, many deprecated or unused classes, methods, and other code snippets were removed or refactored. Migration should be straight forward if necessary at all.
In case you experience any trouble while doing so, please do not hesitate to [[https://www.mitk.org/wiki/MITK_Mailinglist | contact us]].
{icon arrow-left} [[mitk/changelog/release-v2022.10 | Previous changelog]] • [[mitk/changelog/2023.11 | Next changelog]] {icon arrow-right}