MITK ReleaseNotes 2015.05
This is the 2015.05 release of the MITK release cycle. You find a list of new features, bug fixes and known issues below:
What is included?
Binary installers for Windows, Mac OS X and Linux are provided, which contain the MITK Workbench application. In addition to image loading/saving and level windowing, the following plugins are included:
- Volume Visualization
- Interactive Segmentation
- Logging View
- Pointset Interaction
- Image Cropper
- View Navigator
- Screenshot Maker
- Movie Maker
- experimental Point-based, rigid and manual registration
- experimental DICOM Query/Retrieve (based on components from the Common Toolkit CTK)
Please note that the installers neither contain the source code nor header files of the precompiled libraries. To develop applications or plug-ins with MITK please get the source code.
How to get it?
Please have a look at the download page.
Highlights of 2015.05 release
- C++ 11 support (see C++ 11/14 Status)
- CMake 3.2 is the minimum required version
- Qt 5 is default for Windows and Linux, Qt 4 for Mac OS X
- Minimum required compiler versions: GNU 4.7.3, Clang 3.4, AppleClang 5.0, MSVC 2012
- Directory layout has changed (e.g. external projects moved to top-level "ep" directory)
- Source files of modules are organized in src and include directories
- Cleanup of the geometry classes:
- GeometryTransformHolder is a new helper class which manages the transform related variables. Its job is to keep all information about the transform (as e.g.: spacing, offset, transformation matrices) in consistent states. It provides getters and setters to all transformation related information. To make sure that the geometries are in a proper state, you should always use the set methods to change them.
- BackTransform() function is removed. Please use WorldToIndex() instead.
- The scaling factor in the PlaneGeometry class is removed. It can be calculated directly by GetExtent()/GetExtentInMM().
- Pre- and Post-functions are removed and not necessary any more (except PreSetSpacing). New functions are CheckBounds() and CheckIndexToWorldTransform. Assertions can be implemented in these functions (e.g. see PlaneGeometry.cpp). If you implement these functions in a subclass, make sure to have an implementation of this function (e.g. inheritance BaseGeometry <- A <- B. Implementation of CheckBounds in class B needs implementation in A as well!).
The MITK application framework BlueBerry got a lot of attention, resulting in a cleaner plug-in structure and an improved API. Standard MITK plug-ins will need no or only minimal code changes to be compatible with this new version.
The following deprecated functionality has been removed
- BlueBerry plug-in system: The org.blueberry.compat plugin was removed and the non plug-in system related code from the org.blueberry.osgi and org.blueberry.solstice.common plug-ins was merged with the org.blueberry.core.runtime plug-in.
- The org.blueberry.ui plug-in was merged with the org.blueberry.ui.qt plug-in, removing one level of indirection related to the usage of GUI classes within BlueBerry.
- Many usages of STL containers and Poco types in method signatures have been replaced with their Qt counterparts. This may affect derived classes which need to adapt the signature of methods intended to override base class methods.
- The berry::IApplication interface was changed to support an application context and generic return values
- The org.blueberry.osgi.application extension point now requires the application id to be an attribute of the extension tag instead of the application tag.
- Commands and Handlers - A powerful mechanism for extending menus and toolbars. BlueBerry now implements the Eclipse command framework and provides the org.blueberry.ui.menus extension point for adding UI contributions to menus, toolbars, status bars and context menus. More detailed information about the concepts can be found in the original Eclipse documentation:
- New plug-in and framework debugging features. BlueBerry makes use of the improved debugging facilities in the CTK Plugin Framework as described in How to enable debugging output.
The following modules were added or factored out from existing modules:
- AlgorithmsExt: Added the anisotropic iterative closest point registration algorithm (AICP) for surfaces
- Multilabel Module: Contains data structures and mappers for displaying multilabel data
- RDF: Containing basic support for dealing with RDF data
- AppUtil: A utility module for launching BlueBerry applications
- Fixed MITK-Python installers for all supported platforms with Qt4
- Added documentation and build instructions for the MITK-Python module
- Added build instructions for MITK-Python with Qt5
- Experimental Qt5 support
- Upgraded to Numpy 1.9.2
- The 3D-interpolation has been extended to work on 4D-images as well.
- Segmentation Utilities View was extended for a ContourModelToImage tab, which allows to convert contour data into an binary image
- Morphological operators can now be applied in 2D
Please see MITK_IGT_ReleaseNotes_2015.05.
- To ease maintenance, the DiffusionImage class has been removed. All functionality previously provided by the DiffusionImage can now be achieved by using the Image class. For an example of how to change your code see the DiffusionImageMigrationGuide
- The new reader/writer concept, introduced in the last release, has enabled us to recognize and load .nrrd and .nii/.nii.gz images as diffusion weighted images if diffusion information is present. You no longer need to rename them to .dwi or .fsl/fslgz. You can still read the old files however.
- A new Perspectives preference page allows custom perspectives to be reset or removed.
- Views are not listed as tool bar buttons any more. Instead the view shortcuts of the currently active perspective are shown in the Show View sub-menu.
- A new Show View / Other... menu entry allows to browse all available views by category and keyword
- A perspective shortcut list is now available in the Open Perspective sub-menu
- The Open Perspective / Other... menu entry allows to browse and open any available perspective
- If multiple workbench windows are open, the list of windows is displayed in the Window menu
- A MRU list (most recently used) of editor inputs is shown in the File menu if the editor supports it.
The following toolkits were updated:
- OpenCV was updated to 2.4.11
- VTK was updated to 6.2
The following third-party toolkits were added to the MITK superbuild:
- Redland, Raptor, Rasqal for RDF support
The documentation contains a detailed list of deprecated functionality.
Major Changes ahead
We are currently working on restructuring a lot of Geometry and Interaction related code. This will lead to breaking changes that will be introduced after this release, so be sure to study the updated deprecated list. Most significant changes are
- DisplayGeometry (will become obsolete)
- Legacy Interaction will be completely removed
Please be sure follow our annoucements on the MITK Mailing-List concerning these changes.
In the 6 months since the last release around 240 bugs were fixed.
New feature list
Complete list of new features since MITK 2014.10:
|Logging View: Reset search filter button is missing
|Update default build configuration with new release plugins
|Enhance Module and Plugin Preset Configurations
|Update SOFA to latest revision (18/09/2014).
|Update ITK to version 4.7.0
|move vigra and hdf5 open source
|Support modern CMake and C++11 features
|Extend custom mime type by functions to get filename and extension
|Make FileReader and FileWriter Microservice-based
|Allow setting point size for surface rendering
|implement direction dependent fiber removal
|implement improved method to process fiber bundle curvatures
|Convert diffusion image to mitk image
|Fiberextraction: placed planar figure should be automatically selected after placing
|Support diffusion images in .nii format
|move machine learning based tractography to MITK
|Fiberfox: add partial fourier and move noise to k-space
|Enable loading of SIEMENS MOSAIC DICOM diffusion files
|IGT Release Candidates 2014-10
|Add Virtual Tracking Device to UI of tracking toolbox
|Feature to freeze navigation data source
|Integrate VirtualTrackingDevice into NavigationToolStorage
|Extend NavigationDataPlayer to work with .csv
|Change PlanarFigure::PolyLineElement to Point2D
|Allow measurement on all data with geometry
|Delete planar figures after selecting them in the four window view
|Image to UnstructuredGrid filter
|Add CopyDeep method to PlanarFigure
|Move the mitkPlaneFit Filter from mbi to mitk
|DBSCAN filter for unstructured grids in mitk
|Add colorbar overlay
|New convenient methods to insert openCV images as time slice in mitk image
|It should be possible to select nothing in QmitkDataStorageComboBox
|Add detailed Documentation for Python module and view
|Add Overlay flag to render mitkOverlays on top
|Surfaces seem to be rendered in software modus
|Transparent JET LUT
|Enhance segmentation utilities with contourmodel to image functionality
|Create module for multilabel segmentation
|Enable 2D morphological operations in segmentation utility plugin
|Provide 4D support for 3D interpolation
|Create a Parameter Widget for Structure Sensor
|View for saving screen shots of ToF images for calibration
|CMD Plugin does not support MiniApp
|Make Base data property list available in developer mode of Properties view
|Enhance Properties View Usability
|View navigator: copying perspective does not take into account changes made to copied perspective.
Incomplete list of known issues affecting the binary release of MITK 2015.05:
|Save Perspective As dialog shows wrong item names
|Context help will not open on F1 after starting
|Some application menu entries are not shown on Mac OS X
|Help Contents view contains only one entry on first start
|"General" preferences pages missing on first start
For a more complete and up-to-date list of all current major bugs check our bug tracker
List of all contributors
We want to thank all developers who contributed to the MITK 2015.05 release:
- Adrian Winterstein
- Alfred Franz
- Andreas Fetzer
- Caspar Goch
- Christian Weber
- Christoph Kolb
- Daniel Knorr
- Eric Heim
- Esther Wild
- Ingmar Wegner
- Jan Hering
- Jan Zieher
- Jasmin Metzger
- Jonas Cordes
- Joseph Görres
- Keno März
- Marco Nolden
- Markus Engel
- Martin Klemm
- Matt Clarkson
- Matthias Eisenmann
- Michael Brehler
- Michael Goetz
- Miklos Espak
- Nico Riecker
- Paul Mercea
- Peter Neher
- Rostislav Khlebnikov
- Sandy Engelhardt
- Sascha Zelzer
- Sebastian Wirkert
- Stefan Kislinskiy
- Thomas Kilgus
- Thomas Kirchner
- Tobias Norajitra
- Vincent Reuter