Papers › PanNuke Dataset Extension, Insights and Baselines

PanNuke Dataset Extension, Insights and Baselines

24 Mar 2020arXiv:2003.10778archive 2025-07-28

Jevgenij Gamper, Navid Alemi Koohbanani, Ksenija Benes, Simon Graham, Mostafa Jahanifar, Syed Ali Khurram, Ayesha Azam, Katherine Hewitt, Nasir Rajpoot

The emerging area of computational pathology (CPath) is ripe ground for the application of deep learning (DL) methods to healthcare due to the sheer volume of raw pixel data in whole-slide images (WSIs) of cancerous tissue slides. However, it is imperative for the DL algorithms relying on nuclei-level details to be able to cope with data from `the clinical wild', which tends to be quite challenging. We study, and extend recently released PanNuke dataset consisting of ~200,000 nuclei categorized into 5 clinically important classes for the challenging tasks of segmenting and classifying nuclei in WSIs. Previous pan-cancer datasets consisted of only up to 9 different tissues and up to 21,000 unlabeled nuclei and just over 24,000 labeled nuclei with segmentation masks. PanNuke consists of 19 different tissue types that have been semi-automatically annotated and quality controlled by clinical pathologists, leading to a dataset with statistics similar to the clinical wild and with minimal selection bias. We study the performance of segmentation and classification models when applied to the proposed dataset and demonstrate the application of models trained on PanNuke to whole-slide images. We provide comprehensive statistics about the dataset and outline recommendations and research directions to address the limitations of existing DL tools when applied to real-world CPath applications.

PaperPDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2003.10778")

Code

Syntology Ran 4 of 40 code samples harvested from 3 repositories linked to this paper; 36 have no recorded run. Of those that ran: 1 ran · violated contract; 1 ran · our draft was wrong; 2 ran · fixture could not drive it.

By repository: community (archive-listed): 39 samples from 3 repositories, 3 ran; 1 identical to code first harvested elsewhere. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

TIA-Lab/PanNuke-metrics officialmentioned in paper report
alexjfoote/reetoolbox mentioned on GitHubpytorchApache-2.0 report
kaiseem/pointnu-net mentioned on GitHubpytorchMIT report
lhaof/cgt mentioned on GitHubpytorch report
okunator/Dippa mentioned on GitHubpytorchMIT report
vqdang/hover_net mentioned on GitHubtf report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

40 samples harvested; 4 ran; 0 honoured the contract we drafted; 36 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

1ran · violated contract
1ran · our draft was wrong
2ran · fixture could not drive it
36unverified

Licence: 1 of the 40 samples is pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from 3 repositories linked to this paper, official or community; each sample names its own and says which. Some samples are identical code Syntology first harvested from another repository; for those, this paper's copy is not located and its licence is not recorded. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

iou kaiseem/pointnu-net/losses/lovasz_losses.py community (archive-listed) ran · fixture could not drive it fingerprinted MIT (permissive) · d94639b28b2134ff · report
iou_binary kaiseem/pointnu-net/losses/lovasz_losses.py community (archive-listed) ran · fixture could not drive it fingerprinted MIT (permissive) · 1211530cd527bd0b · report
lovasz_grad kaiseem/pointnu-net/losses/lovasz_losses.py community (archive-listed) ran · violated contract fingerprinted MIT (permissive) · e85b5d21dc5b8382 · report
AJI okunator/Dippa/src/metrics/metrics.py community (archive-listed) unverified MIT (permissive) · 70dfe5fac9f92989 · report
AJI_plus okunator/Dippa/src/metrics/metrics.py community (archive-listed) unverified MIT (permissive) · 0ec0f8e9ea494c64 · report
DICE2 okunator/Dippa/src/metrics/metrics.py community (archive-listed) unverified MIT (permissive) · 1942c4a97287927f · report
accuracy alexjfoote/reetoolbox/reetoolbox/metrics.py community (archive-listed) unverified Apache-2.0 (permissive) · 504d09c7575c571d · report
adversarial_accuracy alexjfoote/reetoolbox/reetoolbox/metrics.py community (archive-listed) unverified Apache-2.0 (permissive) · f2adf71dc1102ec8 · report
apply_transforms alexjfoote/reetoolbox/reetoolbox/trainer.py community (archive-listed) unverified Apache-2.0 (permissive) · e45684da05f7df4a · report
binarize okunator/Dippa/src/utils/mask_utils.py community (archive-listed) unverified MIT (permissive) · df537567c64fea4a · report
binary_focal_loss kaiseem/pointnu-net/losses/focal_loss.py community (archive-listed) unverified MIT (permissive) · 241b293cb3a3c43d · report
check_sha1 kaiseem/pointnu-net/models/download.py community (archive-listed) unverified MIT (permissive) · 484859bf41155745 · report
compute_edts_forPenalizedLoss kaiseem/pointnu-net/losses/dice_loss.py community (archive-listed) unverified MIT (permissive) · b53ea61df431b694 · report
download kaiseem/pointnu-net/models/download.py community (archive-listed) unverified MIT (permissive) · 8faa1b60508d7b44 · report
draw_stuff_contours okunator/Dippa/src/utils/viz_utils.py community (archive-listed) unverified MIT (permissive) · 42361797de298480 · report
draw_thing_contours okunator/Dippa/src/utils/viz_utils.py community (archive-listed) unverified MIT (permissive) · 5c30f53f7cde0bda · report
fix_duplicates okunator/Dippa/src/utils/mask_utils.py community (archive-listed) unverified MIT (permissive) · b8109b79acc64068 · report
get_dataloader alexjfoote/reetoolbox/reetoolbox/utils.py community (archive-listed) unverified Apache-2.0 (permissive) · 8fa7bbbf062a1aad · report
get_model_file kaiseem/pointnu-net/models/model_store.py community (archive-listed) unverified MIT (permissive) · 4bf53b623193a6f7 · report
get_resnet_file kaiseem/pointnu-net/models/model_store.py community (archive-listed) unverified MIT (permissive) · 420ae9a3239bb203 · report
label_patch alexjfoote/reetoolbox/reetoolbox/utils.py community (archive-listed) unverified Apache-2.0 (permissive) · 9b00b93154e766c2 · report
load_resnet alexjfoote/reetoolbox/reetoolbox/utils.py community (archive-listed) unverified Apache-2.0 (permissive) · e7a3997691bd97d3 · report
make_one_hot kaiseem/pointnu-net/losses/dice_loss.py community (archive-listed) unverified MIT (permissive) · f93cd0d2bb2e4795 · report
normalize okunator/Dippa/src/utils/img_utils.py community (archive-listed) unverified MIT (permissive) · 247e39ae4944e031 · report
percentile_normalize okunator/Dippa/src/utils/img_utils.py community (archive-listed) unverified MIT (permissive) · dc269540663f3fb7 · report
percentile_normalize_and_clamp okunator/Dippa/src/utils/img_utils.py community (archive-listed) unverified MIT (permissive) · 12218d17d813eb74 · report
poly2mask okunator/Dippa/src/utils/save_utils.py community (archive-listed) unverified MIT (permissive) · ac05aad67c119188 · report
quality_focal_loss kaiseem/pointnu-net/losses/generalise_focal_loss.py community (archive-listed) unverified MIT (permissive) · e5457e2f64864dd0 · report
reduce_loss kaiseem/pointnu-net/losses/generalise_focal_loss.py community (archive-listed) unverified MIT (permissive) · 93358ba7aa223343 · report
remove_small_objects okunator/Dippa/src/utils/mask_utils.py community (archive-listed) unverified MIT (permissive) · 15b380d239dc63a4 · report
rmse alexjfoote/reetoolbox/reetoolbox/metrics.py community (archive-listed) unverified Apache-2.0 (permissive) · 30f91c811cbc554f · report
run_val alexjfoote/reetoolbox/reetoolbox/trainer.py community (archive-listed) unverified Apache-2.0 (permissive) · db1bae643c60dd31 · report
short_hash kaiseem/pointnu-net/models/model_store.py community (archive-listed) unverified MIT (permissive) · 77bc65d2018e9d9e · report
stack_prediction kaiseem/pointnu-net/infer_pannuke.py community (archive-listed) unverified MIT (permissive) · 274a4c2795ca8dd4 · report
targeted_loss alexjfoote/reetoolbox/reetoolbox/optimisers.py community (archive-listed) unverified Apache-2.0 (permissive) · 21780435c6ca1913 · report
training_bout alexjfoote/reetoolbox/reetoolbox/trainer.py community (archive-listed) unverified Apache-2.0 (permissive) · d6bd6ff6fe6aad52 · report
untargeted_loss alexjfoote/reetoolbox/reetoolbox/optimisers.py community (archive-listed) unverified Apache-2.0 (permissive) · 432e211219845a2b · report
viz_patches okunator/Dippa/src/patching/viz_patches.py community (archive-listed) unverified MIT (permissive) · 86befdff7aeeaec4 · report
weight_reduce_loss kaiseem/pointnu-net/losses/generalise_focal_loss.py community (archive-listed) unverified MIT (permissive) · 8553862254d49840 · report
numericalSort identical code first harvested elsewhere ran · our draft was wrong fingerprinted licence of this copy not recorded · d39d1cd46009e948 · report

Tasks

Selection biaswhole slide images

Datasets

Introduced by this paper, per the archive.

PanNuke

Results from the paper archive 2025-07-28

No leaderboard rows for this paper in the archive.

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections