MITK ReleaseNotes 2015.05
This page is only a draft!
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
- Measurement
- Interactive Segmentation
- Logging View
- Remeshing
- 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
Build system
- 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
Core modules
- 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!).
Blueberry
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.
Removed Functionality
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.
Changed API
- 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.
New Features
- 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.
Modules
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
Python
- 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
Segmentation
- 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.03.
Diffusion
- 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.
MITK Workbench
- A new Perspectives preference page allows custom perspectives to be reset or removed.
TODO: If enabled in the Release:
- A new Clone Editor menu entry allows to clone the currently active editor
- 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.
Third-Party Toolkits
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:
- HDF5
- Redland, Raptor, Rasqal for RDF support
Deprecated Functionality
The documentation contains a detailed list of deprecated functionality. Please find a summary below:
Breaking Changes
Bugfixes
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:
ID | Comp | Summary |
---|
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.
Known Issues
Incomplete list of known issues affecting the binary release of MITK 2015.05:
ID | Comp | Summary |
---|---|---|
19054 | BlueBerry | Save Perspective As dialog shows wrong item names |
19057 | BlueBerry | Context help will not open on F1 after starting |
19089 | BlueBerry | Some application menu entries are not shown on Mac OS X |
19122 | BlueBerry | Help Contents view contains only one entry on first start |
19123 | BlueBerry | "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