ohif-viewer/extensions/cornerstone/src
Bill Wallace dbb8b1526e
feat: Add support for labelmap seg images in any supported tsuid (also for compressed bitmap) (#5806)
* feat: Update to use pnpm (#6031) [simulated squash-merge]

* feat: load DICOM SEG images via imageLoader

* feat: load DICOM SEG images via imageLoader

* PR review fixes

* Test fragment of compressed multiframes

* fix: Removed dependencies incorrectly

* Update frame as a targetted change to avoid stripping remaining params

* lock

* Update test to agree with the missing representation branch

* test(contour): contour color change coverage (#6042)

* test(contour): contour interactions delete segment (#6069)

---------

Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>

* chore(version): Update package versions to 3.13.0-beta.98 [skip ci]

* feat(testing): OHIF Test Agent Skills (#5993)

* chore(version): Update package versions to 3.13.0-beta.99 [skip ci]

* test(contour): Add the ContourSegmentToggleLock.spec.ts test file to test contour locking (#6072)

* chore(version): Update package versions to 3.13.0-beta.100 [skip ci]

* chore(testing): Flock lock for playwright tests; Pin node version for OHIF; add more workers (#6099)

* update Cypress apt deps for Ubuntu Noble (drop libgconf-2-4, libasound2→libasound2t64)

* chore(version): Update package versions to 3.13.0-beta.101 [skip ci]

* Debug fixes

* perf(seg): pass explicit frame decode concurrency (16) to SEG loader

Pass an explicit concurrency value (SEG_FRAME_DECODE_CONCURRENCY = 16) into
createFromDicomSegImageId rather than relying on the adapter default, so the
SEG frame fetch/decode parallelism is set at the call site and is ready to
become configurable.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs(behaviours): add behaviours section + multiframe Part 10 prefetch proposal

Start a "Behaviours" docs section for documenting how the system and UI behave
end-to-end (observed behaviours, design proposals, and failure modes), with an
index README and a Docusaurus category.

First entry is the proposal for loading a multiframe SEG as a single Part 10
instance: prefetch the whole instance (gated by loadMultiframeAsPart10RaceTimeMs),
parse it with dcmjs (handling multipart/related vs raw DICOM), and register the
per-frame compressed pixels into the Cornerstone3D core image cache (the single
uniform frame registry) so the per-frame load path is served locally while the
standard decode path is unchanged. Best-effort: falls back to per-frame fetches
on any failure.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Pre-cache the image data using a full part10 file for performance

* Add customizations to specify type of segmentation save

* Add clearcache of the cacheData

* Bump @cornerstonejs/* pins 5.1.3 -> 5.4.10 to match libs/@cornerstonejs base

libs/@cornerstonejs (fix/use-imageLoader-for-seg) is based on the released
cs3d 5.4.10 (merge-base with origin/main is the 5.4.10 version bump), so pin
OHIF to that release. The local branch changes still reach the app via the
cs3d:link symlinks; these pins keep the lockfile/npm fallback aligned.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Fix seg OOM

* fix: file meta garbage element, bogus NumberOfFrames, unguarded source-map-loader

- dicomWriter: drop the naturalized meta.TransferSyntaxUID assignment that
  dcmjs wrote as a garbage (0000,0000) element into every saved file's meta
  group (download / clipboard / local wadouri blob / local store); keep the
  hex 00020010 assignment, which is required for string-form _meta fallbacks.
- registerNaturalizedDatasetForLocalWadouri: keep the computed frame count
  local so single-frame IODs (SR, RTSTRUCT) no longer gain a bogus
  NumberOfFrames element in their serialized form.
- rsbuild.config: resolve source-map-loader opportunistically (it is not a
  project dependency; the rule only serves the gitignored cs3d-link
  workflow) so fresh clones no longer crash at config load.
- Regression tests for both writer fixes (mutation-checked).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* PR review comment fixes

* Update versions

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: diattamo <mmddiatta@gmail.com>
Co-authored-by: ohif-bot <danny.ri.brown+ohif-bot@gmail.com>
Co-authored-by: Joe Boccanfuso <109477394+jbocce@users.noreply.github.com>
2026-07-09 20:54:23 -04:00
..
components fix(colors): Replace hardcoded colors with theme tokens (#6040) 2026-06-29 12:32:40 -04:00
constants feat(data overlay): add foreground background control plus orientation change in the UI and add RTDOSE support (#5007) 2025-05-05 16:35:05 -04:00
customizations Revert "feat: Add extensibility for tmtv and segmentation modes" 2026-07-08 14:11:24 -04:00
hooks fix: ohif tests to run with cornerstone 3d 5.0 (#6043) 2026-06-09 20:25:14 -04:00
hps Reformat in HP MPR (#5717) 2026-04-14 13:56:20 -04:00
panels fix(colors): Replaces legacy colors with ui-next colors (#5351) 2026-02-12 08:48:05 -05:00
services feat: Add support for labelmap seg images in any supported tsuid (also for compressed bitmap) (#5806) 2026-07-09 20:54:23 -04:00
stores fix(seg): prevent segmentations from spreading to all viewports before hydration confirmation in 3D four-up (#5967) 2026-04-27 12:55:12 -04:00
synchronizers fix(hp): When reapplying an hp the display set selectors should be considered. (#5074) 2025-06-13 10:43:31 -04:00
tools fix: ohif tests to run with cornerstone 3d 5.0 (#6043) 2026-06-09 20:25:14 -04:00
types feat(slice scrollbar): Integrate ViewportSliceProgressScrollbar with customizations and docs (#5960) 2026-04-23 08:46:03 -04:00
utils feat: Add support for labelmap seg images in any supported tsuid (also for compressed bitmap) (#5806) 2026-07-09 20:54:23 -04:00
Viewport feat: Add support for labelmap seg images in any supported tsuid (also for compressed bitmap) (#5806) 2026-07-09 20:54:23 -04:00
commandsModule.ts feat: Add support for labelmap seg images in any supported tsuid (also for compressed bitmap) (#5806) 2026-07-09 20:54:23 -04:00
enums.ts feat(SR): SCOORD3D point annotations support for stack viewports (#4315) 2024-10-17 09:36:24 -04:00
getCustomizationModule.tsx Revert "feat: Add extensibility for tmtv and segmentation modes" 2026-07-08 14:11:24 -04:00
getHangingProtocolModule.ts feat(HP): Frame View HP (#4235) 2024-06-21 11:22:05 -04:00
getPanelModule.tsx fix(segmentation): List surface representations in the segmentation table for 3D views. (#5700) 2026-01-13 15:57:44 -05:00
getSopClassHandlerModule.js revert: rename DisplaySet.frameOfReferenceUID back to FrameOfReferenceUID (#5943) 2026-04-06 12:03:28 -04:00
getToolbarModule.tsx feat(ui-next): Adds toggle state for ToolButton and Crosshair example (#5914) 2026-04-30 10:13:58 -04:00
id.js feat(cli): Ohif cli for modes and extensions modification (#2696) 2022-04-06 13:28:42 -04:00
index.tsx feat: Add support for labelmap seg images in any supported tsuid (also for compressed bitmap) (#5806) 2026-07-09 20:54:23 -04:00
init.tsx fix: ohif tests to run with cornerstone 3d 5.0 (#6043) 2026-06-09 20:25:14 -04:00
initCineService.ts fix(cine): prevent crash on second view/hydration of SR series (#5724) 2026-02-09 21:20:11 -05:00
initContextMenu.ts feat(customization): new customization service api (#4688) 2025-01-23 14:24:13 -05:00
initCornerstoneTools.js feat: Add customization URL parameter (#5992) 2026-07-07 15:30:27 -04:00
initDoubleClick.ts feat(customization): new customization service api (#4688) 2025-01-23 14:24:13 -05:00
initMeasurementService.ts fix(hotkeyBindings): consolidate Escape hotkey behavior for contour drawing tools (#6104) 2026-06-26 08:20:22 -04:00
initStudyPrefetcherService.ts feat(studyPrefetcher): Study Prefetcher (#4206) 2024-06-28 08:58:39 -04:00
initWADOImageLoader.js OHIF with Cornerstone3D 2.0 (#4347) 2024-11-06 07:15:27 -05:00
state.ts docs(spelling): Add codespell config + github action, run and fix a good number of typos (#3645) 2023-09-12 07:40:38 -04:00