Release History

v3.1.0

Released on 2026-10-29 - GitHub - PyPI

v3.1.0 (2026-10-29)

This release is published under the BSD-3-Clause License.

Bug Fixes

  • Return float instead of torch tensor in VIFp, FSIM, VSI and MS-SSIM (6004545)

  • qmeasure: Convert input to C-contiguous float32 array in C extension (06fdd9c)

Features

  • Support Python 3.13 and 3.14 (bc9a88f)

  • build against NumPy 2 and drop the numpy<2 runtime pin

  • raise minimum versions of scipy, torch, scikit-image, nibabel and matplotlib to the first NumPy-2-compatible releases

  • use the public NumPy C API in the statistics extension

  • get the NumPy include path from the build interpreter in meson

  • build cp313 and cp314 wheels with cibuildwheel 3.2.1


Detailed Changes: v3.0.1…v3.1.0

v3.0.1

Released on 2026-10-20 - GitHub - PyPI

v3.0.1 (2026-10-20)

This release is published under the BSD-3-Clause License.

Important

3.0.0 was tagged but never published to PyPI due to a wheel build issue, so 3.0.1 is the first release of the 3.x series and includes all breaking changes of 3.0.0. If you upgrade from 2.x, please refer to the 3.0.0 release notes.

Breaking changes (from 3.0.0)

  • All public functions take the modified image first: (img_m, img_r). Metrics are called directly, e.g. FSIM()(img_m, img_r); Metric.score() is deprecated.

  • VIFp and MAD scores differ from 2.x due to bug fixes (wrong argument order passed to piq for VIFp; incorrect block statistics in the MAD C extension). Results computed with older versions are not comparable.

Bug Fixes

  • build: Update MACOSX_DEPLOYMENT_TARGET to 14.0 (bb10728)


Detailed Changes: v3.0.0…v3.0.1 · since 2.x: v2.2.4…v3.0.1

v3.0.0

Released on 2026-10-20 - GitHub - PyPI

v3.0.0 (2026-10-20)

This release is published under the BSD-3-Clause License.

Bug Fixes

  • Raise RuntimeWarning in VIFp.print_score and fix im_slice check (c52f44f)

  • mad: Correct block statistics in C extension, block indexing and im_slice check (a41a9b1)

  • snr: Return score instead of (score, parameters) tuple (c5f552e)

Features

  • Call metrics directly with (img_m, img_r) (04ffd93)

Fix argument order passed to piq (x=modified, y=reference), which made VIFp scores wrong.

BREAKING CHANGE: All public functions now take the modified image first: (img_m, img_r). Metrics are called directly via Metric.call(). Metric.score() is deprecated and takes the new argument order as well.

Breaking Changes

  • All public functions now take the modified image first: (img_m, img_r). Metrics are called directly via Metric.call(). Metric.score() is deprecated and takes the new argument order as well.


Detailed Changes: v2.2.4…v3.0.0

v2.2.4

Released on 2026-02-18 - GitHub - PyPI

v2.2.4 (2026-02-18)

This release is published under the BSD-3-Clause License.


Detailed Changes: v2.2.3…v2.2.4

v2.2.3

Released on 2025-04-10 - GitHub - PyPI

v2.2.3 (2025-04-10)

This release is published under the BSD-3-Clause License.

Bug Fixes

  • Fix using Class attribute rois when not using the same roi for all images in BatchMetrics (e98b15a)


Detailed Changes: v2.2.2…v2.2.3

v2.2.2

Released on 2025-04-09 - GitHub - PyPI

v2.2.2 (2025-04-09)

This release is published under the BSD-3-Clause License.

