Page MenuHomePhabricator

2020 Week 25 (Late June)
Updated 1,406 Days AgoPublic

Version 3 of 13: You are viewing an older version of this document, as it appeared on Jun 26 2020, 3:05 PM.

This is the first merge back from the develop branch into the master branch since we introduced git-flow. These merge commits will be accompanied by curated changelogs. As it is the first changelog, it reflects everything noteworthy that happened since April 2018 that was not already part of the last MITK release v2018.04.2. Over 400 tickets were resolved in that time, hence we focus on the highlights and breaking changes including migration hints.

Third-party dependency changes

Several dependencies were upgraded to newer versions, removed, or introduced:

DependencyOld versionNew version
Boost1.681.70
cpprestsdk2.10.10
CMake3.103.14.5
CTKfc06bedc (Aug 10, 2018)78341aba (Dec 07, 2019)
DCMQId067f81c (Jun 26, 2018)ea4f0809 (Jan 23, 2020)
DCMTK29f9de10 (Jun 15, 2018)3.6.5
GDCM2.6.33.0.4
freeglut2.8.1
ITK4.13.1e53d1d94 (May 22, 2020)
MatchPoint24ef6072 (Apr 13, 2018)f2a64255 (May 02, 2019)
OpenCV3.4.13.4.8
OpenIGTLink54df50de (Aug 21, 2014)3.0
Qt5.11.15.12
Raptor2.0.15
Rasqal0.9.32
Redland1.0.17
SimpleITK9d510bef (Mar 1, 2018)
zlib66a753051.2.11

API-breaking changes

Render window names 💥

  • The render window names stdmulti.widget[1-4] were changed to stdmulti.widget[0-3]. For example, the standard 3d render window now is stdmulti.widget3 instead of stdmulti.widget4.

Python

  • MITK_USE_Python CMake variable was renamed to MITK_USE_Python3
  • On macOS, CMAKE_FRAMEWORK_PATH can be used to find a specific version of Python

RenderingManager and rendering mode

  • Access to the rendering manager was unified to the static method RenderingManager::GetInstance() (remove any parameters of type RenderingManager from function calls that generate corresponding compiler errors)
  • The rendering mode was removed as it represented different independent concepts (remove any parameters of type BaseRenderer::RenderingMode::Type from function calls that generate corresponding compiler errors)

Level window

  • LevelWindowManager::RecaluclateLevelWindowForSelectedComponent() was renamed to RecalculateLevelWindowForSelectedComponent()

Refactoring of QmitkStdMultiWidget and QmitkStdMultiWidgetEditor

  • The level window slider is now controlled by StdMultiWidgetEditor
  • QmitkMultiWidgetLayoutManager was introduced to change the layout of multi widgets. It supports more general layouts and reacts dynamically, depending on the selected/active render window widget. For example, to enlarge a specific render window widget or to move a specific render window to the left.
  • The enum IRenderWindowPartStrategy moved into WorkbenchUtil
  • These methods of QmitkStdMultiWidget were removed:
    • SetWidgetPlaneModeToSlicing()
    • SetWidgetPlaneModeToRotation()
    • SetWidgetPlaneModeToSwivel()
    • SetWidgetPlanesLocked()
    • SetWidgetPlanesRotationLocked()
    • SetWidgetPlanesRotationLinked()
    • EnableStandardLevelWindow()
    • DisableStandardLevelWindow()

Qt-related variables removed from dashboard scripts

  • QT5_INSTALL_PREFIX and QT_BINARY_DIR were removed. Add the Qt path to the PATH environment variable instead. For example, right in the dashboard script like set(ENV{PATH} "$ENV{PATH}...").

Removed modules and plugins

The following legacy modules and plugins were removed without successors:

  • GPGPU
  • PlanarFigureSegmentation
  • RDF
NOTE: MITK Diffusion moved into a separate MITK extension.
Tags
None
Referenced Files
F1646878: depthpeeling.mp4
Jun 29 2020, 12:07 PM
F1646868: selectiondialog.png
Jun 29 2020, 11:47 AM
Last Author
kislinsk
Last Edited
Jun 26 2020, 3:05 PM

Event Timeline

This comment was removed by kislinsk.
kislinsk edited the content of this document. (Show Details)
kislinsk edited the content of this document. (Show Details)
kislinsk edited the content of this document. (Show Details)
kislinsk published a new version of this document.

MITK is a great image processing tool that is very popular in our research group. Thank you guys for making/maintaining such an amazing open source project!
Any time schedule to upgrade ITK and VTK to latest version (ITK5.1 & VTK9)?

VTK 9 upgrade is basically finished already but we also need to upgrade/contribute to ACVD, which needs quite some changes to continue working with VTK. See T27461: Update MITK to use VTK 9.

@nolden started a task for ITK 5.1: T27437: Migrate MITK to use ITK 5.x .

The changes from ITK 4.x to 5.x are quite cumbersome and do require some time to accomplish. Thank you again!