diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f3b8cb..eaea743 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) ### Changed - **Data locality:** the README now states precisely what stays local: processing never requires sending data anywhere, and the network services that can be enabled (AI assistant provider, capsule registry) are named. +- **Image regions of interest and coordinates:** image computations now follow Sigima 1.4 (development snapshot until its release). A region of interest selects the pixels whose centers lie inside its shape, boundary included: a rectangle whose bounds lie on pixel centers now includes one more row and column, and polygon vertices are no longer rounded to whole pixels. ROI grids are made of whole pixels, the center of an image (e.g. the default center of a radial profile) is the center of its pixel grid, and flips and rotations move regions of interest, annotations and analysis results with the pixels. Regions of interest saved earlier are not converted: they select pixels according to these rules when they are used again. ## [0.10.0] - 2026-10-20 diff --git a/sigima-dependency.json b/sigima-dependency.json index 6a898f0..f27713b 100644 --- a/sigima-dependency.json +++ b/sigima-dependency.json @@ -1,4 +1,4 @@ { "publishedRequirement": "sigima==1.3.0", - "developmentRef": null + "developmentRef": "6c9255ae81a3c188981cd90f335a732d13a1a97f" } diff --git a/tests/python/test_processings.py b/tests/python/test_processings.py index c96515c..283a95d 100644 --- a/tests/python/test_processings.py +++ b/tests/python/test_processings.py @@ -547,14 +547,17 @@ def test_radial_profile_callback_recomputes_centre(fresh_bootstrap): data[10:16, 4:10] = 1000.0 src = bs.add_image_from_array("img", data, width=48, height=64) # "center" mode resets x0/y0 to the geometric centre even from stale 0,0. + # Pixels are centred on their coordinates (0 to 47 along X, 0 to 63 along + # Y): the centre of the image lies halfway between its first and last pixel + # centres, so that a radial profile of a symmetric image is symmetric. centred = bs.resolve_feature_callbacks( "image:radial_profile", "center", {"center": "center", "x0": 0.0, "y0": 0.0}, src, ) - assert centred["x0"] == pytest.approx(24.0) - assert centred["y0"] == pytest.approx(32.0) + assert centred["x0"] == pytest.approx(23.5) + assert centred["y0"] == pytest.approx(31.5) # "centroid" mode computes the intensity centroid (near the blob). centroid = bs.resolve_feature_callbacks( "image:radial_profile",