Skip to content

Commit abaa172

Browse files
authored
Merge branch 'develop' into dev-add-python3.14
2 parents cb7c464 + 275e4e9 commit abaa172

13 files changed

Lines changed: 74 additions & 28 deletions

File tree

.github/workflows/docker-publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ env:
66
REGISTRY: ghcr.io
77
IMAGE_NAME: TissueImageAnalytics/tiatoolbox
88
image: ghcr.io/tissueimageanalytics/tiatoolbox
9-
TOOLBOX_VER: 2.0.0
9+
TOOLBOX_VER: 2.0.1
1010

1111
jobs:
1212
build-and-push-image:

AUTHORS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
- Fayyaz Minhas \<@foxtrotmike>
3131
- George Batchkala \<@GeorgeBatch>
3232
- Aleksandar Acic \<@aacic>
33+
- Esha Nasir \<@eshasadia>
3334
- Rob Jewsbury \<@R-J96>
3435
- Mohsin Bilal \<@mbhahsmi>
3536
- Musraf Basheer \<mbasheer04>

CITATION.cff

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ authors:
4444
given-names: "Shan E Ahmed"
4545
orcid: "https://orcid.org/0000-0002-1097-1738"
4646
title: "TIAToolbox as an end-to-end library for advanced tissue image analytics"
47-
version: 2.0.0 # TIAToolbox version
47+
version: 2.0.1 # TIAToolbox version
4848
doi: 10.5281/zenodo.5802442
4949
date-released: 2022-10-20
5050
url: "https://github.com/TissueImageAnalytics/tiatoolbox"

HISTORY.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
# History
22

3+
## TIAToolbox v2.0.1 (2026-03-16)
4+
5+
### Bug Fixes and Other Changes
6+
7+
- Fixes filtering of tiles for post-processing within masked region (#1037).
8+
- Fixes Calculation of `max_inst_value` for Instances where overlap is empty (#1038)
9+
10+
**Full Changelog:** https://github.com/TissueImageAnalytics/tiatoolbox/compare/v2.0.0...v2.0.1
11+
12+
______________________________________________________________________
13+
314
## TIAToolbox v2.0.0 (2026-03-11)
415

516
### ✨ Major Updates and Feature Improvements
@@ -58,6 +69,10 @@ TIAViz now integrates Meta’s Segment Anything Model (SAM), enabling:
5869

5970
Simplified SAM usage (#968) streamlines its integration into analysis pipelines.
6071

72+
### Multichannel Image (mIF) Support in WSIReader
73+
74+
- **Multichannel image support** (PR #825) for immunofluorescence and non-RGB modalities
75+
6176
### 🖼️ WSI Registration Visualization in TIAViz
6277

6378
TIAViz now supports **interactive WSI registration visualisation**, allowing users to compare aligned slides in two modes:
@@ -72,7 +87,6 @@ This feature enables intuitive, high‑resolution exploration of slide registrat
7287
Major improvements include:
7388

7489
- More robust cross-vendor **metadata extraction** (#1001)
75-
- **Multichannel image support** (PR #825) for immunofluorescence and non-RGB modalities
7690
- Simplified Windows installation using `openslide-bin` (no manual DLL steps)
7791
- macOS Tileserver fix (#976)
7892
- Improved DICOM reading (#934)

docs/pretrained.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ The input output configuration is as follows:
298298
299299
.. collapse:: Model names
300300

301-
- micronet_hovernet-consep
301+
- micronet-consep
302302

303303

304304
Kumar Dataset
@@ -333,7 +333,7 @@ The input output configuration is as follows:
333333
334334
.. collapse:: Model names
335335

336-
- hovernet_original_kumar
336+
- hovernet_original-kumar
337337

338338
Nucleus Detection
339339
^^^^^^^^^^^^^^^^^

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626
[tool.poetry]
2727
name = "TIA Centre"
28-
version = "2.0.0"
28+
version = "2.0.1"
2929
description = "test"
3030
authors = ["TIA Centre <[email protected]>"]
3131

requirements/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ scikit-learn>=1.2.0
2929
scipy>=1.8
3030
shapely>=2.0.0
3131
SimpleITK>=2.2.1
32-
sphinx>=5.3.0
32+
sphinx>=5.3.0, <9.0.0
3333
tifffile>=2025.5.21
3434
timm>=1.0.3
3535
torch>=2.5.0

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,6 @@
6363
test_suite="tests",
6464
tests_require=test_requirements,
6565
url="https://github.com/TissueImageAnalytics/tiatoolbox",
66-
version="2.0.0",
66+
version="2.0.1",
6767
zip_safe=False,
6868
)

tests/engines/test_multi_task_segmentor.py

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import json
66
import shutil
77
from pathlib import Path
8+
from types import SimpleNamespace
89
from typing import TYPE_CHECKING, Any, Final
910
from unittest.mock import MagicMock
1011

@@ -1029,7 +1030,6 @@ def test_get_tile_info_small_image_triggers_early_return(
10291030
10301031
"""
10311032
# --- Arrange ---
1032-
# Make image smaller than tile_shape
10331033
image_shape = [100, 100]
10341034

10351035
# Configure tile_shape so that tile_shape >= image_shape
@@ -1041,25 +1041,35 @@ def test_get_tile_info_small_image_triggers_early_return(
10411041
patch_input_shape=(200, 200),
10421042
)
10431043

1044-
# Patch PatchExtractor.get_coordinates to return predictable boxes
1044+
# Fake return from PatchExtractor.get_coordinates
10451045
fake_boxes = np.array([[0, 0, 100, 100]])
10461046
monkeypatch.setattr(
10471047
"tiatoolbox.tools.patchextraction.PatchExtractor.get_coordinates",
1048-
lambda **kwargs: (None, fake_boxes), # noqa: ARG005
1048+
lambda **_: (None, fake_boxes),
10491049
)
10501050

1051+
# Create a dummy dataset with required attributes
1052+
dummy_dataset = SimpleNamespace(mask_reader=None)
1053+
1054+
# Dummy dataloader-like container
1055+
dummy_dataloader = SimpleNamespace(dataset=dummy_dataset)
1056+
1057+
# Create a real instance and inject required fields
1058+
m = MultiTaskSegmentor(model="hovernet_fast-pannuke")
1059+
m._ioconfig = ioconfig
1060+
m.mask_padding = (0, 0, 0, 0)
1061+
m.dataloader = dummy_dataloader
1062+
10511063
# --- Act ---
1052-
result = MultiTaskSegmentor._get_tile_info(image_shape, ioconfig)
1064+
result = m._get_tile_info(image_shape=image_shape, wsi_proc_shape=image_shape)
10531065

10541066
# --- Assert ---
10551067
assert isinstance(result, list)
1056-
assert len(result) == 1 # early return path
1068+
assert len(result) == 1
1069+
10571070
boxes, flag = result[0]
10581071

1059-
# boxes should be exactly what we patched
10601072
assert np.array_equal(boxes, fake_boxes)
1061-
1062-
# flag should be zeros with shape (N, 4)
10631073
assert flag.shape == (1, 4)
10641074
assert np.all(flag == 0)
10651075

tests/models/test_arch_micronet.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ def test_micronet_output(remote_sample: Callable, track_tmp_path: Path) -> None:
7272
svs_1_small = Path(remote_sample("svs-1-small"))
7373
micronet_output = Path(remote_sample("micronet-output"))
7474
model = "micronet-consep"
75-
batch_size = 64
75+
batch_size = 16
7676
num_workers = 0
7777

7878
ninst_seg = NucleusInstanceSegmentor(

0 commit comments

Comments
 (0)