From 485448f7a479ec4a08d09c916d1e489df3a279e9 Mon Sep 17 00:00:00 2001 From: Pierre Raybaut <1311787+PierreRaybaut@users.noreply.github.com> Date: Fri, 30 Oct 2026 12:41:18 +0100 Subject: [PATCH] Follow Sigima: analysis of non-uniform images, ROIs holding no pixel Sigima now gives the analysis results of images with non-uniform coordinates (centroid, enclosing circle, peaks, contours, blobs, Hough circles) in physical coordinates, and refuses to extract regions of interest holding no pixel; the contracts of these operations are at version 2: - the Desktop families reference file is regenerated (centroid and peak_detection recorded in version 2, replayed exactly); the Web file, which records version 1, stays refused until DataLab-Web regenerates it; - ROI > Extract... reports an explicit error for each region of interest holding no pixel (e.g. grid cells narrower than a pixel) and still extracts the others, instead of creating empty images; - release notes and French translations. Assisted-by: Claude Opus 5.5 --- .../hdf5/provenance_desktop_families.h5 | Bin 139272 -> 137976 bytes .../LC_MESSAGES/release_notes/release_1.04.po | 6 ++++++ doc/release_notes/release_1.04.md | 2 ++ 3 files changed, 8 insertions(+) diff --git a/datalab/tests/features/hdf5/provenance_desktop_families.h5 b/datalab/tests/features/hdf5/provenance_desktop_families.h5 index fd172fe24624924a7f7161fd82fe125b668135e2..f9fd5c979fe14490ca4dab653e8cb1d471d36a55 100644 GIT binary patch literal 137976 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 literal 139272 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 Jz)oP`{{t#@L}&m2 diff --git a/doc/locale/fr/LC_MESSAGES/release_notes/release_1.04.po b/doc/locale/fr/LC_MESSAGES/release_notes/release_1.04.po index 6fac09124..d125238f4 100644 --- a/doc/locale/fr/LC_MESSAGES/release_notes/release_1.04.po +++ b/doc/locale/fr/LC_MESSAGES/release_notes/release_1.04.po @@ -607,6 +607,12 @@ msgstr "Correction de **ROI > Extraire...**, qui donnait à l'image extraite une msgid "Fixed the coordinates of analysis results computed in a ROI being off by up to half a pixel" msgstr "Correction des coordonnées des résultats d'analyse calculés dans une ROI, qui pouvaient être fausses jusqu'à un demi-pixel" +msgid "Fixed the analysis results of images with non-uniform coordinates (**Analysis > Centroid...**, **Minimum enclosing circle center...**, **2D peak detection**, **Contour detection...**, **Circle Hough transform...** and **Blob detection**) being given in pixel indices, or according to the former pixel size and origin of an image switched to non-uniform coordinates, so that they were drawn away from the features they describe: they are now placed at the positions of the pixels on the image axes, with radii scaled by the local pixel size. The results of images with uniform coordinates are unchanged" +msgstr "Correction des résultats d'analyse des images à coordonnées non uniformes (**Analyse > Barycentre...**, **Centre du cercle minimum...**, **Détection de pics 2D**, **Détection de contours...**, **Transformée de Hough circulaire...** et **Détection de taches**), qui étaient donnés en indices de pixels, ou selon l'ancienne taille de pixel et l'ancienne origine d'une image passée en coordonnées non uniformes, de sorte qu'ils étaient tracés loin des éléments qu'ils décrivent : ils sont désormais placés aux positions des pixels sur les axes de l'image, les rayons étant mis à l'échelle de la taille locale des pixels. Les résultats des images à coordonnées uniformes sont inchangés" + +msgid "**ROI > Extract...** now reports an explicit error for a region of interest holding no pixel of the image (for example a cell of a ROI grid narrower than a pixel, or a region outside the image) instead of silently creating an empty image; the other regions of interest are still extracted" +msgstr "**ROI > Extraire...** signale désormais une erreur explicite pour une région d'intérêt ne contenant aucun pixel de l'image (par exemple une cellule d'une grille de ROI plus étroite qu'un pixel, ou une région hors de l'image) au lieu de créer silencieusement une image vide ; les autres régions d'intérêt sont tout de même extraites" + msgid "Fixed **Processing > Level adjustment > Offset correction** using a background area truncated to integer coordinates: the area was wrong for images whose coordinates are not in pixels (e.g. in millimeters), and empty when smaller than one unit" msgstr "Correction de **Traitement > Ajustement de niveau > Soustraction d'offset**, qui utilisait une zone de fond tronquée à des coordonnées entières : la zone était erronée pour les images dont les coordonnées ne sont pas en pixels (par exemple en millimètres), et vide lorsqu'elle mesurait moins d'une unité" diff --git a/doc/release_notes/release_1.04.md b/doc/release_notes/release_1.04.md index ceed73ecf..bbb7879a5 100644 --- a/doc/release_notes/release_1.04.md +++ b/doc/release_notes/release_1.04.md @@ -269,6 +269,8 @@ See the [HDF5 browser guide](../features/common/h5browser.rst) for scientific ob * Fixed ROIs, annotations and analysis results (centroids, detected peaks, contours...) being shifted by one pixel after a flip or a 90° rotation of an image; after a 90° rotation of a non-square image, or of an image whose coordinates do not start at zero, analysis results even ended up far from the features they describe. They now move exactly with the pixels; for images with non-uniform coordinates, circles, ellipses and polygons are moved approximately when the pixels are reversed along a non-uniform axis (a circle does not stay a circle). ROIs defined in pixel indices are also moved correctly, and inverse ROIs (which mask the inside of their shape) no longer become normal ROIs after these operations, a translation or a distribution of images on a grid * Fixed **ROI > Extract...** giving the extracted image a wrong origin when the coordinates of the source image do not start at zero, and coordinates not matching the extracted pixels for images with non-uniform coordinates * Fixed the coordinates of analysis results computed in a ROI being off by up to half a pixel +* Fixed the analysis results of images with non-uniform coordinates (**Analysis > Centroid...**, **Minimum enclosing circle center...**, **2D peak detection**, **Contour detection...**, **Circle Hough transform...** and **Blob detection**) being given in pixel indices, or according to the former pixel size and origin of an image switched to non-uniform coordinates, so that they were drawn away from the features they describe: they are now placed at the positions of the pixels on the image axes, with radii scaled by the local pixel size. The results of images with uniform coordinates are unchanged +* **ROI > Extract...** now reports an explicit error for a region of interest holding no pixel of the image (for example a cell of a ROI grid narrower than a pixel, or a region outside the image) instead of silently creating an empty image; the other regions of interest are still extracted * Fixed **Processing > Level adjustment > Offset correction** using a background area truncated to integer coordinates: the area was wrong for images whose coordinates are not in pixels (e.g. in millimeters), and empty when smaller than one unit **Plugins:**