Skip to content

Commit

Permalink
v2023.12
Browse files Browse the repository at this point in the history
The following - possibly updated - changelog can be viewed as formatted
article at https://phabricator.mitk.org/w/mitk/changelog/release-v2023.12/.

NOTE: This is a release changelog. It is composed of a selected short list of highlights since the last release [[mitk/changelog/release-v2023.04 | MITK v2023.04]] - split into dedicated user and developer sections. See the past two [[mitk/changelog | changelogs]] starting from [[mitk/changelog/2023.46]] for a comprehensive, developer-centric overview of changes.

---

= News for MITK Workbench users =

For MITK v2023.12, we focused mainly on segmentation and registration. In the past 6-7 months we resolved about 130 tasks in over 440 commits. We are already excited about your feedback on many improvements and features.

== Segmentation ==

==== TotalSegmentator v2 ====

The TotalSegmentator segmentation tool was updated to version 2 of TotalSegmentator. It now supports up to 117 classes for CT images. See the following official image from [[https://github.com/wasserth/TotalSegmentator]] for an overview of all new classes:

{F2766116, size=full, layout=center}

This is an example video of a low-resolution CT image segmented with the TotalSegmentator tool in the MITK Workbench v2023.12, followed by a conversion to smoothed meshes, and finally animated and recorded with the Movie Maker plugin:

{F2766120, autoplay, loop}

==== Segment Anything Model (SAM) ====

We also introduce a new AI-powered tool for bio-medical images based on the popular Segment Anything Model from Meta. The interactive tool produces high-quality masks from a few seed points.

{F2766115, autoplay, loop}

== Registration ==

==== New registration algorithms ====

Two new 3d-3d registration algorithms were added to MITK v2023.12:

====== slabbedHead ======

A multimodal image registration algorithm optimized to robustly handle the registration of "slabbed" head images (i.e. MRI sequences where field of view is sacrificed to lower exposition time, while still providing high in-plane resolution) onto complete head images. The algorithm is more reluctant to make out-of-plane rotations, as there is less driving information available and the probability for errors is higher.

====== HeadNeck ======

A multimodal image registration algorithm optimized to robustly handle the registration of a head image with an image that also contains the neck or upper body parts. In its default settings the algorithm automatically decides which image is which based on the extent of the z dimension.

==== New registration command-line apps ====

Two new registration command-line apps were added to MITK v2023.12:

====== MitkMatchImage =====

Use registration algorithms provided by MITK from the command-line. It is the command-line equivalent to the MatchPoint Registration plugin.

====== MitkMapImage ======

Use registration results to map an image into the target space of the registration. It is the command-line equivalent to the MatchPoint Mapping plugin.

== DICOM ==

The official release installers of MITK v2023.12 now include the following diagnostic tools:

==== MitkDICOMVolumeDiagnostics command-line app ====

Offers the DICOM volume analysis logic used by MITK as a command-line app. The app prints a JSON-based report that, among others, contains the information which reader MITK would use, which volumes were detected, and how many slices and frames these volumes have as well as which files contribute to each volume respectively.

==== DICOM Inspector plugin ====

Helps to inspect all DICOM contact information fetched by MITK. The handling is similar to the already known Properties plugin. If a selected data node contains DICOM information, it will be shown in the table of the new plugin. This information is temporally and spatially resolved, e.g. if you scroll through the slices or through time (in dynamic data sets) you will see the instance UID changing, always indicating the value that belongs to the crosshair position.

---

= News for developers =

See the past two [[mitk/changelog | changelogs]] starting from [[mitk/changelog/2023.46]] for a comprehensive, developer-centric overview of changes.

== Renaming of command-line apps ==

Some apps have been renamed, for example:

  - MitkMapImageMiniApp {icon arrow-right} MitkMapImage
  - MitkMatchImageMiniApp {icon arrow-right} MitkMatchImage
  - MitkStitchImageMiniApp {icon arrow-right} MitkStitchImage

== API change of mitk::BaseProperty ==

See [[mitk/changelog/2023.48/]] for a migration guide for the changed API of `mitk::BaseProperty`, which allows to (de)serialize properties and property lists in JSON format.

== 🛠 Third-party dependency changes ==

The following table shows a complete list of changed third-party dependencies. Notable changes are:

- ITK v5.3.0: You may experience a few compile errors in your code since a ITK had a few subtle API changes (see [[https://phabricator.mitk.org/D842 | our fixes]]), in particular regarding...
 - points and vectors, resp. their conversion to each other or from plain numbers.
 - class macros in case you define new classes in the `itk` namespace.

| Dependency | Old version | New version |
| --- | --- | --- |
| ACVD | `e583e278` (Jun 27, 2022) | `18209c90` (Jan 23, 2023) |
| Boost | 1.80 | 1.82 |
| DCMQI | 1.2.4 | 1.2.5 |
| ITK | 5.2.1 | 5.3.0 |
| lz4 | 1.9.3 | 1.9.4 |
| JSON for Modern C++ | 3.10.5 | 3.11.2
| Poco | 1.12.2 | 1.12.4 (patched) |
| VTK | 9.1.0 | 9.2.6 |
| ZLIB | 1.2.11 | 1.2.13 |

== 🔥 Disclaimer for API-breaking changes ==

We discontinued the extensive listing of API-breaking changes as the vast majority of them are straight forward to resolve or do not affect the absolute majority of developers at all. The ratio between the time and effort spent for writing these reports and actual developer feedback turned out to be greatly imbalanced.

Complex or critical API changes will still be accompanied by migration guides. For example, see [[mitk/changelog/2023.48/]] for a migration guide for the changed API of `mitk::BaseProperty`.

In case you experience any trouble while migrating to the latest version of MITK, please do not hesitate to [[https://www.mitk.org/wiki/MITK_Mailinglist | contact us]].
  • Loading branch information
kislinsk committed Nov 30, 2023
2 parents 4ae412d + ae8be8b commit 19e9790
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 10 deletions.
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,5 @@ keywords:
- visualization
- application-framework
license: BSD-3-Clause
version: v2023.04
date-released: '2023-05-17'
version: v2023.12
date-released: '2023-11-30'
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ if(MITK_USE_SUPERBUILD)
set(MITK_SOURCE_DIR ${PROJECT_SOURCE_DIR})
set(MITK_BINARY_DIR ${PROJECT_BINARY_DIR})
else()
project(MITK VERSION 2023.04.99)
project(MITK VERSION 2023.12.00)
include_directories(SYSTEM ${MITK_SUPERBUILD_BINARY_DIR})
endif()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ cmake_minimum_required(VERSION 3.18 FATAL_ERROR)

project(MyProject)

find_package(MITK 2023.04 REQUIRED)
find_package(MITK 2023.12 REQUIRED)

add_executable(MyApp main.cpp)

Expand Down
3 changes: 3 additions & 0 deletions Documentation/Doxygen/4-API/Pages.dox
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,7 @@
\page deprecatedSince2023_04 Deprecated as of 2023.04
\ingroup MITKDeprecatedAPI

\page deprecatedSince2023_12 Deprecated as of 2023.12
\ingroup MITKDeprecatedAPI

*/
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,19 +85,19 @@ Useful links
[mitk]: https://www.mitk.org
[itk]: https://itk.org
[vtk]: https://vtk.org
[mitk-overview]: https://docs.mitk.org/nightly/
[mitk-usermanual]: https://docs.mitk.org/nightly/UserManualPortal.html
[mitk-devmanual]: https://docs.mitk.org/nightly/DeveloperManualPortal.html
[mitk-apiref]: https://docs.mitk.org/nightly/usergroup0.html
[platforms]: https://docs.mitk.org/nightly/SupportedPlatformsPage.html
[mitk-overview]: https://docs.mitk.org/2023.12/
[mitk-usermanual]: https://docs.mitk.org/2023.12/UserManualPortal.html
[mitk-devmanual]: https://docs.mitk.org/2023.12/DeveloperManualPortal.html
[mitk-apiref]: https://docs.mitk.org/2023.12/usergroup0.html
[platforms]: https://docs.mitk.org/2023.12/SupportedPlatformsPage.html
[dkfz]: https://www.dkfz.de
[license]: https://github.com/MITK/MITK/blob/master/LICENSE
[release-cycle]: https://www.mitk.org/MitkReleaseCycle
[download]: https://www.mitk.org/Download
[phab_repo]: https://phabricator.mitk.org/source/mitk/
[contribute]: https://www.mitk.org/How_to_contribute
[cmake]: https://www.cmake.org
[build]: https://docs.mitk.org/nightly/BuildInstructionsPage.html
[build]: https://docs.mitk.org/2023.12/BuildInstructionsPage.html
[mailinglist]: https://www.mitk.org/Mailinglist
[bugs]: https://phabricator.mitk.org/maniphest/
[cdash]: https://cdash.mitk.org/index.php?project=MITK
Expand Down

0 comments on commit 19e9790

Please sign in to comment.