MITK ReleaseNotes 2015.05
This page is only a draft!
This is the 2015.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?
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 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 2015.03 release
Build system
- C++ 11 support
- Directory layout has changed (third party lib in ep/ directory)
- CMake 3.2 is now minimum required version
- Qt 5 is default for windows and linux, Qt 4 for Mac OS X
- Separation of src and include in modules
Core modules
- Further 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, that all classes where your class inherits from 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 attentioon, 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. TODO link to XP doc.
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:
- Improved Application Support - TODO
Modules
The following modules were newly 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
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
- Morphologic operators can now be apply in 2D
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.
Please see MITK_IGT_ReleaseNotes_2015.03.
Diffusion
- To ease maintenance the DiffusionImage class has been removed, instead all functionality previously provided by the DiffusionImage can be achieved using the Image. 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.
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 5 months since the last release more than NUMBER 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 2015.03:
ID | Comp | Summary |
---|