Difference between revisions of "MITK ReleaseNotes 2015.05"

From mitk.org
Jump to navigation Jump to search
 
(11 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<pre>This page is only a draft!</pre>
 
 
 
[[File:Release2015-05.png|thumb|300px|MITK ReleaseNotes 2015.05]]
 
[[File:Release2015-05.png|thumb|300px|MITK ReleaseNotes 2015.05]]
  
Line 32: Line 30:
  
 
== Highlights of 2015.05 release ==
 
== Highlights of 2015.05 release ==
 +
  
  
Line 41: Line 40:
 
* Directory layout has changed (e.g. external projects moved to top-level "ep" directory)
 
* 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
 
* Source files of modules are organized in src and include directories
 +
  
 
=== Core modules ===
 
=== Core modules ===
Line 49: Line 49:
 
** 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!).
 
** 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 ===
+
 
 +
=== 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.
 
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 ====
 
==== Removed Functionality ====
Line 58: Line 60:
  
 
* 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.
 
* 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 ====
 
==== Changed API ====
Line 65: Line 68:
 
* The berry::IApplication interface was changed to support an application context and generic return values
 
* 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.
 
* 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 ====
 
==== New Features ====
Line 74: Line 78:
 
** [http://wiki.eclipse.org/Command_Core_Expressions Command Core Expressions]
 
** [http://wiki.eclipse.org/Command_Core_Expressions Command Core Expressions]
 
* 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]].
 
* 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 ===
 
=== Modules ===
Line 82: Line 87:
 
* RDF: Containing basic support for dealing with RDF data
 
* RDF: Containing basic support for dealing with RDF data
 
* AppUtil: A utility module for launching BlueBerry applications
 
* AppUtil: A utility module for launching BlueBerry applications
 +
  
 
==== Python ====
 
==== Python ====
Line 89: Line 95:
 
* Experimental Qt5 support
 
* Experimental Qt5 support
 
* Upgraded to Numpy 1.9.2
 
* Upgraded to Numpy 1.9.2
 +
  
 
==== Segmentation ====
 
==== Segmentation ====
Line 94: Line 101:
 
* Segmentation Utilities View was extended for a ContourModelToImage tab, which allows to convert contour data into an binary image
 
* 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
 
* Morphological operators can now be applied in 2D
 +
  
 
==== MITK Navigation Modules (IGT, US and ToF) ====
 
==== MITK Navigation Modules (IGT, US and ToF) ====
Please see [[MITK_IGT_ReleaseNotes_2015.03]].
+
Please see [[MITK_IGT_ReleaseNotes_2015.05]].
 +
 
  
 
==== Diffusion ====
 
==== 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]]
 
* 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.
 
* 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 ===
 
=== MITK Workbench ===
  
 
* A new ''Perspectives'' preference page allows custom perspectives to be reset or removed.
 
* 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.
 
* 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 new ''Show View / Other...'' menu entry allows to browse all available views by category and keyword
Line 113: Line 121:
 
* If multiple workbench windows are open, the list of windows is displayed in the ''Window'' menu
 
* 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.
 
* A MRU list (most recently used) of editor inputs is shown in the ''File'' menu if the editor supports it.
 +
  
 
==== Third-Party Toolkits ====
 
==== Third-Party Toolkits ====
Line 124: Line 133:
 
* HDF5
 
* HDF5
 
* Redland, Raptor, Rasqal for RDF support
 
* Redland, Raptor, Rasqal for RDF support
 +
  
 
== Deprecated Functionality ==
 
== Deprecated Functionality ==
The documentation contains a detailed list of [http://docs.mitk.org/2015.03/group__MITKDeprecatedAPI.html#deprecatedSince2015_03 deprecated functionality]. Please find a summary below:
+
The documentation contains a detailed list of [http://docs.mitk.org/2015.05/deprecatedSince2015_05.html deprecated functionality].
  
*
 
 
 
== Breaking Changes ==
 
  
 
== Major Changes ahead ==
 
== Major Changes ahead ==
Line 142: Line 148:
  
 
Please be sure follow our annoucements on the MITK Mailing-List concerning these changes.
 
Please be sure follow our annoucements on the MITK Mailing-List concerning these changes.
 
 
  
  
Line 350: Line 354:
 
|View navigator: copying perspective does not take into account changes made to copied perspective.
 
|View navigator: copying perspective does not take into account changes made to copied perspective.
 
|}
 
|}
 +
  
 
== Known Issues ==
 