Bug Fixes

  • Add check for image dimensions during loading (#15, a120ade)

  • fix: add check for image dimensions during loading

closes #14

  • [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

  • refactor: refactor to comply with ruff

  • docs(load_data): add Exception to function docstring


Co-authored-by: Lukas Nepelius p42940@fhooe.at

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

Co-authored-by: lukasbehammer lukas.behammer@fh-wels.at

  • Enable rois in BatchMetrics (c2b0ce5)

closes #11

  • Fix rois in BatchMetrics.report when exporting images (88c8931)

  • Fix semantic release exclude commit pattern (b24070e)

Documentation


Detailed Changes: v2.2.1…v2.2.2

v2.2.1

Released on 2025-04-02 - GitHub - PyPI

v2.2.1 (2025-04-02)

Bug Fixes

  • fix: last column of metrics will now be printed in export_image (2ab6643)

v2.2.0

Released on 2025-03-31 - GitHub - PyPI

v2.2.0 (2025-03-31)

Features

  • feat: add script to crop images

update script to reduce projections, refactor scripts to comply with ruff linting rules (8a84d44)

Unknown

  • notebook: update notebook documentation (779f7e7)

  • notebook: update notebooks

refactor notebooks to comply with ruff rules (0de8543)

v2.1.0

Released on 2025-03-06 - GitHub - PyPI

v2.1.0 (2025-03-06)

Bug Fixes

  • fix: add function _parse_bitdepth to utils.loading.init.py

update docs for export_metadata (4cc8e5a)

  • fix: fix integer overflow when loading large binary images (567d0d7)

Documentation

  • docs: update for new loading options

fix name “Structural Similarity” (16de59d)

Features

  • feat: add more .raw loading options (598a5a6)

  • feat: add visualization for different region types

add return of parameters for signal_to_noise_ratio (6ea333a)

v2.0.6

Released on 2024-12-13 - GitHub - PyPI

v2.0.6 (2024-12-13)

Bug Fixes

  • fix: fix bug when using batch mode

batch mode couldn’t be used without the parameter roi give (3693e64)

v2.0.5

Released on 2024-11-18 - GitHub - PyPI

v2.0.5 (2024-11-18)

Bug Fixes

  • fix(crop_image): add checks if cropping is smaller than original image or image is already cropped (bb930b0)

  • fix: prevent forwarding of roi parameter in BatchMetrics.calculate (ea35048)

Unknown

  • books: update report exporting in batch mode notebook (86c70b4)

v2.0.4

Released on 2024-11-11 - GitHub - PyPI

v2.0.4 (2024-11-11)

Bug Fixes

  • fix(multiple.py): fix delimiter sniffing

fix csv delimiter sniffing, add support for tsv and txt files during loading of pairs in BatchMetrics (dbd60ee)

Documentation

  • docs: update README.md badge (b5d0713)

v2.0.3

Released on 2024-10-30 - GitHub - PyPI

v2.0.3 (2024-10-30)

Bug Fixes

  • fix: fix comparison operators and move them to Metric class (1af2e31)

v2.0.2

Released on 2024-10-29 - GitHub - PyPI

v2.0.2 (2024-10-29)

Bug Fixes

  • fix(qmeasure): fix image loading in score method (5f589c1)

v2.0.1

Released on 2024-10-23 - GitHub - PyPI

v2.0.1 (2024-10-23)

Bug Fixes

  • fix: revert commit 851521b2 (960957d)

v2.0.0

Released on 2024-10-22 - GitHub - PyPI

v2.0.0 (2024-10-22)

Breaking

  • refactor!: move utility modules to utils subpackage

BREAKING CHANGE: major refactoring of utility functions (d3945b4)

Bug Fixes

  • fix: convert rgb images to grayscale before binarization (f258f96)

  • fix: convert snr and cnr results to np.float64 (3589350)

  • fix(utils.py): fix visualization in _get_binary

add slices to image visualization for 3d data (3afad3a)

  • fix: change condition to check for provided snr and cnr parameters

fixes a NameError when calling snr or cnr methods without providing the center or radius parameters (Lookup in _parameter attribute fails when entries have not been created there before) (a6b3ec2)

  • fix: add additional checks for snr and cnr visualization (accaf51)

  • fix(utils.py): add check for image dimensions in export_image (960b833)

Documentation

  • docs(load_data): update deprecation warning in docstring (b3838f6)

  • docs: update docs to exclude deprecation warning (0a645f6)

  • docs(utils): add examples in module docstrings (dd590f6)

  • docs: update docs according to d3945b47 (772f430)

  • docs: add public attribute parameters to class documentation (1b2b00c)

Features

  • feat(export_image): add check for file extension (977b7c8)

  • feat(utils/export.py): add feature to return dict in export_results (c30d368)

  • feat: add functionality for different region types for snr and cnr

add find_largest_region to docs (7495cd1)

  • feat: add automatic background and signal center detection for cnr and snr (1ea9310)

  • feat: interactive centers for snr and cnr (bfa5364)

Performance Improvements

  • perf: update SSIM

update documentation, refactor definition of variable truncate (851521b)

  • perf(ImageArray): calculate statistics only on method call

make sure that an ImageArray is returned via numpy ufunc (31524fb)

v1.13.0

Released on 2024-09-24 - GitHub - PyPI

v1.13.0 (2024-09-24)

Documentation

  • docs: add internal API reference (81a5950)

  • docs: update docs

add visualize_2d to docs, fix cross-link for parameter image in MultipleMetrics.report (25f4e92)

Feature

  • feat(BatchMetrics): add image export in report method (432c31e)

  • feat(export_image): add parameter show_image

add option to select if image should be printed when exporting images (5dff6a4)

  • feat: add parameter project_name to report methods

filename is constructed of project_name and default filename if project_name is given (07541a6)

v1.12.0

Released on 2024-09-04 - GitHub - PyPI

v1.12.0 (2024-09-04)

Feature

  • feat: add function to create image report

move print_image method to utils.py as function and rename to export_image, add parameter to change filename, fix bug when number of fr-metrics is not a multiple of four (cc8b4ff)

v1.11.1

Released on 2024-09-04 - GitHub - PyPI

v1.11.1 (2024-09-04)

Documentation

  • docs: add pre-commit usage in developer guide (4c313ab)

  • docs: Update docs

update developer guide regarding docs generation, rename pages for utility modules and usage (4f35dd3)

Performance

  • perf: improve performance of load_data

call ImageArray only at the end of load_data function and only if necessary (b3fdecd)

  • perf: improve performance of BatchMetrics

add checks to load images only if not already in memory, add function to calculate no-reference metrics only if not already calculated (a0f3a26)

v1.11.0

Released on 2024-09-02 - GitHub - PyPI

Warning

Package has wrong version number (1.11.0dev0 instead of 1.11.0)

v1.11.0 (2024-09-02)

Chore

  • chore: update .pre-commit-config.yaml

add submodule checkout, add custom autoupdate commit message, change sphinx building stage to pre-push (8998a73)

  • chore: update LICENSE.txt

include License statement for qmeasure submodule, fix file paths, update style (4ec7e17)

Ci

  • ci: add recursive checkout (ef72c4a)

  • ci: make checkout branch variable for wheel and sdist building

set checkout branch for semantic_release to main (59d0375)

  • ci: remove sleep step in job test_install (fde39ba)

Feature

  • feat: add function to crop images

cal cropping function during loading if parameter roi is given (140d101)

Refactor

  • refactor: add warning to visualize method in class ImageArray

add warning that parameter slices will be ignored if method is called on a 2D image (cd496be)

  • refactor: handle data loading in interface classes

move data loading and checking to score methods of metrics interface classes (1ad011b)

  • refactor: use qmeasure submodule (1c1ae61)

v1.10.0

Released on 2024-08-27 - GitHub - PyPI

v1.10.0 (2024-08-27)

Chore

  • chore: update docs config to autodocument inherited members (9bc640f)

  • chore: update documentation build

add dependencies for Sphinx in GitHub Actions job (4596169)

  • chore: update release process

build only after semantic_release job ran (5fe798c)

Documentation

  • docs: update docs

remove sphinx-notfound-page, temporarily disable hoverxref (614d52a)

  • docs: add sphinx-autobuild to developer_guide.rst (59381a4)

Feature

  • feat: add function to compute multiple metrics at once

rename batch_mode.py to multiple.py, add MultipleMetrics class, move export_metadata to it’s own function in utils.py, add base class for classes of type multiple, update class BatchMetrics (6f4f8a7)

Refactor

  • refactor: add new parent class metric

rename export_csv to export_results, restructure abstract base classes for metrics (4bc3bef)

Unknown

  • book: update Image_Comparison.ipynb accordingly to 6f4f8a77 (8ac53e8)

v1.9.1

Released on 2024-08-23 - GitHub - PyPI

Warning

Package has wrong version number (1.9.0 instead of 1.9.1)

v1.9.1 (2024-08-23)

Chore

  • chore: change GitHub emojis to emoji characters in README.md

improve rendering for PyPI (0a04811)

  • chore: update automatic build process in build_wheels_and_publish.yaml (bcdc3b1)

Documentation

  • docs: update docs

multiple changes to docstrings and docs rendering and docs building (080045f)

Fix

  • fix: use ImageArray instead of np.ndarray

update according to 40f0d029ad416747135f79e8716de040335da592, fixes mypy (4ecfc86)

v1.9.0

Released on 2024-08-22 - GitHub - PyPI

v1.9.0 (2024-08-22)

Build

  • build: set specific meson and meson-python versions (e395ba2)

  • build: remove support for Python 3.13 until in stable

Python 3.13 build takes too long or fails, add specific dependency version for meson-python (d6dd0e6)

Chore

  • chore: update .gitignore

remove docs/source/**/generated/ files (be86072)

Feature

  • feat(batch_mode.py): add parameter data_range to export_metadata (00cb4c4)

  • feat: add parameter to set order of scaling in batch_mode.py (0c3886c)

Fix

  • fix: add Exception and warning to handle non 3D volumes in qmeasure.py (33e288a)

v1.8.0

Released on 2024-08-22 - GitHub - PyPI

v1.8.0 (2024-08-22)

Build

  • build: update numpy dependency for build to be lower than 2.0.0 (54ac725)

Chore

  • chore: remove check install job from build_wheels_and_publish.yaml (235cd1c)

  • chore: use pip instead of pip3 in check_import job (d739e83)

  • chore: add Set up Python step check_import job (70448e3)

  • chore: add -vv argument in check_import job for debugging (03e50b1)

  • chore: fix check_import job to use non-editable install (e772e8f)

  • chore: move isort config from ruff.isort to ruff.lint.isort (8d7f21b)

  • chore: update release process in build_wheels_and_publish.yaml

add check for import to catch non-importable releases, add upload to TestPyPI and check installing from there before real upload (53d69e9)

Documentation

  • docs: update Tuple order for visualization methods in snr.py and cnr.py

change Tuple order according to 4d7c3e02 and 0bab2b85 (3aef76d)

Feature

  • feat: add 2D visualization for class ImageArray (d09dfad)

  • feat: add parameter to export image in visualization functions (6e418e2)

Fix

  • fix: update 2D visualization for snr and cnr

fix visualization based on 4d7c3e02 (0bab2b8)

v1.7.0

Released on 2024-08-22 - GitHub - PyPI

v1.7.0 (2024-08-22)

Chore

  • chore: update version to 1.6.1

fix versioning for python-semantic-release (6d00255)

Ci

  • ci: add commit type book to python semantic release (ec50245)

Documentation

  • docs: update docstring for load_utils.py:load_raw

add periods to sentences in the “Raises” section of docstring (c3f3591)

  • docs: add pre-commit.ci status badge (b02ca8b)

Feature

  • feat: add custom visualization

add method for class ImageArray and function visualize_3d for custom visualization of slices of 3d volumes, update documentation for the respective method and function (8423592)

Fix

  • fix: change orientation of loaded image array

add rotation and flip when loading from binary, update visualization functions for cnr and snr (4d7c3e0)

Performance

  • perf: use attribute of class ImageArray for method describe

attribute mean_value in method describe is now used, fix documentation for class ImageArray (b0830cf)

Unknown

  • book: update visualization in jupyter notebooks

visualization now reflects the changes in commit 4d7c3e02 (7d94131)

v1.6.1

Released on 2024-08-20 - GitHub - PyPI

Warning

Package has wrong version number (1.6.0dev0 instead of 1.6.1)

v1.6.1 (2024-08-20)

Ci

  • ci: add Setup Python step before Test install from PyPI (4471af6)

  • ci: skip build-docs and mypy on pre-commit.ci (32654c5)

Fix

  • fix: remove init.py files for C extensions

import of the package is now possible again (e747cf7)

v1.6.0 BROKEN

Released on 2024-08-20 - GitHub - PyPI

Caution

Import not working due to init.py files for C extensions

v1.6.0 (2024-08-20)

Ci

  • ci: update .pre-commit-config.yaml

exclude CHANGELOG.md and CODE_OF_CONDUCT.md from codespell hook, activate sphinx hook for push only, remove stage commit from validate-pyproject hook, add exclude for conda recipes for check-yaml hook (d84c21f)

  • ci: update build_wheels_and_publish.yaml

remove vcs_release=”false” argument from semantic_release job, update test install (2eae29e)

  • ci: add specific code checkout to build_wheels_and_publish.yaml

add “ref: main” to checkout step to ensure checking out the latest commit, temporarily deactivate conditions for jobs to release last version (9e8b5ce)

Documentation

  • docs: change title of Changelog page to Release History (ef913a6)

  • docs: add changelog page (730ecf1)

  • docs: add contributor covenant shield (1ab08c1)

Feature

  • feat(load_utils.py): add support for .tiff files (a7c8b74)

Unknown

  • Create CODE_OF_CONDUCT.md (3860e91)

v1.5.2 BROKEN

Released on 2024-08-16 - GitHub - PyPI

Caution

Import not working due to init.py files for C extensions

v1.5.2 (2024-08-16)

Build

  • build: add stub files and init.py files for C extensions to build process (6251b98)

  • build: update build_wheels_and_publish.yaml

add fetch_depth for code checkout (1fd84d2)

  • build: update workflows

add pull_request trigger for Build, add concurrency for Documentation, add event trigger for Documentation (6e8bc98)

  • build: fix build_wheels_and_publish.yaml

add code checkout to github release job (e2c9a39)

Chore

  • chore: update PyPI classifiers (21a1994)

  • chore: add CONTRIBUTING.md (8491e64)

  • chore: update dev dependencies (ac22ca6)

  • chore: remove sphinx from pre-commit (2372f99)

  • chore: update args for pre-commit-sphinx (c672fa5)

  • chore: update dev dependencies (d769aab)

  • chore: add pre-commit (83c300c)

  • chore: add lint rules to ignore

ignore E203 and C901 (1372c60)

Ci

  • ci: update build_wheels_and_publish.yaml

perform jobs only if condition released == true is met, add explicit tag for upload_github job (c941bd9)

Documentation

  • docs: update README.md

update Project Status badge to Active, clear todo list, add contributing, improve documentation (503e4f7)

  • docs: rename batch mode page

make “Module” lowercase as all other modules (e1105e1)

  • docs: restructure docs into api reference and usage page (0dad6df)

  • docs: add developer guide (5282655)

  • docs: add favicon (f2b6ee1)

Fix

  • fix(mad.py): update check for im_slice

in (int or None) int can always be evaluated as true (a245fe9)

Refactor

  • refactor: update test assertion

change is 255 to == 255 (df39f34)

Style

  • style: update end of file new line (3c89f86)

  • style: format files

remove trailing whitespace, adjust end of files (1cc275c)

  • style: add mypy check

implement mypy check, update files for mypy, add stub files qmeasurecalc.pyi and statisticscalc.pyi (1997516)

  • style: add yamllint

implement yamllint and refactor .yaml files (6c46ace)

  • style: add rst check

implement rst check and refactor .rst files (92f2dbd)

  • style: update formatting

use ruff formater to format codebase (dc48022)

  • style: update linting

fix and update ruff config, fix lint errors (452b6fc)

Unknown

  • Merge remote-tracking branch ‘github/main’ (609891d)