Skip to content

fix: Thumbnail fallback and multiple thumbnail using dicom tag browser - #340

Merged
igoroctaviano merged 2 commits into
masterfrom
fix/337
Oct 10, 2025
Merged

fix: Thumbnail fallback and multiple thumbnail using dicom tag browser#340
igoroctaviano merged 2 commits into
masterfrom
fix/337

Conversation

@igoroctaviano

@igoroctaviano igoroctaviano commented Oct 10, 2025

Copy link
Copy Markdown
Collaborator

Fix: Duplicate Thumbnail Images in DICOM Tag Browser

Problem

Thumbnail scale was wrong
After commit 89a62a4, thumbnail images were appearing twice in the DICOM tag browser.

Root Cause

When thumbnail image support was added:

  1. THUMBNAIL images were correctly identified and added to both thumbnailImages
    and volumeImages arrays (since they share ImageType VOLUME/THUMBNAIL behavior)
  2. The Slide constructor then concatenated both arrays:
    images: [
      ...item.volumeImages,      // Contains thumbnails
      ...item.labelImages,
      ...item.overviewImages,
      ...item.thumbnailImages    // Duplicates the same thumbnails
    ]

Solution

Remove thumbnailImages from the Slide constructor concatenation.
THUMBNAIL images are already included in volumeImages since they:

  • Share the same Frame of Reference UID as VOLUME images
  • Are part of the same image pyramid structure
  • Need to be processed together with VOLUME images

Changes

  • src/data/slides.tsx (line ~120): Keep thumbnail images in volumeImages array
  • src/data/slides.tsx (line ~357): Remove thumbnailImages from Slide constructor

Result

Thumbnail images now appear only once in the DICOM tag browser while
maintaining their proper relationship with the volume image pyramid.

Ref: #337 (comment)

@deepsource-io

deepsource-io Bot commented Oct 10, 2025

Copy link
Copy Markdown

Here's the code health analysis summary for commits 89a62a4..b45e21b. View details on DeepSource ↗.

Analysis Summary

AnalyzerStatusSummaryLink
DeepSource JavaScript LogoJavaScript✅ SuccessView Check ↗

💡 If you’re a repository administrator, you can configure the quality gates from the settings.

@sonarqubecloud

Copy link
Copy Markdown

@igoroctaviano
igoroctaviano merged commit 6e8d4c4 into master Oct 10, 2025
8 checks passed
igoroctaviano added a commit that referenced this pull request Aug 11, 2026
* fix: size slide-list overview previews from container and matrix

Compute OverviewImageViewer resizeFactor from preview tile dimensions and
TotalPixelMatrix size so THUMBNAIL/OVERVIEW extent matches the rendered PNG.
Restores fit after #340 removed the fixed 0.3 thumbnail heuristic (#399).

* fix: use integer DICOMweb viewport sizes for overview previews

Google Healthcare rejects fractional viewport=w,h (HTTP 400). Derive
resizeFactor so cols*factor and rows*factor are integers; fall back to
factor 1 when no integer downscale fits the slide-list tile.

* Fix overview map

* fix: size overview mini-map symmetrically for wide and tall slides

Prefer a shared viewport fraction on both axes and cap growth at 60% so
wide slides no longer spill to full width while tall slides get matching
height treatment.

* fix: keep full-slide overview after clamp and zoom

Retarget DMV's locked overview resolution in place after Slim resizes
the mini-map, re-pinning the slide center so OverviewMap resetExtent
cannot crop the view when zooming.

* fix: equalize overview overlay insets and keep map above memory footer

Put MemoryFooter in an AppShell column below the viewer, size the
mini-map with an OL-style fixed box, and keep overlay left/bottom
insets aligned without the collapse control adding layout chrome.

* fix: keep debug count badges on the bug button corner

Mirror antd Badge layout (line-height: 1 + translate(50%, -50%)) so
AppShell overflow no longer crops pills pinned by the header line-height.
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