Changelog

Release 0.11.0 (2025-11-27)

imfusion

Tags

Description

✏️ Changed

Changed return type of imfusion.SharedImage.spacing() from numpy.ndarray to collections.namedtuple.

🌱 Added

Algorithms can now be unregistered without prepending the PYTHON. prefix.

🌱 Added

Added __repr__ to imfusion.Properties

🌱 Added
🌱 Added

Added more informative error message when loading of our extension module fails due to missing libpython shared library on Linux.

imfusion.machinelearning

Tags

Description

🧹 Removed
✏️ Changed🌱 Added

imfusion.machinelearning.Engine can now load model artifacts from resource repositories via the newly introduced function load_model_artifact().

🌱 Added

imfusion.imagemath

Tags

Description

🔧 Fixed

Raised a ValueError with incompatible inputs instead of returning NotImplemented in the imagemath and lazy operations. Fixed stubs to have one method definition with multiple arguments and returns for each imagemath and lazy operation.

  • Combined operator macros with different input combinations by defining std::variant types.

  • Passed and returned std::variant types for module methods (i.e. free functions).

  • Improved return value policies by using smart pointers instead of raw pointers.

  • Renamed macros to have 4 types of methods: module, class, dunder (class), and reverse dunder (class).

  • Updated docstrings with respect to the last changes.

imfusion.computed_tomography

Tags

Description

💥 API-Break✏️ Changed

The CT Plugin is now available as a separate submodule computed_tomography.

Release 0.10.0 (2025-08-04)

imfusion

Tags

Description

💥 API-Break✏️ Changed

Changed add_algorithm() to raise an exception if the algorithm could not be constructed.

💥 API-Break✏️ Changed

Changed the import of bindings to remove the _bindings module from the reprs of all classes.

💥 API-Break✏️ Changed

Changed the handling of annotation’s partial modification from the python console. Partial annotations are no longer allowed.

✏️ Changed

show() now applies prettier view animations.

🔧 Fixed

Fixed show() not being launched correctly after importing opencv-python with import cv2.

🔧 Fixed

Fixed existing parameter attributes being overwritten in configuration()

🔧 Fixed

Fixed the visualizer unsynced scrolling in multi-frame 2D+t image or 3D volume sets.

🔧 Fixed

Fixed some visualization glitches caused by numerical cancellation when loading images using only a small subset of the intensity range of the image data type.

🔧 Fixed

Fixed MacOS / Windows possible missing display update, until the next “mouse move” event, when selecting different data using the data selection button.

🔧 Fixed

Fixed delayed GUI update when modifying annotations or data names in the python console integrated within the ImFusionSuite.

🔧 Fixed

Fixed the handling of annotations after they have been deleted in the ImFusionSuite.

🌱 Added

Added imfusion.SharedImageSet.__bool__(), imfusion.SharedImageSet.all(), imfusion.SharedImageSet.any()

🌱 Added

Added a scrollbar, when the input data allows for scrolling, to the visualizer launched by show().

🌱 Added

Added the BOX annotation type.

🌱 Added

Added overload of show() taking as a parameter the file path to be loaded and displayed.

🌱 Added

Added imfusion.SharedImage.__bool__(), imfusion.SharedImage.all(), imfusion.SharedImage.any()

🌱 Added

Added support to interchangeably pass os.PathLike or str as function arguments that expects paths, such as save(), load().

imfusion.machinelearning

Tags

Description

💥 API-Break

Renamed imfusion.machinelearning.Phase.TRAIN into TRAINING and imfusion.machinelearning.Phase.TEST into Inference

🌱 Added

Added support to interchangeably pass os.PathLike or str as function arguments that expects paths, such as MachineLearningModel().