MITK ReleaseNotes 2014.03

Revision as of 14:42, 1 December 2014 by JasminMetzger (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
MITK ReleaseNotes 2014.03

This is the 2014.03 release of the MITK release cycle. The complete list of new features, bug fixes and known issues is down on this page.

What's included?

There are binary installers for Windows, Mac OS X and Linux which contain the application MITK Workbench. Additional to image loading/saving and level windowing currently the following plugins are included:

  • volume visualization
  • measurement
  • interactive segmentation with
    • 3D Regiongrower
    • Boolean Operation on segmentations
    • Deformable Clippingplane
  • Logging view
  • experimental DICOM Query/Retrieve (based on components from the Common Toolkit CTK)

Please note that the installers do not contain the source code or header files for the precompiled libraries. To develop applications or plugins with MITK please get the source code.

How to get it?

Please have a look at the download page.

Highlights of 2014.03 release

Build system

  • Visual Studio 2013 support bug 17376
  • Qt5 support bug 16272
  • Package dependencies can now specify components in the mitk_create_module() macro bug 16809
  • Standardized module naming scheme bug 17384
  • Experimental Mac OS X 10.9 support bug 16803 (Note: Mac OS X 10.9 will be supported by Qt with the upcoming Qt 4.8.6 patch release)

Core modules

  • The CppMicroServivces library gained support for service hooks bug 16640
  • Interaction Testing Framework.
    • GUI independent interaction testing.
    • With bug 16871 a helper class was added to set up the environment to test state machines and interactors. Can be used in any module.
    • See mitkInteractionTestHelper for more detail or mitkPointSetDataInteractorTest for a test example.
  • Improved Transparency Rendering of surfaces...
    • by Depth Peeling: In bug 16746, transparency rendering for surface polygons was fixed. In order to enable depth peeling, select this option in the 'Rendering Mode' dropdown menu (Window > Preferences... > Editors > Standard Multi Widget). So far, depth peeling is only supported for Windows.
    • by Depth Sorting: As an alternative for other OS, we provide a new property ('Depth Sorting') for polygon depth ordering in the property list of each surface data node. bug 17610


  • Classes derived from ITK now use itkFactorylessNewMacro instead of itkNewMacro, leading to performance improvements when instantiating many such classes bug 17339
  • The MitkExt module was split into several new modules bug 16699
  • A preliminary version of a persistence module (see bug 16643) was added to MITK. However, there are some bugs left (e.g., bug 17555) and the module is not functional yet. Please wait for further bug fixes after the 2014-03 release if you plan to use this module


  • The Optitrack tracker is now supported by MITK-IGT, thanks to Eugenio Marinetto (bug 16504)
  • Improved Tutorial Step 4 (Documentation of Plugin TrackingLab) (bug 16474)
  • Navigation Tool Management: Fixed default identifier for new tools (bug 16345)
  • Reimplementation of tests for classes NavigationToolStorageSerializer and NavigationToolStorageDeserializer (bug 16832)
  • Fixes and adaptations of MITK-IGT due to the updates of toolkits (see below)


  • Tools have been migrated to new Interaction Concept introduced MITK 2013.03 (bug 16651). API for event handling callbacks changed.
  • mitkContourUtils does not depend on ipSegmentation any more
  • New tool for selecting connected regions

US (Ultrasound)

  • Ultrasound devices of Telemed can be controlled from within MITK. (Bug 15615)
  • Image and tracking data provided by a combined modality of an ultrasound probe and an attached mobile field generator can be handled by the new submodule USNavigation. (Bug 16305)


  • Interaction event recorder. Record and playback MITK events created by user interaction. See bug 16871.
  • New experimental XNAT plug-in
  • Ultrasound plugin provides controls for the b mode of ultrasound devices. (Bug 15615)
  • The MeshDecimation Plugin was replaced by the Remeshing Plugin which uses ACVD

Updated Toolkits

The following toolkits have been updated in the MITK superbuild:

  • CMake version 2.8.9 is now required (due to the ITK and GDCM update)
  • ITK 4.5.1 (improved Clang and MacOS 10.9 support)
  • Boost 1.55 (improved Clang support)
  • VTK 6.1
  • GDCM 2.4.1
  • OpenCV

Additionally, the minimum Qt version has been updated to Qt 4.7.

Deprecated Functionality

  • The QmitkLineEdit class was deprecated in favor of the QLineEdit class (available in Qt 4.7 and newer).
  • The MitkExt module was deprecated. Use one of the newly created modules instead.
  • The mitk::Equal(...) methods taking raw pointers as arguments were deprecated and replaced with methods using const references.
  • mitk::AffineInteractor3D was deprecated, use mitk::AffineDataInteractor3D instead.
  • mitk::PolyDataGLMapper2D was deprecated, use mitk mitk::SurfaceGLMapper2D instead. (Bug 2337)
  • mitk::BaseRenderer::!Map2DRendererPositionTo3DWorldPosition (Point2D *mousePosition) const
  • mitk::LookupTable:
    • void CreateColorTransferFunction(vtkColorTransferFunction*& colorFunction)
    • void CreateOpacityTransferFunction(vtkPiecewiseFunction*& opacityFunction)
    • void CreateGradientTransferFunction(vtkPiecewiseFunction*& gradientFunction)
were declared deprecated, use
    • vtkSmartPointer<vtkColorTransferFunction> CreateColorTransferFunction();
    • vtkSmartPointer<vtkPiecewiseFunction> CreateOpacityTransferFunction();
    • vtkSmartPointer<vtkPiecewiseFunction> CreateGradientTransferFunction();
  • Newly deprecated list since 2014-03

Breaking Changes

  • CMake needs to be updated to 2.8.9
  • The mitk::InteractionPositionEvent class constructor got an additional Point3D parameter encoding the world coordinate of the event
  • The MitkExt module was split into different modules. Dependent modules need to check their module dependencies.
  • Due to the new package component dependencies support, some include directories might not be available any more without explicitly stating the component dependency of certain modules.
  • The itkFactorylessNewMacro removes the capability to "inject" a custom implementation of ITK types.


In the 3 months since the last release more than 200 bugs were fixed.

Not everything could be fixed in time, so here are the most important known issues

New feature list

Complete list of new features since MITK 2013.12

16272 Build sy Build system support for Qt5 + QML demo application
17490 Build sy Support MITK_USE_* environment variables and install mode presets
17384 Build sy Establish and verify a naming convention for MITK modules
17226 Build sy Update SOFA to revision 10669
17186 Build sy Move generated module source files to the start of the source list variable for cotire support
16865 Build sy Provide a package version file for MITK
16809 Build sy Package dependencies should include required components
16897 Build sy Update VTK Version to VTK 6.1
16669 Build sy Update superbuild to ITK 4.5
17508 Core Add a IOUtil::LoadBaseData() method for symmetry
17375 Core Add support for 3D renderWindow interaction to Interaction Testing Framework
17339 Core The usage of the itkNewMacro may lead to performance bottlenecks
17173 Core Do not allow NULL in mitk::Equal
16752 Core ImageReadAccessor needs an option to ignore its lock mechanism
16640 Core Update CppMicroServices for service hook support
15849 Core Make MITK compatible with VTK 6.0
14892 Core Redesign of Geometry
16768 Diffusio Test: itkRadialMultishellToSingleShellImageFilter
17302 Diffusio DWI gaussfilter
16836 Diffusio Create Connectomics mini apps
16828 Diffusio Implementation of DWI denoising miniapp
16797 Diffusio write fiberfox signal generation test
16267 Diffusio Implementation of a NLMr filter
16266 Diffusio Implementation of a new DenoisingView for DWI
16248 Diffusio Fiberfox: add headmotion
16567 IGT Add Method to Navigation Data Filter that connects two filters automatically
16504 IGT Add Optitrack Device to MITK Tracking Devices
16902 Modules ServiceListWidget may select first added entry automatically
16699 Modules The MitkExt module should be split up and unused code should be removed
17320 Modules Planar double ellipse
16770 Modules ImageStatistics cannot handle masks with a different amount of time steps than the input image
16396 Modules Implement ITK class for generating 3D images defined by multiple Gauss functions
15902 Modules Extend Registration to Save/Load Transformations, apply to several images/segmentations
10235 Modules 3D Rendering of planar figures
17489 Other Update the supported platforms documentation page for 2014.03
16305 Other Create a Combined Modality of ultrasound device and tracking device
15674 Other Provide possibility for automated evaluation of images statistics on rois
17610 Renderin Optional depth sorting in Surface mapper
16687 Segmenta Tool tests using Interaction Testing Framework
17203 Segmenta Add function for setting the event notification policy to the tool manager
16690 Segmenta Segmentation picking tool.
16212 Segmenta Let SegmentationController handle reference and working image
17292 ToF Create a "Surface generation" widget
15838 ToF [Navi BSQ] Triangulation threshold for ToF surfaces