Skip to content

Add GrandQC slide quality control notebook for IDC DICOM WSI#105

Draft
fedorov wants to merge 3 commits into
ImagingDataCommons:masterfrom
fedorov:grand-qc
Draft

Add GrandQC slide quality control notebook for IDC DICOM WSI#105
fedorov wants to merge 3 commits into
ImagingDataCommons:masterfrom
fedorov:grand-qc

Conversation

@fedorov

@fedorov fedorov commented Jun 11, 2026

Copy link
Copy Markdown
Member

Demonstrates end-to-end use of GrandQC with NCI Imaging Data Commons:

  • Discover H&E slides via idc-index sm_index metadata
  • Patch GrandQC scripts for native DICOM directory support via OpenSlide 4.0
  • Download TCGA-BRCA DICOM series and run tissue detection + artifact segmentation
  • Visualize results using GrandQC's own wsi_colors.py palette
  • Validate the DICOM-based pipeline against GrandQC's pre-computed TCGA masks (zenodo.org/records/14041578) by comparing per-class artifact fractions

Demonstrates end-to-end use of GrandQC with NCI Imaging Data Commons:
- Discover H&E slides via idc-index sm_index metadata
- Patch GrandQC scripts for native DICOM directory support via OpenSlide 4.0
- Download TCGA-BRCA DICOM series and run tissue detection + artifact segmentation
- Visualize results using GrandQC's own wsi_colors.py palette
- Validate the DICOM-based pipeline against GrandQC's pre-computed TCGA masks
  (zenodo.org/records/14041578) by comparing per-class artifact fractions

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@review-notebook-app

Copy link
Copy Markdown

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

fedorov and others added 2 commits June 15, 2026 14:25
main.py loads a fully-pickled QC model via torch.load(), which fails with
exit code 1 under PyTorch >=2.6 (weights_only=True default). Patch the load
to weights_only=False so the trusted Zenodo weights unpickle. Also add
[i/N] progress reporting and a failure guard that records per-slide errors
and exits non-zero, so the notebook surfaces failures the loop used to swallow.

Add grandqc_slide_quality_resolution_notes.md documenting the model working
resolution (MPP 1.5) vs. the fixed 512x512 input tile, how MPP is read from
openslide.mpp-x (DICOM PixelSpacing), and an empirical confirmation on an IDC
slide; link it from the Part 4 intro.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Clone the fedorov/grandqc idc-dicom-fixes branch, which carries the
DICOM-directory, device-detection, PyTorch >=2.6 load, small-slide
overlay, and fail-loud fixes as proper commits. Replace the in-notebook
patch_grandqc_for_dicom() cell with a verification cell that asserts the
fixes are present in the cloned scripts, and update Part 2 prose plus the
resolution notes accordingly.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant