From 6d74a68eca48f8f0654f84b283d83566c4421979 Mon Sep 17 00:00:00 2001 From: Julian Stirling Date: Mon, 8 Dec 2025 14:37:13 +0000 Subject: [PATCH 1/3] Bump stitching version to v0.2.2 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 1d546441..73282b7f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,7 +22,7 @@ dependencies = [ "sangaboard", "camera-stage-mapping ~= 0.1.10", "opencv-python ~= 4.11.0", - "openflexure-stitching[libvips]==0.2.1", + "openflexure-stitching[libvips]==0.2.2", "pillow ~= 10.4", "anyio ~= 4.0", "numpy ~= 2.2", From 5375e9578bd70e348e1431c70db49d35dd5d984c Mon Sep 17 00:00:00 2001 From: Julian Stirling Date: Mon, 8 Dec 2025 14:58:27 +0000 Subject: [PATCH 2/3] Update version for alpha 4 release and update changelog --- CHANGELOG.md | 63 +++++++++++++++++++++++++++++++++++ pyproject.toml | 2 +- tests/test_version_strings.py | 2 +- webapp/package-lock.json | 4 +-- webapp/package.json | 2 +- 5 files changed, 68 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dfc7b99b..7941205b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,65 @@ +# [v3.0.0-alpha4](https://gitlab.com/openflexure/openflexure-microscope-server/compare/v3.0.0-alpha3...v3.0.0-alpha4) (2025-12-15) + +The fourth alpha release of the server. This release has concentrated on colour reproduction, scanning, and the structure of the web-app. + +* Improved PiCamera tuning and colour reproduction + * Algorithm for white-balance calculation improved. Images are grey not yellow. + * Improved colour correction matrices + * Ship our own custom picamera Tuning files, and improve handling of updating this data + * Add contrast and brightness sliders into scan viewer. +* Scanning improvements + * Capture extra images on the boundary between sample and background to robustly capture the edges of the sample + * Add new default background detect method that works on localised image variation not global colour + * Add extra checks into smart stack for checking if stack is successful +* Stage measuring + * Automatic range of motion measurements - Not yet exposed in UI + * A new recentre algorithm - Not yet exposed in UI +* Improvements to the webapp + * Significant modernisation of the webapp build system + * UI customises to available Things - This allows different configurations such as manual microscopes with no stage! + * Overhaul of the code that runs the Calibration Wizard. This will make it easier to add new calibration steps in future + * Add pagination to scan list + +The following merge requests have been merged into v3: + +* !404 Fix jitter at specific screen sizes during scan +* !406 Strip new lines when logging stitching +* !411 Improve smart spiral scan planner to better capture the edge of scamples +* !414 Set colour correction to interpolate value +* !409 Colour sliders in seadragon viewer +* !413 Fix sync button to emit click on click event. +* !408 Scan tab show scan duration +* !416 Add section to Picamera tests README on keeping branches up to date +* !412 Camera metadata with basic data +* !335 Adding automatic range of motion measurements +* !415 Refactor Calibration Wizard +* !419 Improve simulation frame rate +* !420 Specify config patches rather than full config files in settings +* !417 Set Colour Gains from lens shading tables +* !422 Enable JS formatting checks in CI, reformat to match +* !425 Stricter rules on pytest.raises, requiring match for generic error types +* !424 De-duplicate HTML for tab content, add way for tab to request scroll to top +* !421 Add pagination to scan list +* !418 Update the picamera tuning file utilities to not modify the dictionaries in place +* !428 Split up the action button methods for monitoring and starting a task +* !430 Local storage in store +* !431 Update js toolchain +* !426 Stop reading scan_data.json for ongoing scan. +* !433 Skip buttons on calibration wizard +* !436 A matrix display component with copy button that copys as code. +* !410 Ship our own default tuning files +* !435 UI customises to available Things +* !429 Recentre using RangeOfMotionThing methods +* !440 Resolve "Release Checklist" +* !437 Consolidate action buton to just a button +* !439 Configuration for manual microscope +* !444 Visit secondary locations first +* !447 Log an error if the sangaboard firmware is below v1.0.4 +* !434 Improve the stability of scanning +* !438 Formalise import sorting rules and enforce +* !448 Bump required stitching version to 0.2.1 + + # [v3.0.0-alpha3](https://gitlab.com/openflexure/openflexure-microscope-server/compare/v3.0.0-alpha2...v3.0.0-alpha3) (2025-10-10) The third alpha release of the server. The focus has been on stability and documentation. Some highlights are: @@ -57,6 +119,7 @@ The following merge requests have been merged into v3: * !400 Verify stack params at start of scan main loop * !403 Ce disable * !390 Improve documentation for simulation server +* !405 Bump version for alpha3 and update changelog # [v3.0.0-alpha2](https://gitlab.com/openflexure/openflexure-microscope-server/compare/v3.0.0-alpha1...v3.0.0-alpha2) (2025-08-08) diff --git a/pyproject.toml b/pyproject.toml index 73282b7f..2381c939 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ name = "openflexure-microscope-server" # Note that version needs to match a string stored in a unit test, and # the package.json file in the webapp or the CI will fail. -version = "3.0.0-alpha3" +version = "3.0.0-alpha4" authors = [ { name="Richard Bowman", email="richard.bowman@cantab.net" }, { name="Joel Collins" }, diff --git a/tests/test_version_strings.py b/tests/test_version_strings.py index 542a6474..3fa6a8fd 100644 --- a/tests/test_version_strings.py +++ b/tests/test_version_strings.py @@ -19,7 +19,7 @@ THIS_DIR = os.path.dirname(__file__) TRUE_REPO_DIR = os.path.dirname(THIS_DIR) # For explicit version checking. -VER_STRING = "3.0.0-alpha3" +VER_STRING = "3.0.0-alpha4" # This is the regex provided by https://semver.org/ SEMVER_REGEX = re.compile( diff --git a/webapp/package-lock.json b/webapp/package-lock.json index 109a45f9..9e86330e 100644 --- a/webapp/package-lock.json +++ b/webapp/package-lock.json @@ -1,12 +1,12 @@ { "name": "openflexure-microscope-jsclient", - "version": "3.0.0-alpha3", + "version": "3.0.0-alpha4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "openflexure-microscope-jsclient", - "version": "3.0.0-alpha3", + "version": "3.0.0-alpha4", "license": "GNU General Public License v3.0 ", "dependencies": { "material-design-icons": "^3.0", diff --git a/webapp/package.json b/webapp/package.json index 647643a3..45c8f29e 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -1,6 +1,6 @@ { "name": "openflexure-microscope-jsclient", - "version": "3.0.0-alpha3", + "version": "3.0.0-alpha4", "private": true, "description": "User client for the OpenFlexure Microscope Server", "author": "OpenFlexure (https://www.openflexure.org)", From 368c980c7722a5282af8abb0029672cfe4a68489 Mon Sep 17 00:00:00 2001 From: Julian Stirling Date: Mon, 8 Dec 2025 16:06:24 +0000 Subject: [PATCH 3/3] Pin fastapi-version until upstream issue in LabThings is fixed --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 2381c939..34d723be 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,6 +19,7 @@ classifiers = [ ] dependencies = [ "labthings-fastapi == 0.0.11", + "fastapi <= 0.123.6", # This can be removed once #216 on labthings-fastapi is fixed "sangaboard", "camera-stage-mapping ~= 0.1.10", "opencv-python ~= 4.11.0",