== Known Issues ==
Line 382: Line 387:
  
 
For a more complete and up-to-date list of all current major bugs check our [http://bugs.mitk.org/buglist.cgi?priority=high&priority=medium&priority=low&f1=creation_ts&list_id=83733&bug_severity=blocker&bug_severity=critical&bug_severity=major&o1=lessthan&resolution=---&query_format=advanced&bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=IN_PROGRESS&v1=2015-06-03&component=BlueBerry&component=Build%20system&component=Core&component=CoreApp%20Plugins&component=CoreUI&component=Documentation&component=Measurement%20%26%20Statistics&component=Modules&component=Other&component=Python%20Wrapping&component=QtWidgetModules&component=Rendering&component=Segmentation&component=Workbench%20Plugins&product=MITK bug tracker]
 
For a more complete and up-to-date list of all current major bugs check our [http://bugs.mitk.org/buglist.cgi?priority=high&priority=medium&priority=low&f1=creation_ts&list_id=83733&bug_severity=blocker&bug_severity=critical&bug_severity=major&o1=lessthan&resolution=---&query_format=advanced&bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=IN_PROGRESS&v1=2015-06-03&component=BlueBerry&component=Build%20system&component=Core&component=CoreApp%20Plugins&component=CoreUI&component=Documentation&component=Measurement%20%26%20Statistics&component=Modules&component=Other&component=Python%20Wrapping&component=QtWidgetModules&component=Rendering&component=Segmentation&component=Workbench%20Plugins&product=MITK 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
 +
* Heather
 +
* 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

Latest revision as of 13:35, 18 June 2015

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
  • 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


MITK Navigation Modules (IGT, US and ToF)

Please see MITK_IGT_ReleaseNotes_2015.05.


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.
  • 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.


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.


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
18781 BlueBerry Logging View: Reset search filter button is missing
18319 Build system Update default build configuration with new release plugins
18532 Build system Enhance Module and Plugin Preset Configurations
18118 Build system Update SOFA to latest revision (18/09/2014).
18657 Build system Update ITK to version 4.7.0
18765 Build system move vigra and hdf5 open source
18605 Build system Support modern CMake and C++11 features
18653 Core Extend custom mime type by functions to get filename and extension
14866 Core Make FileReader and FileWriter Microservice-based
18850 Core Allow setting point size for surface rendering
18313 Diffusion implement direction dependent fiber removal
18568 Diffusion implement improved method to process fiber bundle curvatures
17928 Diffusion Convert diffusion image to mitk image
16656 Diffusion Fiberextraction: placed planar figure should be automatically selected after placing
18641 Diffusion Support diffusion images in .nii format
18767 Diffusion move machine learning based tractography to MITK
18844 Diffusion Fiberfox: add partial fourier and move noise to k-space
15459 Diffusion Enable loading of SIEMENS MOSAIC DICOM diffusion files
18182 IGT IGT Release Candidates 2014-10
18295 IGT Add Virtual Tracking Device to UI of tracking toolbox
18267 IGT Feature to freeze navigation data source
8329 IGT Integrate VirtualTrackingDevice into NavigationToolStorage
19005 IGT Extend NavigationDataPlayer to work with .csv
17739 Measurement Change PlanarFigure::PolyLineElement to Point2D
14580 Measurement Allow measurement on all data with geometry
14643 Measurement Delete planar figures after selecting them in the four window view
18481 Modules Image to UnstructuredGrid filter
18556 Modules Add CopyDeep method to PlanarFigure
18579 Modules Move the mitkPlaneFit Filter from mbi to mitk
18637 Modules DBSCAN filter for unstructured grids in mitk
18682 Modules Add colorbar overlay
18802 Modules Create MitkSurfaceToPointSetFilter
18886 Modules New convenient methods to insert openCV images as time slice in mitk image
18062 Modules It should be possible to select nothing in QmitkDataStorageComboBox
14717 Python Wrapping Add detailed Documentation for Python module and view
18536 Rendering Add Overlay flag to render mitkOverlays on top
9899 Rendering Surfaces seem to be rendered in software modus
19044 Rendering Transparent JET LUT
17810 Segmentation Enhance segmentation utilities with contourmodel to image functionality
18541 Segmentation Create module for multilabel segmentation
18567 Segmentation Enable 2D morphological operations in segmentation utility plugin
16133 Segmentation Provide 4D support for 3D interpolation
18728 ToF Create a Parameter Widget for Structure Sensor
18423 ToF View for saving screen shots of ToF images for calibration
18222 Workbench CMD Plugin does not support MiniApp
18732 Workbench Make Base data property list available in developer mode of Properties view
18957 Workbench Enhance Properties View Usability
18219 Workbench View navigator: copying perspective does not take into account changes made to copied perspective.


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

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
  • Heather
  • 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