Compare commits

..

1137 Commits

Author SHA1 Message Date
bbe37ff388 feat: annotation persistence (local storage)
Some checks failed
Build and Deploy Docs / build-and-deploy-docs (push) Has been cancelled
CodeQL Advanced / Analyze (${{ matrix.language }}) (none, actions) (push) Has been cancelled
CodeQL Advanced / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Has been cancelled
2026-07-16 10:38:36 +01:00
ohif-bot
f7612cdd0a chore(version): Update package versions to 3.13.0-beta.125 [skip ci] 2026-07-14 23:14:16 +00:00
Alireza
125a174298
fix(cli): link and unlink extensions/modes with pnpm instead of yarn (#6144) 2026-07-14 19:10:49 -04:00
ohif-bot
b880d2acf9 chore(version): Update package versions to 3.13.0-beta.124 [skip ci] 2026-07-13 16:59:27 +00:00
Dan Rukas
03e17d764a
fix(ui): clean up remaining legacy ui usage (#6140)
* Update button on DataSourceSelector

* Removed dead code ToolbarButtonNestedMenu, button spacing
2026-07-13 12:56:17 -04:00
Dan Rukas
3d70db2d3b
ui(ContextMenuViewport): move to ui-next with theme support (#6008) 2026-07-13 12:56:03 -04:00
ohif-bot
110b293aa0 chore(version): Update package versions to 3.13.0-beta.123 [skip ci] 2026-07-11 16:19:35 +00:00
Alireza
70421225d7
fix(pt): resolve Philips PET private SUV bulkdata before scaling (#6096)
* fix(pt): resolve Philips PET private SUV bulkdata before scaling

When a DICOMweb server delivers the Philips PET private tags SUVScaleFactor
(7053,1000) / ActivityConcentrationScaleFactor (7053,1009) as bulkdata, dcmjs
naturalization leaves them as { BulkDataURI } objects. These were fed verbatim
to calculate-suv, which treats the object as a valid value and silently
corrupts the SUV scaling factors.

Resolve these scalar private tags to numbers during ingestion - in both the
lazy (async) and non-lazy (sync) DICOMweb metadata paths, before INSTANCES_ADDED
fires - by decoding the bulkdata (VR-aware: DS/IS text or little-endian FL/FD).
Harden getPTImageIdInstanceMetadata to coerce values to finite numbers (reusing
@ohif/core utils.toNumber) and reject unresolved bulkdata objects so they can
never reach calculate-suv. Share the bulkdata-attach helper between both
metadata paths. Adds unit tests for the bulkdata decoder/resolver and for
getPTImageIdInstanceMetadata.

* refactor(bulkdata): move PET bulkdata resolution to a generic core tag registry

Generalize resolvePETPrivateScalarBulkData into a datasource-agnostic
utils.resolveBulkDataTags in @ohif/core, backed by a static tag registry
seeded with the Philips PET SUV/activity-concentration scalar tags and
extensible via registerResolvedBulkDataTags.

* fix(bulkdata): strip NUL padding and refresh qido auth before resolution

Address review feedback:
- decodeText now strips NUL (0x00) padding, which String.trim() leaves
  intact, so NUL-padded DS/IS values no longer decode as NaN. Adds a
  regression test.
- refresh qidoDicomWebClient.headers before resolveBulkDataTags in both
  series-metadata paths; retrieveBulkData is bound to qidoDicomWebClient,
  matching every other qido op in this file.

* fix(dicomweb): await deferred metadata storage

* fix(dicomweb): support single-part bulkdata responses
2026-07-11 12:16:32 -04:00
Alireza
3c0e245398
feat(next): native Generic Viewport migration (useNextViewports) (#6101)
* feat(core): add appConfig.useNextViewports flag (Generic Viewport M0 step 1)

Opt-in flag to drive viewports through the DIRECT native cornerstone3D
GenericViewport ("next") API surface (PLANAR_NEXT / VOLUME_3D_NEXT, setDisplaySets,
setDisplaySetPresentation, setViewState, view references) instead of the legacy
stack/volume methods.

Distinct from (and overrides) useGenericViewport, which only routes legacy
viewport types through cornerstone compatibility adapters. This flag does NOT set
cornerstone rendering.useGenericViewport; it is read by getCornerstoneViewportType
and the CornerstoneViewportService backend split (subsequent M0 steps). Defaults
false; the legacy path stays byte-identical. Opt-in only.

* feat(cornerstone): map viewport types to native *_NEXT under useNextViewports (M0 step 2)

getCornerstoneViewportType gains an optional useNextViewports param. When set,
stack/volume/orthographic collapse to PLANAR_NEXT (render path inferred from data
shape), and volume3d/video/wholeslide/ecg map to their VOLUME_3D_NEXT / VIDEO_NEXT /
WHOLE_SLIDE_NEXT / ECG_NEXT types. Defaults false → legacy mapping byte-identical;
no caller passes true yet (wired via appConfig in the service split, step 3).

Tests: +6 cases (21 total) covering the *_NEXT mapping, displaySet override, the
invalid-type throw, and that the legacy mapping is unchanged when the flag is off.

* feat(cornerstone): native-next stack mount behind useNextViewports (M0 step 3 foundation)

Wires the useNextViewports flag through and mounts stack viewports natively:
- nextViewports.ts: module accessor; init.tsx captures appConfig.useNextViewports.
- getCornerstoneViewportType: defaults the flag from the accessor, and now passes
  native (*_NEXT) types through idempotently (a viewport's stored cs type is
  re-fed into the mapper; legacy types were already idempotent, native were not).
- CornerstoneViewportService._setDisplaySets: route native generic viewports by
  data shape (StackData vs VolumeData), since PLANAR_NEXT is one type for both.
- _setStackViewport: native branch mounts via genericViewportDataSetMetadataProvider.add
  + setDisplaySets, applies VOI/colormap via setDisplaySetPresentation and
  displayArea/rotation/flip via setViewState (no legacy setStack/setProperties/setCamera).

Validated in a running OHIF (linked cornerstone 5.0.8): with the flag on, the
viewer creates a native PlanarViewport (window.cornerstone...getViewports()[0] ->
'PlanarViewport :: type=planarNext'); the prior 'Invalid viewport type: planarNext'
is resolved. Flag OFF is byte-identical (native branches gated by isGenericViewport).

KNOWN WIP (next): flag-ON full render is blocked by the presentation-read seam —
peripheral consumers (useViewportRendering, overlays, colorbar, resize) still call
legacy getProperties/getViewPresentation/getCamera on the viewport. Stack render
completes once those are routed through getDisplaySetPresentation/viewportProjection.

* feat(cornerstone): render native Generic (next) stack viewport behind useNextViewports

Makes the flag-on native PLANAR_NEXT stack render end-to-end in OHIF:

- CornerstoneCacheService: resolve the stack-vs-volume data-builder from the
  legacy mapping, since native types collapse that distinction into PLANAR_NEXT.
  Without this the stack fell through to the 'other' builder and imageIds were
  never populated (PlanarViewport threw 'No registered planar dataset metadata').
- ImageOverlayViewerTool: skip overlay rendering when the viewport has no
  resolvable view reference yet (native returns falsy until data is bound),
  instead of letting getTargetId() throw and kill the route during enable.
- Add getViewportPresentation helpers (getViewportProperties / getViewportCameraState)
  bridging legacy getProperties/getCamera and native getDisplaySetPresentation/
  getViewState; apply at the toolbar property evaluator, VOI-range init, and the
  position/LUT presentation snapshots so reads no longer throw on native viewports.

Validated in a running OHIF (flag on): PlanarViewport(planarNext), 295 slices,
image renders, zero console errors, scroll + setImageIdIndex navigate correctly.
Legacy (flag off) behavior is unchanged. Native volume/MPR is a later increment.

* feat(cornerstone): render native Generic (next) volume/MPR behind useNextViewports

Mounts volumes on a direct PLANAR_NEXT viewport for volume/MPR rendering:

- CornerstoneViewportService.setVolumesForViewport: native branch -> new
  _setNativeVolumeDisplaySets. Each base volume is registered with its
  already-cached volumeId and bound via setDisplaySets at the viewport's
  orientation (first = source, others = overlay); VOI/colormap/invert applied
  per-binding via setDisplaySetPresentation(dataId, props). Skips the legacy
  setVolumes/setProperties/setPresentations surface a PLANAR_NEXT viewport does
  not expose. Cornerstone reuses the OHIF-cached volume (getVolumeId returns the
  passed volumeId) and selects the image vs reformatted-volume render path from
  the requested orientation.
- useViewportRendering colormap resolver: read via getViewportProperties for
  native viewports (getDisplaySetPresentation) instead of getProperties/getActors,
  which threw 'Error getting viewport colormap' on native volume.

Validated in a running OHIF (flag on): axial/sagittal/coronal all render in
volume mode, scroll navigates the volume, round-trip volume<->stack switches
getCurrentMode cleanly, zero console errors. Legacy (flag off) unchanged.

* feat(cornerstone): allow setViewportOrientation on native volume viewports

The setViewportOrientation command guarded on isOrthographicViewportType, which
is false for a native PLANAR_NEXT viewport (it reports type=planarNext even when
rendering MPR). Add the content-mode capability guard (csUtils.viewportIsInVolumeMode)
so the MPR orientation toolbar works on native viewports; PlanarViewport.setOrientation
already exists. Legacy behavior is unchanged (viewportIsInVolumeMode is false for
legacy viewports, so the existing isOrthographicViewportType branch still gates them).

Also flips useNextViewports on in the dev default config for local testing of the
native path (NOT for merge; see TODO_BEFORE_MERGE).

* feat: Add temporary support for native GenericViewport ("next") migration

- Introduced a dev-only configuration flag to toggle the native viewport backend.
- Added a toolbar button to switch between legacy and native viewports for debugging.
- Implemented logic to handle image slice data and viewport type detection for native viewports.
- Enhanced viewport service to derive default VOI window/level from DICOM metadata.
- Added utility functions for managing localStorage overrides for viewport settings.
- Marked all temporary changes with comments for easy identification and removal before merging.

* Add plan viewer HTML page for migration master plan display

* feat(cornerstone): fork viewport presentation read/write into the backend (§4.3)

Extends the legacyBackend/nextBackend seam so presentation read/write is forked,
not inline-guarded in the service:

- IViewportBackend gains getPositionPresentation / setPositionPresentation /
  setLutPresentation. LegacyViewportBackend keeps the exact legacy logic
  (getViewPresentation / setProperties / setViewPresentation) byte-identical;
  NextViewportBackend uses the native surface (getViewReference + setViewReference;
  setDisplaySetPresentation for VOI/colormap/invert). WITH_ORIENTATION is inlined in
  the backends to avoid a backend->service value-import cycle.
- CornerstoneViewportService._getPositionPresentation / _setLutPresentation /
  _setPositionPresentation now delegate to this.backend. _getLutPresentation stays
  shared (already native-aware via the getViewportProperties bridge).

Effect: setPresentations is now native-safe — it previously threw on a PLANAR_NEXT
viewport (setProperties / setViewPresentation), so the native mount skipped it; the
native path now round-trips presentation cleanly. Native pan/zoom persistence
(viewPresentation is still undefined on native) is a later increment.

Validated both lanes: native PlanarViewport renders + storePresentation/getPresentations/
setPresentations round-trip with no crash; legacy StackViewport byte-identical
round-trip; zero console errors each.

* feat(cornerstone): persist native viewport pan/zoom/rotation/flip via the backend

A PLANAR_NEXT viewport has no getViewPresentation/setViewPresentation, so pan/zoom
previously did not survive navigation/resize/layout on the native path. NextViewportBackend
now snapshots the pan/zoom subset of the semantic view state and restores it:

- getPositionPresentation: snapshots the PlanarViewState pan/zoom fields (displayArea,
  anchorWorld, anchorCanvas, scale, scaleMode, rotation, flipHorizontal, flipVertical) via
  getViewState() (already deep-cloned + serializable), stored in viewPresentation. Slice and
  orientation are intentionally excluded (they ride on the view reference).
- setPositionPresentation: applies the view reference first (slice/orientation), then a partial
  setViewState patch with only the pan/zoom subset — the merge preserves slice/orientation, so
  the view reference is never clobbered. Stale displayArea is cleared when live anchor/scale
  pan/zoom is restored. anchorCanvas is canvas-fractional, so it survives resize without drift.
- _setStackViewport native branch now restores the persisted positionPresentation on mount
  (position-only; LUT already applied inline), so a returning stack recovers its camera.

Validated on native: zoom -> snapshot (scale captured) -> reset -> restore (scale back),
slice unchanged, zero errors. Legacy path unchanged. Volume/MPR mount pan/zoom restore is a
follow-up (its native mount helper does not yet thread presentations).

* feat(cornerstone): restore native volume/MPR pan/zoom on mount

Extends native pan/zoom persistence to the volume/MPR mount: the native branch of
setVolumesForViewport now restores the persisted positionPresentation (view reference
+ pan/zoom via the backend) after _setNativeVolumeDisplaySets, mirroring the stack
mount. Position-only (LUT applied per-binding above), native-safe.

Validated on a native sagittal MPR: zoom -> snapshot (scale 1.7) -> reset -> restore
(scale back to 1.7) with orientation (sagittal) and slice (256) preserved; zero errors.

* fix(next): bridge invert/flip/window-level commands for native viewports

Add setViewportProperties/setViewportCameraState write bridges alongside the
existing read bridges, and route invertViewport, flipViewportHorizontal,
flipViewportVertical and setViewportWindowLevel through them.

Direct PLANAR_NEXT viewports have no getCamera/setCamera/getProperties/
setProperties, so these four commands threw on native. The bridges dispatch on
isGenericViewport: native reads/writes via getViewState/setViewState (flip) and
getDisplaySetPresentation/setDisplaySetPresentation (invert/voiRange) on the
active binding; legacy falls through to the identical getCamera/setCamera/
getProperties/setProperties calls, so flag-off stays byte-identical.

Verified live on a native stack viewport: all four now apply (invert
undefined->true, flipH/flipV false->true, voiRange retargets) instead of
throwing.

* fix(next): apply setViewportColormap on native viewports

setViewportColormap was fully guarded by isStackViewportType/
isOrthographicViewportType, both of which report false for native PLANAR_NEXT
viewports, so the command was a silent no-op on native (returned ok but applied
nothing). Add a native branch that applies the colormap via the
setViewportProperties bridge (setDisplaySetPresentation) on the active binding,
honoring the immediate render flag, before the legacy guards.

Verified live: HSV colormap now applies and renders on a native stack viewport.

* fix(next): make ColorbarService native-safe

ColorbarService called getActors/getProperties/setProperties directly, all of
which throw on direct PLANAR_NEXT (next) viewports, so toggling a colorbar threw
on native. Replace the getActors content gate with a viewportHasContent helper
(getCurrentMode for native, getActors for legacy), and route the property
read/write through the getViewportProperties/setViewportProperties bridges.
Legacy keeps the identical getActors/getProperties/setProperties calls.

Verified live on native: addColorbar no longer throws, hasColorbar becomes true,
and the colormap applies via setDisplaySetPresentation.

* fix(next): guard per-volume histogram WL panel for native viewports

getWindowLevelsData drives the per-volume histogram WL panel via
getAllVolumeIds/getProperties, which direct PLANAR_NEXT (next) viewports do not
expose (they throw). Add an early guard that returns no rows when getAllVolumeIds
is absent, so the panel degrades to 'No window level data available' instead of
erroring on the interval/event refresh. Legacy stack viewports also lack
getAllVolumeIds and were never passed here, so this is a no-op for them; the
native stack/volume WL path is driven by setViewportWindowLevel.

* fix(next): make resetViewport/scaleViewport/rotate commands native-safe

These three command paths assumed legacy camera APIs that direct PLANAR_NEXT
(next) viewports do not expose:
- resetViewport called viewport.resetCamera() (absent on native -> threw). Native
  branch uses resetViewState() (resets pan/zoom/rotation/orientation/flip;
  navigation/slice preserved). resetProperties stays optional-chained.
- scaleViewport (scaleUpViewport/scaleDownViewport) was guarded by
  isStackViewportType, which is false for native, so the zoom buttons were a
  silent no-op. Native branch uses getZoom/setZoom; parallelScale and zoom are
  inversely related so it divides by scaleFactor to match legacy direction.
- _rotateViewport (rotateViewportCW/CCW/CWSet) used getViewPresentation/
  setViewPresentation (absent on native). Native branch reads rotation/flip via
  the getViewportCameraState bridge (getViewState) and writes the new rotation
  via setViewportCameraState (setViewState), preserving the flip-parity logic of
  the 'set' mode.

Verified live on native stack: reset no longer throws and resets zoom; zoom in
1->1.111; CW/CCW/Set rotation applies (90/180/90/90). Legacy unchanged.

* fix(next): guard jumpToMeasurement camera-centering for native viewports

jumpToMeasurement re-centers the camera when a measurement is off-screen via
isMeasurementWithinViewport (calls viewport.getCamera()) + getCamera/setCamera.
Native PLANAR_NEXT viewports have neither, so jumping to a measurement threw
'viewport.getCamera is not a function' at the gate before the centering block.

Short-circuit the centering on native (isGenericViewport) so it is skipped;
setViewReference above already navigated to the measurement's slice, so the
measurement is still reached - only in-plane re-centering is deferred.
TODO(next): port in-plane centering via the camera bridge + setViewState pan.

Verified live: native viewport has no getCamera (getCamera() throws) and
isGenericViewport is true, so the throwing branch is now skipped; setViewReference
remains available for slice navigation. Legacy unchanged.

* fix(next): make getViewportAlignmentData + updateViewport native-safe

Two CornerstoneViewportService methods called getCamera()/setCamera(), which
direct PLANAR_NEXT (next) viewports lack:
- getViewportAlignmentData looped every viewport reading getCamera().viewPlaneNormal
  (reached from findNavigationCompatibleViewportId on a cross-orientation
  jumpToMeasurement). Native reads viewPlaneNormal from getViewReference() instead
  (both backends populate it); legacy keeps getCamera (byte-identical).
- updateViewport (metadata-invalidation re-mount, keepCamera) read getCamera()
  unconditionally and had no native branch in its stack/volume if/else, so it threw
  and would not re-mount native data. Add a native branch that snapshots/restores the
  camera via the view-state bridges and routes the re-mount through _setDisplaySets
  (backend.dispatchMount, which dispatches by data shape). Legacy path unchanged.

Verified live on native: getViewportAlignmentData returns data (no throw);
updateViewport(keepCamera) re-mounts, restores zoom (1.4/1.5), keeps the image actor
and renders, with zero errors.

* refactor(next): move viewport interaction ops into a Legacy/Next operations backend

The commandsModule carried inline native-vs-legacy branches for every viewport
interaction/appearance command. Extract them into a dedicated operations backend
that mirrors the existing IViewportBackend twin pattern:
- IViewportOperations: the interface (flip/invert/rotate/reset/scaleBy/
  setWindowLevel/setColormap/getViewPlaneNormal/centerOnMeasurement + 3D VR ops)
- LegacyViewportOperations: legacy lane via direct legacy APIs (getCamera/
  setProperties/getViewPresentation/resetCamera/actors), lifted verbatim
- NextViewportOperations: native lane via the presentation/camera-state bridges +
  native semantic API (getViewState/resetViewState/getViewReference/setZoom); the
  3D VR ops warn-once and no-op behind a CS-14 gate (native VR not supported yet)
- viewportOperations: per-viewport dispatcher (isGenericViewport ? next : legacy)

commandsModule's 13 interaction commands become one-line delegations (the file
shrinks ~239 lines) and CornerstoneViewportService.getViewportAlignmentData uses
viewportOperations.getViewPlaneNormal.

Dispatch is per-viewport (not flag-selected like the lifecycle IViewportBackend)
because operations run on already-created, self-describing viewports and a session
can mix lanes; this preserves the previous inline isGenericViewport branching
exactly. Render() stays in the command (per-command render timing preserved).

Validated live both lanes: native (flag on) applies all ops (invert/flip/rotate/
zoom/WL/colormap; reset is camera-only) and legacy (flag off) is byte-identical
(parallelScale*0.9 zoom, getViewPresentation rotation, resetProperties+resetCamera),
both with a clean console. Adversarial review found no byte-identity/runtime defects.
Segmentation untouched.

* feat(next): render native 3D volume rendering + enable its VR operations

Make native VOLUME_3D_NEXT viewports actually render volume rendering and wire up
the 3D VR operations:

- CornerstoneViewportService._setNativeVolumeDisplaySets: a 3D viewport (cornerstone
  type VOLUME_3D_NEXT) now mounts with setDisplaySets({ options: { renderMode:
  'vtkVolume3d' } }) instead of the planar { orientation, role }, and applies the
  display-set's volume-rendering preset to the volume actor via csUtils.applyPreset
  (the bare native VolumeViewport3D has no setProperties). colormap (a planar LUT
  concept) is skipped for 3D. The dataId registration is unchanged (the volume3d data
  provider reads imageIds/volumeId and ignores the stored kind).

- NextViewportOperations: the four VR ops are no longer CS-14 no-ops. setPreset
  applies the preset to the volume actor via applyPreset; setVolumeRenderingQuality/
  shiftVolumeOpacityPoints/setVolumeLighting operate on the vtk volume actor through
  getActors (which native VolumeViewport3D exposes), so they reuse the legacy
  actor-based implementations. Pairs with the cornerstone fix that keeps the 3D
  viewport's canvas visible.

Verified live: native 3D VR renders (CT-Bone/CT-Cardiac presets) and all four VR
commands apply on a native VOLUME_3D_NEXT viewport; legacy VOLUME_3D unchanged.

* docs(next): refresh migration plan to HEAD (2026-06-19 audit)

* fix(next): target fusion colormap at the overlay binding

NextViewportOperations.setColormap dropped params.displaySetInstanceUID and
always wrote to the active source binding via getSourceDataId(), so a PT/CT
fusion colormap landed on the CT source instead of the PT overlay. Thread the
displaySetInstanceUID through to setViewportProperties so it targets the right
native binding (OHIF maps each display set 1:1 onto its bare dataId); falls back
to the source when no id is given (single-volume / plain stack colormap).

Also document DataIdRegistry.dataIdFor's 'overlay' suffix as reserved for the
same-UID source/overlay case (derived labelmap overlays, M4) rather than fusion,
whose distinct-UID overlays are already collision-free under the bare id.

* fix(next): make residual native-unsafe viewport sites safe

Sweeps the OHIF-side sites a native PLANAR_NEXT viewport reaches that still
called legacy-only APIs (getProperties/getCamera) or branched on the collapsed
viewportType:

- CornerstoneCacheService: persist the legacy stack/volume decision as
  viewportData.dataShapeType (createViewportData) and branch on it in
  invalidateViewportData instead of viewportType. Native collapses stack+volume
  onto PLANAR_NEXT, so a native stack previously fell through to the VOLUME
  rebuild and re-mounted as volume data on metadata invalidation. Falls back to
  viewportType for legacy/older data (byte-identical off-path).
- ViewportOrientationMarkers: gate the synthetic-IOP default-cosine check on
  dataShapeType, not viewportType==='stack' (dead on native -> guard was skipped).
- CornerstoneViewportDownloadForm: the capture viewport is the source's type, so a
  native source threw on getProperties/setStack/setProperties. Add a native capture
  path that re-mounts the source's already-registered dataId via setDisplaySets and
  copies presentation + view state through the bridges (legacy path byte-identical).
- tmtv ROI-threshold: read the slice focal point via a new getViewportFocalPoint
  bridge (native getViewReference().cameraFocalPoint vs legacy getCamera().focalPoint)
  instead of getCamera(), which is absent on native.

New bridge getViewportFocalPoint added to getViewportPresentation.ts and exported
from @ohif/extension-cornerstone. Validated live: native stack renders, console
clean, viewportData.dataShapeType='stack' while viewportType='planarNext',
orientation markers render.

* feat(next): mount native video/WSI/ECG viewports

Under useNextViewports, NextViewportBackend.dispatchMount routed ALL viewports by
data shape (volume vs stack), so VIDEO_NEXT/WHOLE_SLIDE_NEXT/ECG_NEXT constructed
as native classes but mis-ran _setStackViewport's stack-specific prefetch/VOI/
kind:'planar' logic and never reached their dedicated mounts; ECG additionally
called the absent setEcg.

- NextViewportBackend.dispatchMount: route the non-planar families by viewport
  type to _setEcgViewport / _setOtherViewport (mirrors the legacy backend's type
  dispatch); planar stack/volume still routes by data shape.
- _setEcgViewport: native branch registers {kind:'ecg', sourceDataId} and mounts
  via the generic setDisplaySets API (native ECG has no setEcg).
- _setOtherViewport: native branch registers {kind:'video', sourceDataId} or, for
  WSI, {kind:'wsi', imageIds, options:{webClient}} with the client resolved from
  WADO_WEB_CLIENT metadata exactly as the legacy WSI adapter does, then mounts via
  setDisplaySets + setViewReference.
- DataIdPayload widened to a family-specific union (planar/video/ecg/wsi).

All registration goes through the ref-counted DataIdRegistry (§4.7). OHIF-only —
the cornerstone native classes already support setDisplaySets (per the
genericVideo/genericEcg/genericWsi examples). Validated: native planar render
unaffected by the dispatch change (console clean); video/WSI/ECG mounts follow the
canonical cornerstone examples but are not yet live-validated (no such study on the
dev dicomweb).

* chore(next): guard the useNextViewports flag-read allowlist (M7 prep)

Adds .scripts/check-next-viewports-flag-reads.mjs (wired as `yarn
next:check-flag-reads`) enforcing migration plan §4.2: the flag may be read only
in the sanctioned seam — getCornerstoneViewportType (type selection),
CornerstoneViewportService (backend selection), nextViewports.ts (the accessor),
init.tsx (the one appConfig.useNextViewports read), and the TEMP dev toggle in
getToolbarModule.tsx. Any other isNextViewportsEnabled()/appConfig.useNextViewports
read under extensions/cornerstone/src fails the check, so the legacy off-path
cannot drift. (Comment-only mentions are ignored; tests are exempt.)

The earlier audit framed the '2 sanctioned reads' contract as already violated by a
'backend trio', but those files only MENTION the flag in doc comments — the actual
runtime read surface is the sanctioned set above, so the rule is enforceable as
written. TODO_BEFORE_MERGE.md updated: the guard is permanent (not a dev revert),
and removing the dev toggle must also drop its allowlist entry.

Does NOT perform the destructive M7 reverts (config default flip, toggle button):
those are premature while segmentation/M4 is unmigrated and would disable the
in-browser test loop.

* docs(next): mark CS-12 native calibration done; refresh CS-20/M6 status

* docs(next): re-verify migration status at HEAD; correct stale prose

Re-audited every milestone (M0-M7) and CS blocker against HEAD source via a
multi-agent audit + adversarial verification pass. Five commits landed after the
last full prose refresh (05e0df0ca) and only d5d03d888 touched the doc, so the
Implementation status section was materially stale. Corrections:

- M2: fusion colormap keying is FIXED (7b61e08ee), not 'unsound'
- M3: four 'native-unsafe throws' are FIXED (a19bd7826); the per-volume WL panel
  is guarded (d28202610), not throwing - feature port, not a crash
- M6: video/WSI/ECG ARE mounted natively (ca746e2f0)
- M7: flag-read allowlist IS built (b5784ca80), just not wired into CI
- CS-21: stated trigger is unreachable; narrowed to single-point SCOORD3D, and
  the open code is PlanarViewReferenceController.ts (not planarViewReference.ts)

Adds a consolidated, verified remaining-work punch-list and a corrections
subsection. The one real native crash that remains is the M4 segmentation OHIF
half (convertStackToVolumeViewport throws AND promotes to legacy ORTHOGRAPHIC).

* Refactor SegmentationService to support dual backends for segmentation handling

- Introduced ISegmentationBackend interface to define methods for segmentation backends.
- Implemented LegacySegmentationBackend for existing behavior with stack/volume promotion.
- Implemented NextSegmentationBackend for native GenericViewport handling without promotion.
- Updated SegmentationService to utilize the appropriate backend based on viewport type.
- Removed legacy viewport handling logic from SegmentationService and delegated to backends.
- Enhanced segmentation data assembly to support overlapping segments in the Next backend.
- Updated CornerstoneViewportService to ensure proper restoration of segmentation presentations.
- Added support for preserving additional query parameters in the application.

* temp

* Refactor CornerstoneViewportService to optimize setDisplaySets handling for 3D volumes

* d

* Refactor viewport handling and opacity management for native volume rendering

* fix(WindowLevel): re-sync fusion tab to foreground default after async resolve

The effect only adopted the foreground (PT) default when activeDisplaySetUID was
falsy, so if foregroundDisplaySets was empty at mount the tab seeded to the CT
fallback and stayed pinned to CT once PT resolved. Track explicit user selection
and re-sync to the foreground default until the user picks a tab.

* chore(next): remove WIP migration plan artifacts from the branch

Delete the planning docs and plan-viewer pages that were committed during
development (migration plans, blueprint, TODO_BEFORE_MERGE, plan-viewer.html).
They are not part of the shipped viewer and only attract review noise.

* fix(next): address review findings (guards + correctness)

Apply CodeRabbit review comments on the migration code:
- commandsModule: guard missing viewport before setWindowLevel/render
- WindowLevel: drop stale activeDisplaySetUID when the viewport's display sets change
- SegmentationService: hard guard when segmentation lookup fails before backend classify
- LegacyViewportOperations: guard getActors()[0] before actor-chain calls
- CornerstoneViewportService: guard empty native stack imageIds; don't route generic
  overlay-only mounts to legacy setVolumes; stop overwriting tracked display sets with
  base-volume-only ids (drops SEG/RT/fusion overlay UIDs)
- getCornerstoneViewportType: list orthographic/volume3d in the invalid-type error
- nextViewports: skip reload (warn) when the toggle can't be persisted
- tmtv: guard missing focal point before mutating ROI annotation coordinates
- check-next-viewports-flag-reads: also catch bracket/destructured flag reads

* fix(overlay): show instance number on next viewports

The viewport overlay's getInstanceNumber switched on viewportData.viewportType,
which for next viewports is the native PLANAR_NEXT type (the stack/volume shape
is persisted separately as dataShapeType). The switch matched no case, so the
instance number was null and the overlay showed only the slice index/count.

Switch on (dataShapeType ?? viewportType) so next stack/volume viewports take
the correct branch (legacy is unaffected). Also make _getInstanceNumberFromVolume
read the view-plane normal via getViewReference for native viewports, which
expose no getCamera, so routing next volume viewports through it cannot throw.

* fix(overlay): refresh window level on series change for next viewports

The overlay's WW/WL comes from useViewportRendering, whose init effect reads the
VOI via getViewportProperties. On series change the effect re-runs, but native
(next) viewports expose only explicit VOI overrides through
getDisplaySetPresentation; a freshly shown series has none, so properties.voiRange
was undefined, setVoiRange was skipped, and the overlay kept showing the previous
series' window level. Legacy getProperties always returns the applied VOI, so only
native viewports were affected.

Fall back to the viewport's computed default VOI (getDefaultVOIRange) for generic
viewports when no override is stored, matching the LivewireContourTool and
WindowLevelTool bridges. Legacy behavior is unchanged.

* fix(scrollbar): seed slice state on orientation change for next viewports

The progress scrollbar seeded its slice state (imageIndex/numberOfSlices) only
when viewportData changed. Native (next) viewports keep the same viewportData
across a stack->volume transition or an orientation change, and the slice-
navigation event does not fire until the first scroll, so the scrollbar was
missing on the initial slice (or stale with a wrong slice count) until the user
scrolled once.

Re-seed the slice state from the live viewport on CAMERA_MODIFIED (which native
viewports emit on orientation/geometry changes, as the sibling full-mode hook
already relies on). A guard skips redundant state updates so pure pan/zoom does
not churn React state.

* refactor(next): call resetDisplaySetPresentation on reset

Follow the cs3D rename of the native viewport's presentation-reset method from
resetProperties to resetDisplaySetPresentation (the next viewport API uses
get/set DisplaySetPresentation, not get/set Properties). Behavior unchanged.

* fix(segmentation): make border/outline thickness slider integer-only

The Border (outline width) slider for labelmap and RTSTRUCT used step=0.1,
allowing fractional outline widths. Outline thickness is a pixel width and
should be a whole number, so use step=1 and round the committed value. The
fill/opacity sliders keep their fractional step.

* fix(crosshairs): guard resetCrosshairs against unregistered Crosshairs tool

resetCrosshairs (run by Reset Viewport) called toolGroup.getToolInstance('Crosshairs')
for every tool group; getToolInstance logs 'Crosshairs is not registered with this
toolGroup' when the tool is absent, and a next viewport's default tool group does not
include Crosshairs, so Reset Viewport logged a spurious warning. Guard the lookup with
toolGroup.hasTool('Crosshairs') and skip tool groups that lack it; also guard against a
missing tool group for the viewport.

* fix(next-fusion): promote source to volume slice when a data overlay is added

A data overlay (fusion) on a next (PLANAR_NEXT) viewport rendered the source as a
vtkImage stack while the overlay was a vtkVolumeSlice, producing a broken/unstable
fusion (geometry mismatch, intermittent across slices/scroll). Two causes:

1. CornerstoneCacheService.createViewportData built stack data when the fusion's
   primary display set resolved to a stack shape, so the source never got a
   volumeId. Force a volume (orthographic) shape when there are 2+ reconstructable
   image display sets (a data fusion must be volume; legacy already did this, and
   non-reconstructable SEG/RT overlays are excluded).

2. dataIdRegistry.register used first-writer-wins, so re-registering the source
   (originally a vtkImage stack, no volumeId) with its fusion volumeId was dropped,
   leaving its dataset volumeId-less -> the render-path decision kept it vtkImage.
   Update the provider when a payload promotes a dataId to volume-backed.

Validated via agent-browser: adding a PT overlay onto a CT source now mounts both
as vtkVolumeSlice (mode=volume), the fusion is anatomically coherent and stable
across scroll, with no console errors.

* fix(next-rtss): keep referenced CT in stack mode on RTSTRUCT hydrate

RTSTRUCT (contour) hydration on a native PLANAR_NEXT viewport re-mounted the
referenced CT as a volume slice, which is the slow path the perf AC forbids.

Spike proved cs3d already renders contour segmentations on a stack/vtkImage
PLANAR_NEXT viewport (via the annotation + isReferenceViewable path), and that
stack-mode contour scroll is fast (~0.15ms/scroll, no metadata storm) once the
canvas-dimension layout-thrash fix is in place. The only remaining issue was the
hydrate re-mount promoting the CT to volume.

Pin the referenced viewport to 'stack' for RTSTRUCT hydration on next viewports:
hydrateSecondaryDisplaySet passes viewportType:'stack' (scoped to RTSTRUCT +
isNextViewportsEnabled), and loadSegmentationDisplaySetsForViewport applies it as
a per-mount viewportOptions override. SEG and legacy keep their current behavior.

Verified at runtime: after hydrate the viewport stays vtkImage/stack, contours
render across slices, scroll is 0.16ms with 0 metaData.get calls, CT VOI intact.

* fix(next-fusion): match legacy initial data-overlay opacity (~40%) on next viewports

The data-overlay add path passes a nominal colormap opacity of 0.9. Legacy
volume rendering attenuates that to ~40% effective via ray-cast opacity-unit-
distance correction, but native PLANAR_NEXT viewports composite the overlay as
a flat 2D image-slice blend with no such attenuation, so the same 0.9 rendered
at ~80-90%. Override the initial overlay opacity to 0.4 for next viewports
(mirrors the TMTV fusion NEXT_FUSION_PT_OPACITY), gated on isGenericViewport and
a numeric opacity so SEG/RTSTRUCT overlays and the legacy path are unaffected.

* fix(next-fusion): preserve fusion on orientation change in next viewports

The orientation corner menu branched on viewportType === ORTHOGRAPHIC to decide
in-place reorient vs viewport recreation. Native next viewports always report
planarNext, so a fusion already in volume mode wrongly took the recreation path,
which passes empty displaySetOptions and drops the PET overlay colormap/opacity
(rendering PET only). Branch instead on whether the live viewport is already in
volume mode (isOrthographicViewportType || utilities.viewportIsInVolumeMode):
volume-mode viewports reorient in place (setViewportOrientation, which preserves
all bindings and their presentation); only a genuine stack->volume conversion
recreates. Legacy ortho/stack behavior is unchanged.

* fix(next-seg): preserve base image window level through SEG hydration

Hydrating a SEG re-mounted the referenced image and restored a stale, computed
VOI from the LUT presentation store, brightening the base image (e.g. an MR went
from its DICOM WC/WW default to a volume min/max default). During the SEG-load
intermediate mount the base image briefly carries a computed default VOI; the
native read bridge returned it with no isComputedVOI marker, so cleanProperties
never stripped it and it was persisted then replayed over the correct default.
Legacy StackViewport tags computed VOIs (isComputedVOI) so they are stripped.
Mirror that: in getViewportProperties, stamp isComputedVOI on a native binding's
VOI when it matches the binding's getDefaultVOIRange, so the LUT capture strips
it. Harmless when a genuine user VOI equals the default (stripping falls back to
the same value).

* fix(next-mpr): re-seed slice scrollbar after post-mount camera carry

On a stack->volume/MPR transition the slice carry (e.g. layout-selector MPR HP
restoring the prior slice) moves the camera and fires its slice events
synchronously during the mount, before the scrollbar effect attaches its
listeners and around its initial seed -- so the scrollbar latched the mount-time
index. Re-seed once on the next frame after mount+carry settle; the pushSliceData
guard makes it a no-op when nothing changed (no churn).

* chore(deps): bump @cornerstonejs/* to 5.1.2

* chore: empty commit

* fix(next): use published genericViewportDisplaySetMetadataProvider export

The next viewport backend imported genericViewportDataSetMetadataProvider
from @cornerstonejs/core, a symbol that only existed in the local custom
cornerstone worktree (linked via symlink). Published cornerstone exports it
as genericViewportDisplaySetMetadataProvider (same add/remove/get/clear API).

CI always builds against published packages, so the production rspack build
failed (ESModulesLinkingError -> Netlify red) and the cypress dev-server
build showed a full-screen error overlay that blocked all clicks (PR_CHECKS
red). Renaming to the published symbol fixes both.

* test(e2e): extend Scoord3dProbe jump screenshot retry window

The jump-to-measurement screenshot was the only failing assertion (pre/post
hydration pass). It uses waitVolumeLoad:false, so on slower CI the dynamic
tfl_dyn_fast_tra series can still be progressively loading when the shot is
taken, giving a partial probe value (52.0 vs baseline 78.0) and shifted VOI.
Raise checkForScreenshot attempts 10->20 and delay 1250->2000ms (~11s -> ~40s)
to let the volume settle before failing.

* fix(next): address review findings (scaleBy 3D crash, fusion W/L target, off-path gate, seg export perf)

- NextViewportOperations.scaleBy: guard getZoom/setZoom so the zoom hotkey
  no-ops on a native VolumeViewport3D instead of throwing (matches legacy).
- Native setWindowLevel: forward displaySetInstanceUID so PT/CT fusion W/L
  targets the intended binding (mirrors setColormap) instead of always source.
- CornerstoneCacheService: scope the reconstructable-fusion STACK->ORTHOGRAPHIC
  promotion to PLANAR_NEXT so the legacy (flag-off) path stays byte-identical.
- dicom-seg buildLabelmap3D: precompute a referencedImageId->index Map to drop
  the multi-layer export from O(slices^2) to O(slices).

* fix(next): address CodeRabbit review (dispatch discriminator, seg return contract, error msg)

- NextViewportBackend.dispatchMount: route stack/volume on the persisted
  dataShapeType contract instead of the lazily-populated 'volume' field probe.
- SegmentationService.attemptStackToVolumeConversion: return false explicitly on
  the frame-of-reference-mismatch path to honor the Promise<boolean> contract.
- getCornerstoneViewportType: list orthographic/volume3d in the legacy-path
  invalid-type error (both are valid and handled above the throw).

* test(next): update getCornerstoneViewportType invalid-type assertion

Match the legacy-path error message now listing orthographic/volume3d (b16129ece).

* chore(next): replace dev toggle + flag-read guard with URL opt-in

- Remove the .scripts/check-next-viewports-flag-reads.mjs CI guard and its
  package.json script entry.
- Drop the TEMP ToggleNextViewport toolbar button across all modes plus the
  toggleNextViewports command and getToolbarModule evaluator (revert mode files
  to their master state; keep the real native-path toolbar fixes).
- Remove the localStorage override / toggleNextViewportsAndReload from
  nextViewports.ts; resolveNextViewportsEnabled now honors a ?useNextViewports
  URL query param (true/1/empty enable) over appConfig.
- Stop forcing useNextViewports:true in default.js (opt-in via URL/appConfig).
- Preserve useNextViewports across navigation (preserveQueryParameters).

* fix(tmtv): keep legacy fusion PT opacity ramp; flatten only on next path

Flattening the fusion PT opacity to a scalar 0.9 in hpViewports changed the
legacy TMTV fusion rendering (the ramp keeps low PT values transparent so the CT
shows through). Restore the legacy ramp in hpViewports and instead replace it
with the flat native scalar (0.4) inside getHangingProtocolModule only when
useNextViewports is on, so legacy is unchanged and native still gets a flat blend.

* redo

* fix(next): avoid top-level dicomWebUtils destructure crash on boot

getSopClassHandlerModule destructured transferDenaturalizedDataset /
fixMultiValueKeys from dicomWebUtils at module-eval time. This module and
@ohif/extension-default form a circular import, so dicomWebUtils can be
undefined at eval time depending on bundler module order; the top-level
destructure then throws (Cannot destructure property ... of dicomWebUtils
as it is undefined) and crashes app boot before the Layout renders, which
surfaced as the Playwright globalSetup warmup timing out on [data-cy=Layout].

Access the utils lazily at call time inside getDICOMwebMetadata instead.

* fix(next): guard remount no-op path and defer legacy camera snapshot

- CornerstoneViewportService.updateViewport: backend.remount() is typed
  Promise<void> | undefined and returns undefined for viewport families with
  no re-mount path; guard before .then() so those families no longer throw.
- LegacyViewportBackend.remount: take the camera snapshot inside the volume
  branch (the only consumer) instead of before the family checks, so families
  without a camera surface no-op safely and the stack path skips a dead call.

Addresses CodeRabbit review findings on PR #6101.

* feat(next): add ?cpu=true URL opt-in to force the CPU render path

Mirrors the ?useNextViewports opt-in: a cpu URL query param overrides
appConfig.useCPURendering per-session (?cpu, =true, or =1 enable it).
Wired through cornerstone.setUseCPURendering in init, whose global flag is
consulted by the GenericViewport PlanarRenderPathDecisionService for both
the image (CPU_IMAGE) and volume (CPU_VOLUME) paths, so under
useNextViewports a single ?cpu=true forces the next viewport onto CPU.

Extracted the shared query-param parsing into resolveBooleanUrlOptIn.

* feat(cornerstone): select render backends via viewportRendering param

Replaces the boolean cpu URL param with viewportRendering=cpu|webgl|auto
(or any backend registered via cornerstone registerRenderBackend, e.g. a
webgpu backend), mapped to the cornerstone render-backend registry. A
per-viewport-type override (e.g. orthographic.viewportRendering=cpu) is
passed as the per-mount renderBackend option on native planar mounts.
The global value also drives the legacy useCPURendering flag so legacy
viewports follow the same selection, letting a session force GPU when
the deployed config defaults to CPU.

* fix(dicom-seg): store overlapping segmentations as binary SEG

A LABELMAP SEG frame stores a single label per voxel, so the labelmap
encoder cannot represent overlapping segments (the later layer wins).
When the export produces multiple overlapping layers and the resolved
store mode is labelmap, switch that store to the binary SEG encoding,
which writes overlapping segments as separate frames referencing the
same source slice.

* fix(cornerstone): apply review fixes to viewport backends

- Anchor the cached-volume lookup in NextViewportAdapter to the
  loaderSchema:displaySetInstanceUID id shape instead of a substring
  match, so a derived volume id embedding the same UID cannot resolve.
- Keep the viewing orientation on fitViewportToWindow (scaleBy 0) for
  native planar viewports, matching legacy resetCamera semantics.
- Release legacy WSI metadata-provider registrations through the same
  ref-counted DataIdRegistry the native backend uses, so entries are
  removed on viewport disable and service destroy.

* test(cornerstone): use real volumeId shape in adapter contract test

The anchored cached-volume lookup rejects ids that merely embed the
display set UID, so the mock now uses the real
volumeLoaderSchema:displaySetInstanceUID shape and asserts an embedded
UID id does not match.

* docs(config): document useNextViewports and viewportRendering in default config

Gives deployments an obvious place to opt into the native Generic
Viewport path and configure its render backend. Both stay off/auto by
default; the explicit false preserves the opt-in contract.

* refactor(config): group next viewport settings under genericViewports

Replaces the two top-level app config keys (useNextViewports,
viewportRendering) with one genericViewports object:
{ enabled, viewportRendering }. The URL params are unchanged.

* chore(deps): bump cornerstone packages to 5.4.15

Picks up the planar initial-slice remap fix (cornerstonejs/cornerstone3D#2799):
opening a SEG display set now lands on the first segmented slice instead of
its mirror when the cached volume reverses the imageId ordering.

* test(segmentation): verify overlapping SEG rendering

* fix(sr): make SCOORD3D hydration deterministic

---------

Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2026-07-11 12:13:54 -04:00
ohif-bot
00bb77d940 chore(version): Update package versions to 3.13.0-beta.122 [skip ci] 2026-07-11 06:24:30 +00:00
Ghadeer Albattarni
01939e2236
test: add E2E test for contour combine intersect and subtract operations (#6131) 2026-07-11 02:21:39 -04:00
ohif-bot
f0e2f64397 chore(version): Update package versions to 3.13.0-beta.121 [skip ci] 2026-07-10 22:54:59 +00:00
Alireza
43226d9191
fix(app): appearance modal provider scope, worklist preview persistence, and tag browser label overflow (#6136)
- Insert ServiceProvidersManager providers ahead of the dialog/modal
  providers in App.tsx: modal content renders as a sibling of the
  provider's children, so contexts registered via the manager (e.g.
  ActiveThemeProvider) were out of scope and the appearance modal
  crashed with 'useActiveTheme must be used within an ActiveThemeProvider'.
- Persist the worklist preview panel open/closed state in
  sessionStorage so it survives navigating into a study and back.
- Keep the DICOM tag browser instance number label on one line:
  the words truncate, the (n of total) digits never clip.
2026-07-10 18:52:06 -04:00
ohif-bot
dc9df56be4 chore(version): Update package versions to 3.13.0-beta.120 [skip ci] 2026-07-10 21:08:34 +00:00
Alireza
9c76afa075
feat(segmentation): replace One Click Segment with ClickSegmentTool (#6135)
* feat(segmentation): replace One Click Segment with ClickSegmentTool

Wire OHIF to ClickSegmentTool from Cornerstone3D (#2780), rename the
toolbox button to Click to Segment, and enable it only on PET (PT)
viewports.

* chore(deps): bump @cornerstonejs packages to 5.4.13

Pick up ClickSegmentTool from the published Cornerstone3D release so
OHIF installs the tool from npm without a local CS3D link.
2026-07-10 17:05:26 -04:00
ohif-bot
6d8a275171 chore(version): Update package versions to 3.13.0-beta.119 [skip ci] 2026-07-10 19:38:19 +00:00
Alireza
1eee3e6119
fix(MetadataProvider): Correctly assign imageId for multiframe images and remove unused frame information retrieval method (#5965) 2026-07-10 15:35:09 -04:00
ohif-bot
2c54616136 chore(version): Update package versions to 3.13.0-beta.118 [skip ci] 2026-07-10 17:34:50 +00:00
Alireza
9329dd5b55
test(core): use fake timers in Queue unit tests to stop CI flakes (#6134)
The Queue tests measured real setTimeout wall-clock time and asserted
elapsed < 2 * threshold. On busy CI runners a 2400ms timer can take
longer than 4800ms to fire, failing the assertion intermittently (seen
in downstream validation runs). Switch to jest's modern fake timers so
elapsed is exactly the timeout delay: the tests are deterministic and
no longer spend ~5 seconds of real time waiting.
2026-07-10 13:31:42 -04:00
ohif-bot
75105ced04 chore(version): Update package versions to 3.13.0-beta.117 [skip ci] 2026-07-10 16:46:10 +00:00
Bill Wallace
b266c0a86a
feat: Add extensibility for tmtv and segmentation modes (#6128)
* feat: Add extensibility for tmtv and segmentation modes

* Fixes for ordering issues on laod

* Remove unnecessary reference lookup

* Chane side panel timing to fix tests

* PR comments - change how mode definitions get created

* Improvements to mode customizations

* Start organizing customizations

* Misc fixes for a customization demo page

* Security fixes

* PR requested changes to naming
2026-07-10 12:43:17 -04:00
ohif-bot
f79055f98e chore(version): Update package versions to 3.13.0-beta.116 [skip ci] 2026-07-10 12:19:06 +00:00
Bill Wallace
6b6761088b
fix: Several new worklist issues (#6130)
* fix: Several new worklist issues

* refactor: Export a single OnStudyDoubleClick type from the StudyList barrel

Addresses PR review feedback: the double-click handler signature was
written out in both TableProps and the WorkList customization cast,
so the two could drift apart.

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

* feat: Run worklist study double-click as a command, registrable by modes

- Modes can now export getCommandsModule on their definition; appInit
  registers it (via the new ExtensionManager.registerCommandsModule)
  before the mode is instantiated, in a new 'WORKLIST' commands context,
  so the commands are available on the worklist before any mode route
  is entered.
- The workList.onStudyDoubleClick customization is now a command run
  input (name/options) instead of a bare function, defaulting to the
  new launchDefaultMode command, which launches the default workflow
  falling back to the first applicable one. commandOptions.workflowId
  overrides it to a specific mode.
- Duplicate mode ids are now skipped before running their modeFactory
  rather than after.

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

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 08:16:16 -04:00
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
ohif-bot
b996070583 chore(version): Update package versions to 3.13.0-beta.115 [skip ci] 2026-07-08 18:15:05 +00:00
Bill Wallace
1b6fa2194e
Revert "feat: Add extensibility for tmtv and segmentation modes"
This reverts commit 84c7d17b13.
2026-07-08 14:11:24 -04:00
Bill Wallace
84c7d17b13
feat: Add extensibility for tmtv and segmentation modes 2026-07-08 14:08:59 -04:00
ohif-bot
76687cf496 chore(version): Update package versions to 3.13.0-beta.114 [skip ci] 2026-07-07 19:33:37 +00:00
Bill Wallace
3dd5c70cb2
feat: Add customization URL parameter (#5992)
* Add customization URL parameter

* fix: Preserve should be customizeable

* Update customizations docs

* fix: Overlay items on patient name

* Add customization test

* Fix resolve to absolute path

* fix: Warn on no data in load

* Remove unused customization stuff

* fix: PR comments

* Update stored parameters to only use an array for mulitples

* Remove requires ohif.* special call out

* Remove strict mode

* PR comments

* Document segmentation examples

* Add three examples as requested

* PR comments

* lock

* Remove old customizatoin export

* fix: Ordering issues on customization loads

* fix: Use correct default for dev builds app config

* Fixes for conflicts

* chore: restore pnpm-lock.yaml to match master

The lockfile diff was incidental peer-descriptor churn and carried no
functional dependency change. It tripped the CircleCI security-audit gate
(which only runs when pnpm-lock.yaml is in the PR diff), surfacing a
pre-existing critical `decompress` transitive vuln that also exists on
master. Restoring master's lockfile removes the audit trigger.

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

* fix(ci): restore json5 lockfile entry; ignore unfixable decompress GHSA

The previous commit restored pnpm-lock.yaml from master, which dropped the
json5@2.2.3 entry that platform/core legitimately depends on (JSONC parsing
for the customization feature). That broke `--frozen-lockfile` install
(ERR_PNPM_OUTDATED_LOCKFILE). This restores the correct lockfile.

Because the lockfile must change (json5), the CircleCI security-audit gate
runs and previously failed on a critical `decompress` <=4.2.1 zip-slip
advisory. This is a pre-existing transitive vuln (present on master too) with
no published patch — decompress's latest release is 4.2.1, so no version
bump/override can resolve it. It reaches the tree only via @itk-wasm/dam, a
build/data-asset extraction tool under @cornerstonejs/labelmap-interpolation.

Add GHSA-mp2f-45pm-3cg9 to the existing pnpm-workspace.yaml auditConfig
ignoreGhsas accepted-risk list, matching how the repo already exempts other
build-tooling advisories. `pnpm audit --audit-level high` now passes locally
(1 critical ignored, 0 high).

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

* test(e2e): fix visitStudy URL encoding that broke mpr2 study load

The visitStudy rewrite (added for the ?customization= option) built the URL
with new URLSearchParams({ StudyInstanceUIDs: studyInstanceUID }), which
percent-encodes the value. mpr2.spec.ts embeds an extra param in the UID
string ('<uid>&hangingprotocolid=mpr'), so the & and = were encoded and the
whole thing collapsed into one invalid StudyInstanceUIDs value -> the study
could not be found ('studies are not available'), the viewer never rendered,
and the side-panel-header-right click timed out.

Restore master's raw concatenation for StudyInstanceUIDs (so embedded params
survive as separate query params) while still appending the customization
option separately. Only mpr2 embeds & in the UID, matching the single failure.

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

* PR comments

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 15:30:27 -04:00
ohif-bot
3d9a17bc0c chore(version): Update package versions to 3.13.0-beta.113 [skip ci] 2026-07-07 18:01:19 +00:00
Joe Boccanfuso
333d73e334
fix(security): ignore decompress security vulnerability (#6125) 2026-07-07 13:58:15 -04:00
ohif-bot
e381d22200 chore(version): Update package versions to 3.13.0-beta.112 [skip ci] 2026-07-07 17:21:45 +00:00
Alireza
f8546ce0e0
fix: recipe config cleanup, report-only CSP, logout redirect validation (#6124) 2026-07-07 13:18:46 -04:00
ohif-bot
973631b7e8 chore(version): Update package versions to 3.13.0-beta.111 [skip ci] 2026-07-06 13:38:47 +00:00
Alireza
e0f42d4f1d
fix(dicom-pdf): enhance PDF loading with authentication support
- move authenticated rendered media loading into the datasource\n- route DICOM video display sets through Cornerstone video viewports\n- add a 3.12 to 3.13 migration note for the removed DICOM-video viewport namespace
2026-07-06 09:35:26 -04:00
ohif-bot
2800f82e3c chore(version): Update package versions to 3.13.0-beta.110 [skip ci] 2026-07-02 13:00:56 +00:00
Joe Boccanfuso
38214f26de
fix(wsi): mount WSI/SM viewports via setDisplaySets (#6107) 2026-07-02 08:57:13 -04:00
ohif-bot
cb6cdafd24 chore(version): Update package versions to 3.13.0-beta.109 [skip ci] 2026-06-30 13:28:46 +00:00
Alireza
aa1ba771e0
fix(test): stabilize DICOM Tag Browser scrollbar screenshot (#6118) 2026-06-30 09:25:37 -04:00
ohif-bot
d4153f12b2 chore(version): Update package versions to 3.13.0-beta.108 [skip ci] 2026-06-29 16:58:29 +00:00
Alireza
71c50db9b5
fix(ci): deploy docs with Netlify CLI monorepo filter (#6115) 2026-06-29 12:55:01 -04:00
ohif-bot
4cdcd34a33 chore(version): Update package versions to 3.13.0-beta.107 [skip ci] 2026-06-29 16:42:34 +00:00
Dan Rukas
0dfd321326
feat(ui-next): Adds appearance dialog with theme presets and custom theme support (#6041) 2026-06-29 12:38:46 -04:00
ohif-bot
0fcebe05c6 chore(version): Update package versions to 3.13.0-beta.106 [skip ci] 2026-06-29 16:36:28 +00:00
Dan Rukas
ac45a9497f
docs(site): add ui-next component documentation and upgrade Docusaurus (#6102) 2026-06-29 12:33:16 -04:00
Dan Rukas
03b180f185
fix(colors): Replace hardcoded colors with theme tokens (#6040) 2026-06-29 12:32:40 -04:00
ohif-bot
e1bc625ab8 chore(version): Update package versions to 3.13.0-beta.105 [skip ci] 2026-06-26 12:23:19 +00:00
Joe Boccanfuso
661ecb5b2e
fix(hotkeyBindings): consolidate Escape hotkey behavior for contour drawing tools (#6104)
* fix(hotkeyBindings): consolidate Escape hotkey behavior for contour drawing tools

* PR feedback.

* PR feedback.
2026-06-26 08:20:22 -04:00
ohif-bot
b7c8b865dd chore(version): Update package versions to 3.13.0-beta.104 [skip ci] 2026-06-24 19:21:51 +00:00
nithin-trenser
ee165b4d8e
Fix: Segmentation Hide All fails when switching from 2D to 3D fourUp (#5995)
* Fix: Segmentation "Hide All" fails when switching from 2D to 3D four-up viewport

* Update based on the review comment on segmentation load in 3d fourup

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* fix: simplify the conditional logic

* fix: playwright test

* fix: playwright test

* fix: render timeout in test

---------

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: Belbin-GK <150322972+Belbin-GK@users.noreply.github.com>
Co-authored-by: Devu Jayalekshmi <devu.jayalekshmi@trenser.com>
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2026-06-24 15:18:16 -04:00
ohif-bot
589d6a1506 chore(version): Update package versions to 3.13.0-beta.103 [skip ci] 2026-06-24 15:08:56 +00:00
diattamo
95200ec6e8
test(segmentation): switch getSegmentCount to expect(rows).toHaveCount in panel specs (#6105) 2026-06-24 11:05:27 -04:00
ohif-bot
8f6947b75d chore(version): Update package versions to 3.13.0-beta.102 [skip ci] 2026-06-24 14:39:34 +00:00
diattamo
79cb2356e1
chore(testing): Playwright tests for contour segmentation create, update, delete interactions (#6091) 2026-06-24 10:36:16 -04:00
ohif-bot
20632f97cf chore(version): Update package versions to 3.13.0-beta.101 [skip ci] 2026-06-23 06:25:18 +00:00
Joe Boccanfuso
c205965f87
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)
2026-06-23 02:21:18 -04:00
ohif-bot
75488298cd chore(version): Update package versions to 3.13.0-beta.100 [skip ci] 2026-06-23 05:56:18 +00:00
diattamo
b24f039735
test(contour): Add the ContourSegmentToggleLock.spec.ts test file to test contour locking (#6072) 2026-06-23 01:52:35 -04:00
ohif-bot
1f6670c602 chore(version): Update package versions to 3.13.0-beta.99 [skip ci] 2026-06-20 15:33:27 +00:00
diattamo
b9cde4981a
feat(testing): OHIF Test Agent Skills (#5993) 2026-06-20 11:30:27 -04:00
ohif-bot
fc994fe525 chore(version): Update package versions to 3.13.0-beta.98 [skip ci] 2026-06-20 15:17:28 +00:00
diattamo
ada2da34f0
test(contour): contour interactions delete segment (#6069)
---------

Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2026-06-20 11:14:07 -04:00
diattamo
5955151ba1
test(contour): contour color change coverage (#6042) 2026-06-20 11:11:57 -04:00
ohif-bot
419366bd25 chore(version): Update package versions to 3.13.0-beta.97 [skip ci] 2026-06-19 16:37:27 +00:00
Bill Wallace
b59eb30b0f
fix: Release deploy of docs (#6095)
A netlify fix that needs to be verified on master
2026-06-19 12:34:07 -04:00
ohif-bot
57d03fc722 chore(version): Update package versions to 3.13.0-beta.96 [skip ci] 2026-06-19 15:36:51 +00:00
Bill Wallace
17e12d53e5
fix: pnpm related dependency bugs - nothing funcitonal (#6094)
Testing this needs a release and there are no functional changes, only pnpm migration issues, so merging early for test.

* fix: pnpm related dependency bugs - nothing funcitonal

* Undo peer dependency due to non-pnpm integration issues
2026-06-19 11:33:45 -04:00
ohif-bot
ffd7884ed1 chore(version): Update package versions to 3.13.0-beta.95 [skip ci] 2026-06-18 15:25:00 +00:00
Joe Boccanfuso
0dd6571505
chore(testing): Setup new self-hosted test runner (#6067) 2026-06-18 11:21:41 -04:00
ohif-bot
6e2d53f280 chore(version): Update package versions to 3.13.0-beta.94 [skip ci] 2026-06-17 14:54:34 +00:00
Joe Boccanfuso
6acbbc0271
fix(security): Update dependencies to fix security vulnerabilities. (#6085) 2026-06-17 10:51:03 -04:00
ohif-bot
780d172201 chore(version): Update package versions to 3.13.0-beta.93 [skip ci] 2026-06-16 16:02:34 +00:00
Bill Wallace
256b8347e7
fix(docs): remove stray tool-call tags breaking the MDX build (#6081)
This is a fix to pnpm deployment which needs testing as the final part of origin/master release
No functional changes

* fix(docs): remove stray tool-call tags breaking the MDX build

platform/docs/docs/migration-guide/3p12-to-3p13/build-tooling.md ended with
two orphan closing tags (leftover tool-call serialization artifacts):

  </content>
  </invoke>

Docusaurus compiles Markdown as MDX (JSX-aware), so the orphan closing tag
failed the docs build:

  MDX compilation failed ... Unexpected closing slash in tag, expected an
  open tag first (build-tooling.md line 402)

This was the remaining blocker for build-and-deploy-docs once the
--no-frozen-lockfile change let the install step succeed. A scan of the docs
tree found no other such artifacts. Verified locally: docusaurus build now
generates static files with no MDX errors.

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

* Update lockfile and avoid freshness check on every command

* fix(release): keep workspace:* in the repo, concretize only at publish

The release flow rewrote internal @ohif/* dependency specifiers to the concrete
version and committed them, so pnpm-lock.yaml (which records workspace links)
drifted from the manifests on every version bump. The resulting
ERR_PNPM_OUTDATED_LOCKFILE broke every frozen install: Netlify (viewer-dev),
the docs deploy, pnpm's pre-run deps check, and post-merge installs.

Keep workspace:* everywhere in the committed repo and move the concrete-version
substitution to publish time only:

- publish-version.mjs: bump each package's own `version` field only; stop
  rewriting @ohif/* dependency/peerDependency specifiers.
- publish-package.mjs: publish with `pnpm publish --no-git-checks` instead of
  `npm publish`. pnpm rewrites workspace:* to the exact version in the published
  tarball; npm would publish the literal "workspace:*", which npm/yarn consumers
  cannot resolve.
- One-time: revert the 25 workspace manifests' @ohif/* specifiers to workspace:*
  (version fields untouched) and regenerate pnpm-lock.yaml to match.

Because internal deps are workspace:* (links, not versions in the lockfile),
version bumps no longer change pnpm-lock.yaml, so it stays in sync and frozen
installs keep working.

Verified: `pnpm install --frozen-lockfile` passes, and `pnpm pack` of @ohif/core
emits a tarball whose @ohif/ui dependency is the exact version (3.13.0-beta.92),
not workspace:*.

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

* docs(ci): correct build-docs install comment for workspace:* release flow

publish-version.mjs no longer rewrites @ohif/* deps to concrete versions, so
the old comment was stale. Internal deps stay workspace:* and the lockfile
stays consistent; pnpm publish concretizes only the published tarball.

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

* ci(docs): use --frozen-lockfile now that the lockfile no longer drifts

With internal deps as workspace:* the lockfile stays in sync across version
bumps, so the docs deploy can install frozen -- failing fast on genuine
lockfile drift instead of silently reconciling. The --no-frozen-lockfile
workaround is no longer needed.

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

* ci: use --frozen-lockfile in CI install steps now that the lockfile is stable

Internal @ohif/* deps are workspace:* so pnpm-lock.yaml no longer drifts; the
UNIT_TESTS/BUILD/NPM_PUBLISH installs can run frozen and fail fast on genuine
drift. Kept --no-frozen-lockfile only where it is still required: the Dockerfile
(platform/docs is excluded from the build context) and the playwright CS3D-version
step (mutates @cornerstonejs versions before installing).

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

* test: stability of seg load mpr test

* Better drag fix for crosshairs

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 11:59:04 -04:00
ohif-bot
da9fd9057d chore(version): Update package versions to 3.13.0-beta.92 [skip ci] 2026-06-13 01:01:06 +00:00
Bill Wallace
5cb2fb41f8
fix: pnpm deploy bugs for docs and viewer-dev (#6077)
Merging for testing since this can't be tested without a merge to master

fix(ci): use --no-frozen-lockfile for docs deploy (pnpm migration)

The Build and Deploy Docs workflow ran `pnpm install --frozen-lockfile` and
failed on every master push after the pnpm migration:

  [ERR_PNPM_OUTDATED_LOCKFILE] pnpm-lock.yaml is not up to date with
  platform/core/package.json
    - @ohif/ui (lockfile: workspace:*, manifest: 3.13.0-beta.90)

publish-version.mjs rewrites @ohif/* workspace deps from "workspace:*" to the
concrete release version and commits that bump to master, so the committed
manifests intentionally drift from pnpm-lock.yaml. Every CircleCI job already
passes --no-frozen-lockfile for exactly this reason (pnpm-workspace.yaml sets
frozenLockfile:true as the default); the docs workflow was the lone job still
using frozen and so broke the docs deploy.

Switch the docs install to --no-frozen-lockfile to match the rest of CI.

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

* fix(ci): write npm auth token to ~/.npmrc so publishes authenticate

NPM_PUBLISH wrote the registry auth token to ~/repo/.npmrc (the repo root),
but publish-package.mjs does process.chdir(packageDirectory) and runs
`npm publish` from inside each package (platform/ui, extensions/*, ...). npm
reads the project .npmrc from that package dir and the user .npmrc from
$HOME -- it never walks up to ~/repo/.npmrc -- so every publish failed with
ENEEDAUTH ("need auth ... requires you to be logged in").

publish-package.mjs catches and swallows per-package publish errors, so
NPM_PUBLISH still exited 0 and reported green; the breakage was silent. As a
result no @ohif/* package newer than 3.13.0-beta.89 (the last publish before
the pnpm migration) reached npm -- beta.90 and beta.91 are missing and the
beta dist-tag is stuck at beta.89.

Write the token to ~/.npmrc (npm per-user config, read regardless of cwd)
instead. This also stops clobbering the committed workspace-config .npmrc
(node-linker=hoisted) at the repo root, which the in-job pnpm install/build
relies on. Applied to all three auth steps for consistency.

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

* fix(docker): copy preinstall.js before pnpm install in builder stage

The builder stage copies only the package.json manifests, runs
`pnpm install --no-frozen-lockfile`, and copies the rest of the source
afterward (for layer caching). But the root package.json defines a
"preinstall" lifecycle script (node preinstall.js) that pnpm runs at the
start of install -- before the source copy -- so the script file was absent
and install aborted:

  . preinstall$ node preinstall.js
  Error: Cannot find module '/usr/src/app/preinstall.js' (MODULE_NOT_FOUND)
  ERROR: process "pnpm install --no-frozen-lockfile" did not complete

This surfaced once the .npmrc COPY fix (#6076) let the build advance past
the earlier COPY failure. preinstall.js is self-contained (it no-ops without
GITHUB_TOKEN and guards the AGENTS.md/CLAUDE.md symlink with existsSync), so
copying just the script into the early manifest layer is sufficient.

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

* fix(build): declare postcss plugins in platform/app for Docker build

The shared root postcss.config.js (which platform/app re-exports) loads
postcss-import, postcss-preset-env, and cssnano, but none were declared in
platform/app or the root. They only reached node_modules by being hoisted
from platform/docs (postcss-import, postcss-preset-env) and transitively
(cssnano). The Docker image excludes platform/docs via .dockerignore and
libs/@cornerstonejs is not a workspace member, so under pnpm's stricter
node-linker=hoisted the app build failed to resolve the plugins:

  Loading PostCSS "postcss-preset-env" plugin failed:
  Cannot find module 'postcss-preset-env'

(The accompanying "Can't resolve assets/woff2/latin.woff2" error was a
cascade from the broken PostCSS chain and clears with this fix.)

Declare the three plugins the config explicitly loads as devDependencies of
platform/app, pinned to the versions already resolved by working builds
(postcss-import@14.1.0, postcss-preset-env@7.8.3, cssnano@5.1.15), so the
build no longer depends on incidental hoisting from docs.

The lockfile was regenerated against a workspace:* baseline so the only
@ohif change is none -- the diff adds just the postcss plugin trees, keeping
specifiers at workspace:* per the repo's convention. Verified by building the
full Docker image locally: rspack compiles with 0 errors and the image
exports successfully.

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

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 20:57:11 -04:00
ohif-bot
a219822ad1 chore(version): Update package versions to 3.13.0-beta.91 [skip ci] 2026-06-13 00:10:16 +00:00
Bill Wallace
e391e6de5f
fix: Fix the deployment to viewer-dev caused by missing .npmrc (#6076)
@
fix(ci): restore committed .npmrc in Docker build jobs (pnpm migration)

The pnpm migration (#6031) made the Dockerfile COPY .npmrc into the
builder stage because pnpm needs the workspace config it carries
(node-linker=hoisted, link-workspace-packages). But the Docker jobs still
ran `rm -f ./.npmrc` immediately before `docker build` -- a leftover from
when .npmrc only held npm credentials. NPM_PUBLISH overwrites the tracked
.npmrc with a publish auth token and persists it to the workspace, so the
Docker jobs deleted the file the Dockerfile requires:

  ERROR [builder 6/13] COPY package.json pnpm-lock.yaml pnpm-workspace.yaml .npmrc ./
  failed to compute cache key: "/.npmrc": not found

DEPLOY_MASTER therefore failed at DOCKER_BETA_PUBLISH on every master
build after the migration (NPM_PUBLISH still pushed the version bump first,
so npm packages shipped but the latest-beta image never did -- leaving
viewer-dev.ohif.org stuck on the prior beta).

Replace `rm -f ./.npmrc` with `git checkout -- .npmrc` in the four Docker
*build* jobs so the committed, token-free workspace-config .npmrc is
restored before the build. The two manifest jobs keep `rm` since they do
not build from the Dockerfile.


@

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 20:05:44 -04:00
ohif-bot
a64fceb009 chore(version): Update package versions to 3.13.0-beta.90 [skip ci] 2026-06-12 20:08:30 +00:00
Bill Wallace
f1cc2ee13a
feat: Update to use pnpm (#6031)
* Initial pnpm change

* Install/update in pnpm sort of works

* Attempt to fix install

* fix pnpm

* Refactor build process to use RSPack instead of Webpack across multiple extensions and modes. Update package.json scripts for development and production builds, and adjust webpack configuration files to accommodate new plugin imports and settings.

* Update RSPack dependencies to version 2.0.0 across the project, enhancing compatibility and performance. Refactor webpack configuration in multiple extensions and modes to utilize the new library structure for UMD output. Adjust package.json scripts and settings for improved build processes.

* Implement migration guide for OHIF 3.13, detailing the transition from Webpack to Rspack v2, the shift to pnpm workspaces, and the increase in minimum Node.js version to 24. Include new build commands, plugin replacements, and updates to package configurations across the monorepo.

* Fix some dev:fast bugs

* Move netlify to top level and remove webpack builds

* Update version script to deal with lerna missing

* chore(tests): Update multiple screenshot test images for various specs

* feat(screenshot-reviewer): Add screenshot review tool and update package.json scripts

* fix(DICOMSRDisplayTool): Improve actor presence check in viewport

* chore(tests): Update multiple screenshot assets for various specs

* chore(tests): Integrate waitForPaintToSettle and waitForViewportsRendered in multiple specs for improved rendering stability

* chore(tests): Update screenshot assets for SEGHydration and SEGNoHydration specs

* test: update progressive loading screenshots

* jest 30 test fixes for compatibility with pnpm cs3d

* Use correct setDisplaySets instead of setDataId

* fix: Naming change for LegacyVolumeViewport3D

* Update to allow tolerance for contour tests

* update

* fix

* refactor: Replace instanceof checks with utility functions for viewport type validation

* fix: Update createSegmentationForViewport to handle undefined displaySetInstanceUID gracefully

* bun lock

* chore(pnpm): align workspace setup to cornerstone3D and address PR review

- .npmrc / pnpm-workspace.yaml: mirror cs3d (node-linker hoisted,
  strict-peer-dependencies=false, link/prefer workspace packages,
  minimumReleaseAge, frozenLockfile); sync axios 1.17.0 + tmp override
- root: packageManager pnpm@11.4.0, engines pnpm >=11, wire preinstall.js
- restore preinstall.js (token/private-repo + CLAUDE->AGENTS symlink)
- playwright.yml: keep base CS3D-integration workflow, switch only the
  package manager (bun/yarn -> pnpm) and node 20 -> 24
- webpack.base.js: revert prod devtool to source-map (drop hidden-source-map)
- remove @percy/cypress; .netlify + cli templates engines pnpm >=11
- Dockerfile pin pnpm@11; document tests/globalSetup.ts warmup
- drop dicom-sr -> measurement-tracking edge (breaks pnpm cyclic dep)

* chore(pnpm): regenerate lockfile and restore cs3d:* dev scripts

- Regenerate pnpm-lock.yaml against the resolved workspace (cycle removed,
  cs3d 4.22.10, workspace:* internal deps).
- Restore cs3d:checkout/check/build/watch/install/link/unlink helper scripts
  (dropped when taking the PR's root scripts), converted yarn -> pnpm since
  the local cornerstone3D checkout is now pnpm too.

* Merge base branch issues

* Link ohif app

* ci: pin pnpm to 11.4.0 in action-setup (was version: latest)

version: latest floats across runs and breaks reproducibility. Pin to the repo's packageManager version (pnpm@11.4.0) in both playwright and build-docs workflows.

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

* fix: Accidental commit of .npmrc config

* Fix build issues

* build fix

* Dependency fixes

* fix: Dependency bug in app on extensions/modes

* Fix output configuration

* Replace percy screenshots with native cypress

* Remove percy screenshot entirely

* fix: Build issues

* force click to prevent canvas cover issues

* Enable swiftshader

* Update launch of electron

* fix: Broken size calculation

* Empty change to force a re-build

* fix(cypress): generate ui-next tailwind classes; drop unsupported electron arg

Tailwind only scanned @ohif/ui-next via ../../node_modules/@ohif/ui-next, which no longer resolves under the pnpm layout, so ui-next-unique classes (e.g. toolbar split-button sizing) were never generated. Those buttons' hit-boxes collapsed, producing Cypress 'covered by element' failures on toolbar interactions. Scan ui-next by direct filesystem path like ui/extensions/modes.

Also stop pushing --enable-unsafe-swiftshader into Electron's launchOptions.args (Electron ignores it and warns); it is supplied via ELECTRON_EXTRA_LAUNCH_ARGS in CI. The arg is still pushed for non-electron chromium (local chrome).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(e2e): disable dev-server overlay during coverage runs

The rspack dev-server client overlay injects an iframe (id=rspack-dev-server-client-overlay) that intercepts pointer events, causing Playwright/Cypress clicks on toolbar buttons to time out (e.g. MicroscopyPanel). Disable the overlay when COVERAGE=true (e2e/Playwright webServer) while keeping it for normal local dev.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(microscopy): provide dicom-microscopy-viewer runtime assets

The microscopy viewer is loaded at runtime via peerImport('dicom-microscopy-viewer'), which fetches the copied asset served at /dicom-microscopy-viewer/. Two issues prevented those assets from reaching dist, so the viewer never initialized and drawing produced no measurement row:

1) dicom-microscopy-viewer was declared in no workspace package.json (only under libs/@cornerstonejs), so it was not installed at root node_modules and the pluginConfig copy source did not exist. Declare it (0.48.6, matching libs) in the microscopy extension.

2) createCopyPluginToDist appended the public/dist folder name to entries that specify an explicit directory, breaking the dicom-microscopy-viewer public entry (looked for .../dynamic-import/public). Use an explicit directory as-is; only append the folder name for package-derived entries.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Update to pnpm 11.5.2 and cs3d 5.0.2

* Lock file

* fix: Update to newer versions of actions to try to fix hang

* Remove unnecessary version

* fix: Tests that are flaky

* PR comments

* Incorrect run name

* docs: Explain pluginConfig tooling

* Updated notes on pluginConfig and PR comments

* fix: resolve plugins in rsbuild build and fix directory-based asset copy

rsbuild.config.ts: merge getPluginResolveAliases() and an @ohif/app$ alias into resolve.alias, and add resolve.modules (root, platform/app, platform/ui node_modules) so extensions resolve their shared @ohif/* imports. Brings the rsbuild (dev:fast) path to parity with webpack.pwa.js / webpack.base.js.

writePluginImportsFile.js: treat a 'directory' on an extension/mode entry as the package root and copy its public/ and dist/ subdirs instead of the whole directory; public-section entries keep copying their directory verbatim via a new literalDirectory flag.

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

* refactor: share resolve alias/modules between webpack and rsbuild configs

Extract the resolve.alias (@ohif/app, @, @components, ...) and the node_modules search paths into .webpack/resolveConfig.js, the single source of truth consumed by both webpack.base.js (and every per-package webpack.prod/.dev.js that merges it) and rsbuild.config.ts. getModules(srcDir) appends the building package's own source root, preserving the previous per-package behavior. Ends the drift where the rsbuild path kept missing aliases/module paths that webpack.base.js already had.

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

* Add a timeout on git fetch and avoid all the unnecessary mirrros

* PR comments and tests

* Remove cache to prevent corrupting the cache key/setup.

* Fix stale/corrupted pnpm installer

---------

Co-authored-by: Alireza <ar.sedghi@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 16:04:56 -04:00
ohif-bot
571c2b4ff0 chore(version): Update package versions to 3.13.0-beta.89 [skip ci] 2026-06-10 00:29:36 +00:00
Alireza
6dd150d401
fix: ohif tests to run with cornerstone 3d 5.0 (#6043)
* chore(tests): Update multiple screenshot test images for various specs

* feat(screenshot-reviewer): Add screenshot review tool and update package.json scripts

* fix(DICOMSRDisplayTool): Improve actor presence check in viewport

* chore(tests): Update multiple screenshot assets for various specs

* chore(tests): Integrate waitForPaintToSettle and waitForViewportsRendered in multiple specs for improved rendering stability

* chore(tests): Update screenshot assets for SEGHydration and SEGNoHydration specs

* test: update progressive loading screenshots

* jest 30 test fixes for compatibility with pnpm cs3d

* Use correct setDisplaySets instead of setDataId

* fix: Naming change for LegacyVolumeViewport3D

* Update to allow tolerance for contour tests

* update

* fix

* refactor: Replace instanceof checks with utility functions for viewport type validation

* fix: Update createSegmentationForViewport to handle undefined displaySetInstanceUID gracefully

* bun lock

* fix: Install cs3d with pnpm instead of bun

* Update node version for playwright

* Update to v5.0.0 of cs3d

* fix: Build dependency

* audit

* Change to a web await retry assert

* Fix timing related test failures

* fix: Freehand close

---------

Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2026-06-09 20:25:14 -04:00
ohif-bot
a27f779f0b chore(version): Update package versions to 3.13.0-beta.88 [skip ci] 2026-06-05 12:51:24 +00:00
Joe Boccanfuso
99c6154343
fix(security): Patch axios vulnerabilities. (#6063) 2026-06-05 08:46:09 -04:00
ohif-bot
0885468bb9 chore(version): Update package versions to 3.13.0-beta.87 [skip ci] 2026-05-29 00:13:12 +00:00
Joe Boccanfuso
9396e01107
chore: Fix netlify deploy by updating various @babel dependencies. (#6049) 2026-05-28 20:08:43 -04:00
ohif-bot
1aaae125ea chore(version): Update package versions to 3.13.0-beta.86 [skip ci] 2026-05-28 19:03:08 +00:00
Joe Boccanfuso
ff3e855809
chore: Fix netlify deploy. (#6047) 2026-05-28 14:57:52 -04:00
ohif-bot
550dec742d chore(version): Update package versions to 3.13.0-beta.85 [skip ci] 2026-05-28 16:33:24 +00:00
Joe Boccanfuso
daae4c144e
feat(WorkList): New Study List (WorkList based on ui-next); old study list renamed to LegacyWorklist (#6005)
---------

Co-authored-by: Dan Rukas <dan.rukas@gmail.com>
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2026-05-28 12:26:30 -04:00
ohif-bot
9e7a3586ce chore(version): Update package versions to 3.13.0-beta.84 [skip ci] 2026-05-27 14:43:26 +00:00
Joe Boccanfuso
bdcafc12de
fix(security): Add tmp as a resolution to fix security vulnerability. (#6044) 2026-05-27 10:38:45 -04:00
ohif-bot
5ea22fc34f chore(version): Update package versions to 3.13.0-beta.83 [skip ci] 2026-05-26 16:28:06 +00:00
Ghadeer Albattarni
0c1ca6b04a
fix(segmentation): restore navigation for duplicated contour segments (#6038)
---------

Co-authored-by: diattamo <mmddiatta@gmail.com>
2026-05-26 12:22:46 -04:00
ohif-bot
9a2d2c3d13 chore(version): Update package versions to 3.13.0-beta.82 [skip ci] 2026-05-22 17:53:48 +00:00
Ghadeer Albattarni
5762095cfa
test(contour): add test for RT contour position after viewport maximize/restore (#6036) 2026-05-22 13:49:00 -04:00
ohif-bot
becd208924 chore(version): Update package versions to 3.13.0-beta.81 [skip ci] 2026-05-21 01:24:47 +00:00
diattamo
2258c7957a
feat(tests): Add tests for duplicating contour segments (#6002) 2026-05-20 21:18:58 -04:00
ohif-bot
d186749c5a chore(version): Update package versions to 3.13.0-beta.80 [skip ci] 2026-05-20 01:46:13 +00:00
Bill Wallace
09093b3f0a
Update to use beta 5.0 of CS3D (#5904)
* Update to use beta 5.0

* fix: unit tests

* fix: Allow slow server/test rendering to still work

* Update tests to use viewport grid compare

* Fix storage of stale retries actual/diff files

* cs3d linking fixees

* Linking for cs3d metadata

* Use metadata import for suv scaling

* Fix suv import

* Use type for import

* fix: Metadata registration ordering

* Use beta for upstream

* Merge from origin/master

* Revert tests to master

* Undo beta version changes

* Revert bun.lock file to that of master.

* Reduce test failure retries to one per test. Cap the number of failed total tests to 10. Replace the JSON reporter with the HTML reporter.

* Add generic provider back in

* Deprecate OHIF versions of cs3d utils

* fix

* Undo some cs3d beta dependencies so this PR could be merged

* Build fix

* Fixing build issues

* build issue

* bun lock

* Temporary cache clear to resolve build issue

* Cache bust

* Remove the babel hoist fix attempt

* Cache netlify toml issue

* Fix netlify cache issue

* Try to fix cache dependency issue

* Try update resolutions

* babel hoist fix

* fix: Remove netlify cache bust

* Revert pinned versions

* PR comments on duplicated suv-factors

* Undo lock changes and isEqual add

---------

Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
Co-authored-by: Alireza <ar.sedghi@gmail.com>
2026-05-19 21:41:37 -04:00
ohif-bot
ef8bb5559a chore(version): Update package versions to 3.13.0-beta.79 [skip ci] 2026-05-19 20:04:38 +00:00
Ghadeer Albattarni
95251ab670
fix(seg): prevent viewport orientation change when loading SEG in manual grid layout (#6021) 2026-05-19 15:59:42 -04:00
ohif-bot
1e91285c60 chore(version): Update package versions to 3.13.0-beta.78 [skip ci] 2026-05-19 19:33:03 +00:00
Ghadeer Albattarni
27af6821b5
fix(measurements): read displayName in SplineROI and PlanarFreehandROI reports (#5908) 2026-05-19 15:28:05 -04:00
ohif-bot
6f92234111 chore(version): Update package versions to 3.13.0-beta.77 [skip ci] 2026-05-19 18:50:02 +00:00
Ghadeer Albattarni
527cfb0ae8
fix(segmentation): remove thresholdRange label in double-range tool settings (#5931) 2026-05-19 14:45:25 -04:00
ohif-bot
64fa240dfa chore(version): Update package versions to 3.13.0-beta.76 [skip ci] 2026-05-19 13:29:35 +00:00
Ghadeer Albattarni
77cd9394d2
test(segmentation): add e2e test for deleting segmentation on second reload (#6013) 2026-05-19 09:24:49 -04:00
ohif-bot
8e8f574174 chore(version): Update package versions to 3.13.0-beta.75 [skip ci] 2026-05-18 14:40:35 +00:00
Joe Boccanfuso
fe16e80cf3
test(e2e): update Playwright screenshots and add better tests and assertions for area calculations (#6022)
* Add (better) assertions for area calculation fixes.
* Add SVG and measurement side panel area for freehand ROI test.
* Add Playwright viewport screenshot scope migration guide.
* Update cornerstonjs dependencies to 4.22.8. Ensure all versions of @babel/preset-env are 7.29.5.

---------

Co-authored-by: Ghadeer Albattarni <165973963+GhadeerAlbattarni@users.noreply.github.com>
2026-05-18 10:36:05 -04:00
ohif-bot
cb0cbe702c chore(version): Update package versions to 3.13.0-beta.74 [skip ci] 2026-05-15 19:11:45 +00:00
Joe Boccanfuso
55b46f39c6
fix(security): Update various dependencies to fix security vulnerabilities. (#6023) 2026-05-15 15:07:13 -04:00
ohif-bot
01b5c86826 chore(version): Update package versions to 3.13.0-beta.73 [skip ci] 2026-05-13 17:16:29 +00:00
Ibrahim
f231eff598
feat(llm): add instructions md file for claude and other LLM tools (#6017)
* add claude instructions file

* update structure

* Update llm/AGENTS.md

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* Update llm/AGENTS.md

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* move to root

* symlink

---------

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-05-13 13:11:55 -04:00
ohif-bot
b058ec7c72 chore(version): Update package versions to 3.13.0-beta.72 [skip ci] 2026-05-12 17:26:24 +00:00
Ghadeer Albattarni
397aa4d0e3
fix(measurement-tracking): restore tracked state on undo after Delete all (#5994)
* fix: always show delete confirmation when measurements exist
2026-05-12 13:22:25 -04:00
ohif-bot
8cd8ccc163 chore(version): Update package versions to 3.13.0-beta.71 [skip ci] 2026-05-07 22:51:22 +00:00
Ghadeer Albattarni
37e19f734a
fix: remove waitForVolumeLoad from main toolbar page object (#6004) 2026-05-07 18:47:27 -04:00
ohif-bot
13305de99c chore(version): Update package versions to 3.13.0-beta.70 [skip ci] 2026-05-07 19:46:54 +00:00
Ghadeer Albattarni
9cf3149d2a
test(e2e): replace waitForVolumeLoad with viewport render waits (#6000) 2026-05-07 15:42:12 -04:00
ohif-bot
fbea158473 chore(version): Update package versions to 3.13.0-beta.69 [skip ci] 2026-05-06 17:53:50 +00:00
Joe Boccanfuso
5e624f1387
fix(security): Patch axios security vulnerabilities. (#5998)
Patch axios security vulnerabilities.
2026-05-06 13:49:13 -04:00
ohif-bot
d792bf7f80 chore(version): Update package versions to 3.13.0-beta.68 [skip ci] 2026-05-05 19:27:31 +00:00
Joe Boccanfuso
979d619f7c
fix(ToolGroupService): Centralize tool binding persistence and provide API to add and remove persisted bindings. (#5989)
* Reset crosshair modifier to default when resetting user preferences.

* Apply bindings when loading persisted bindings.
2026-05-05 15:22:43 -04:00
ohif-bot
5bccf0a753 chore(version): Update package versions to 3.13.0-beta.67 [skip ci] 2026-04-30 14:18:14 +00:00
Dan Rukas
691e26731f
feat(ui-next): Adds toggle state for ToolButton and Crosshair example (#5914)
Co-authored-by: sedghi <ar.sedghi@gmail.com>
2026-04-30 10:13:58 -04:00
ohif-bot
e6816f6de4 chore(version): Update package versions to 3.13.0-beta.66 [skip ci] 2026-04-29 16:01:57 +00:00
Joe Boccanfuso
468e5734a9
fix(config url): Hardening fetch options. (#5985) 2026-04-29 11:57:33 -04:00
ohif-bot
90abd00936 chore(version): Update package versions to 3.13.0-beta.65 [skip ci] 2026-04-29 14:37:25 +00:00
Ghadeer Albattarni
62620afb9b
test( zoomIn-tool): verify horizontal flip is preserved in magnified view (#5983) 2026-04-29 10:32:27 -04:00
ohif-bot
03860030bd chore(version): Update package versions to 3.13.0-beta.64 [skip ci] 2026-04-27 17:00:15 +00:00
Ghadeer Albattarni
f8ccf9ff2e
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
ohif-bot
c9c4f11b82 chore(version): Update package versions to 3.13.0-beta.63 [skip ci] 2026-04-27 11:11:23 +00:00
Joe Boccanfuso
f3cca21e49
fix(security): refine dynamic config URL trust policy and document trusted-origin behavior (#5973)
* fix(security): refine dynamic config URL trust policy and document trusted-origin behavior

* Update documentation for Authorization and Authentication.

* Add isSameOrigin to resolveConfigFetchPolicy return value.
2026-04-27 07:06:06 -04:00
ohif-bot
5ba8339037 chore(version): Update package versions to 3.13.0-beta.62 [skip ci] 2026-04-23 17:49:30 +00:00
Joe Boccanfuso
1fc97fea43
fix(security): Patch protobufjs for CVE-2026-41242. (#5974) 2026-04-23 13:45:09 -04:00
ohif-bot
7008029cdc chore(version): Update package versions to 3.13.0-beta.61 [skip ci] 2026-04-23 12:51:09 +00:00
Joe Boccanfuso
8fc0dc16e9
feat(slice scrollbar): Integrate ViewportSliceProgressScrollbar with customizations and docs (#5960)
Co-authored-by: Dan Rukas <dan.rukas@gmail.com>
2026-04-23 08:46:03 -04:00
ohif-bot
8a2fee4d8a chore(version): Update package versions to 3.13.0-beta.60 [skip ci] 2026-04-21 16:00:22 +00:00
Joe Boccanfuso
eede569a88
fix(configuration): Harden dynamic datasource URL trust boundaries and credential handling. (#5963)
* fix(configuration): Harden dynamic datasource URL trust boundaries and credential handling.

* Remove testing configuration.

* Update policies for runtime ?url=... datasource loading.

* PR feedback.
2026-04-21 11:55:14 -04:00
ohif-bot
51e6b35dbb chore(version): Update package versions to 3.13.0-beta.59 [skip ci] 2026-04-16 21:51:43 +00:00
Ghadeer Albattarni
792f78e35f
chore: update Cornerstone3D to v4.21.7 (#5964) 2026-04-16 17:47:00 -04:00
Bill Wallace
cc5dc20164
fix: Use newer ONNX version and load without errors (#5854)
* fix: Use newer ONNX version and load without errors

* Only changes to enable SAM again

* fix(seg hydration): auto-hydrate RT struct on second load with disableConfirmationPrompts (#5875)

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

* fix(Threshold tool): Threshold tool no longer becomes deselected when the Dynamic option is selected (#5884)

fix(Threshold tool): Added 'ThresholdCircularBrushDynamic' to the toolNames array so the evaluator correctly recognizes it as an active state for the Threshold button when Dynamic mode is selected.

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

* fix: Modalities in study list should select starts with as primary (#5886)

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

* fix(security): Bump tar version to address CVE-2026-31802. (#5893)

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

* fix(segmentation): Display "No description S:{series number} {modality}" for segmentations with no label. (#5874)

* Bump CS3D dependency to get the fallbackLabel field additions.

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

* fix(window level): The window level value is not displayed by default on all the viewports when selecting common/custom layout and TMTV. (#5865)

* fix(window level): Set up listener for viewport availability such that the initial window level can be read and displayed.

* PR feedback.

* PR feedback.

---------

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

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

* fix(security): Bump flattened version to address CVE-2026-32141. (#5897)

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

* fix(sr-hydration): enable hydration and arrow navigation for 3D SR measurements (#5887)

Joe is away, so approving based on the code having the requested change, and otherwise looking good/passing tests.

* fix(sr-hydration): enable hydration and arrows navigation for 3D SR measurements

* test: add automated test for SR measurement navigation with arrows after hydration

* add cross-study warning in the 3D branch

* test: address reviewer feedback for the test

* fix: support 3D and 2D annotations for SR hydration

* test: improve navigation to first image

---------

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

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

* feat: Add combined build (#5895)

* Add combined build

* Link script location update

* Security and validation fixes

* Allow specifying target path in PR description

* fix: Version match

* Fix build detection issue

* fix: Playwright deploy

* Separate out the branch merge guard

* Update docs and link info

* test: Update the layout change to wait for network idle

* Move audit late so the rest of the build can be worked on

* Add text with network check to ensure we see this change is updated

* Attempt to fix the mpr loading on ohif-downstream

* PR review comments

* Update docs

* Update to CS3D 4.20.0

* PR comments

* Add log on ohif-integration builds

* Update build test

* Removed unused space to kickoff build

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

* fix(SR): Added support for spline and live wire SR items. (#5870)

* fix(SR): Added support for spline and live wire SR items.

* Apply suggestion from @greptile-apps[bot]

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* Add a script to checkout a worktree for test builds

* fix: Allow download for testing sr validator

* Remove script that wasn't intended to be included

* Bump CS3D version.

* PR comments - simplify code and use single codepath for download

* Allow both download and save buttons for SEG and RTSTRUCT

---------

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>

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

* chore(tests): contour segment interactions e2e tests - rename and togglevisibility (#5891)

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

* chore(refactor): use public appConfig getter instead of private _appConfig field (#5923)

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

* refactor(tests): update viewport page object usage to async and update all effected tests (#5927)

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

* fix: prevent black viewport when navigating series with client-created segmentation (#5919)

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

* fix(measurement): Restore viewport interactivity when deleting in-progress Spline or Livewire measurement (#5905)

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

* fix(segmentation): restrict overlay segmentation menu to same frame of reference as viewport background display set  (#5900)

- Add FrameOfReferenceUID to SEG and RTSTRUCT displaySet in SOP Class Handlers so the FOR is available for filtering
- Sync optimisticOverlayDisplaySets when background display set changes so the overlay menu reflects the correct state after a background switch
- Add FOR matching guard to the hydrate segmentation synchronizer to prevent the hydration synchronizer from blindly mirroring segmentations from a source viewport to a target viewport if their primary Frames of Reference do not align.
- fix segmentation overlay order reversal on viewport re-render

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

* fix(security): update dependencies to fix security vulnerabilities (#5936)

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

* fix(security): Update yarn.lock that was missed in PR #5936. (#5940)

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

* feat(component): Adds SmartScrollbar to ui-next - OHIF-2558 (#5924)

Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>

* fix(defaultRouteInit): pass sorted display sets to hanging protocol for deterministic viewport order (#5933)

fix: pass sorted display sets to hanging protocol for deterministic viewport order

The `applyHangingProtocol` function already sorts display sets by modality
priority and series number into `sortedDisplaySets`, but the unsorted
`displaySets` array was being passed to `hangingProtocolService.run()`.

This caused non-deterministic viewport ordering across page loads because
`displaySetService.getActiveDisplaySets()` returns display sets in creation
order, which depends on asynchronous network responses.

Made-with: Cursor

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

* revert: rename DisplaySet.frameOfReferenceUID back to FrameOfReferenceUID (#5943)

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

* fix(cornerstone): read FrameOfReferenceUID from display set in viewport service (#5950)

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

* fix: ignore auth in git (#5955)

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

* ONNX latest version

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

* bun lock

* fix high sev mathjs issue

* Revert onnx changes

* Update to recent CS3D version

* Undo unneeded change

* Add null check

* Undo unneeded change

---------

Co-authored-by: Ghadeer Albattarni <165973963+GhadeerAlbattarni@users.noreply.github.com>
Co-authored-by: ohif-bot <danny.ri.brown+ohif-bot@gmail.com>
Co-authored-by: Joe Boccanfuso <109477394+jbocce@users.noreply.github.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: diattamo <mmddiatta@gmail.com>
Co-authored-by: Pedro Köhler <pedrokohlerbh@gmail.com>
Co-authored-by: Dan Rukas <dan.rukas@gmail.com>
Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
Co-authored-by: Alireza <ar.sedghi@gmail.com>
2026-04-15 12:04:00 -04:00
ohif-bot
31727c0668 chore(version): Update package versions to 3.13.0-beta.58 [skip ci] 2026-04-14 18:00:56 +00:00
Bill Wallace
760adc50d6
Reformat in HP MPR (#5717)
* Reformat in HP MPR

* fix: Orientation markers should work
2026-04-14 13:56:20 -04:00
ohif-bot
6e4ef68a83 chore(version): Update package versions to 3.13.0-beta.57 [skip ci] 2026-04-13 13:36:14 +00:00
Alireza
f5a66b9eea
fix: Enhance multiframe instance handling and improve instance valida… (#5956)
fix: Enhance multiframe instance handling and improve instance validation

- Updated `getDisplaySetInfo` to ensure local file frame imageIds resolve correctly, falling back to the source multiframe instance when necessary.
- Improved instance filtering in `isDisplaySetReconstructable` to handle undefined instances more robustly.
- Modified `App` prop types to make `routerBasename` optional and added new props for loading indicators and data sources.
- Refactored `CinePlayer` component to replace Button with a div for better accessibility and interaction.
2026-04-13 09:31:28 -04:00
ohif-bot
3069d33c99 chore(version): Update package versions to 3.13.0-beta.56 [skip ci] 2026-04-10 20:57:30 +00:00
Bill Wallace
f6bbd5c779
fix: A couple of changes to enable cs3d integration build (#5944)
* fix: A couple of changes to enable cs3d integration build

* Bun update

* fix: Crosshairs tests due to order changes

* Fix a race in DicomTagBrowser.spec.ts and update the comparison for the screenshot for seg hydration.

* Fix sorting issues by using consistent sort

* fix: Inconsistency in scoord loader.  Will need an update to screenshot

* Fix crosshairs stability issues and random order issues in Scoord

* Update the comparison image

* Update navigate image

* fix: Axios issue

* Update to current CS3D
2026-04-10 16:51:37 -04:00
ohif-bot
66c8e0c195 chore(version): Update package versions to 3.13.0-beta.55 [skip ci] 2026-04-10 19:21:27 +00:00
Alireza
961eea1c39
fix: ignore auth in git (#5955) 2026-04-10 15:16:55 -04:00
ohif-bot
0ddf32eef2 chore(version): Update package versions to 3.13.0-beta.54 [skip ci] 2026-04-08 15:59:34 +00:00
Ghadeer Albattarni
d219171e25
fix(cornerstone): read FrameOfReferenceUID from display set in viewport service (#5950) 2026-04-08 11:54:05 -04:00
ohif-bot
6cbad4fab7 chore(version): Update package versions to 3.13.0-beta.53 [skip ci] 2026-04-06 16:08:24 +00:00
Ghadeer Albattarni
0e933c256e
revert: rename DisplaySet.frameOfReferenceUID back to FrameOfReferenceUID (#5943) 2026-04-06 12:03:28 -04:00
ohif-bot
74e656b174 chore(version): Update package versions to 3.13.0-beta.52 [skip ci] 2026-04-06 13:27:41 +00:00
Pedro Köhler
68b10d365a
fix(defaultRouteInit): pass sorted display sets to hanging protocol for deterministic viewport order (#5933)
fix: pass sorted display sets to hanging protocol for deterministic viewport order

The `applyHangingProtocol` function already sorts display sets by modality
priority and series number into `sortedDisplaySets`, but the unsorted
`displaySets` array was being passed to `hangingProtocolService.run()`.

This caused non-deterministic viewport ordering across page loads because
`displaySetService.getActiveDisplaySets()` returns display sets in creation
order, which depends on asynchronous network responses.

Made-with: Cursor
2026-04-06 09:23:37 -04:00
Dan Rukas
91a8715795
feat(component): Adds SmartScrollbar to ui-next - OHIF-2558 (#5924)
Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
2026-04-06 09:21:13 -04:00
ohif-bot
fdf26aa8b9 chore(version): Update package versions to 3.13.0-beta.51 [skip ci] 2026-04-03 18:22:25 +00:00
Joe Boccanfuso
84ddf78c87
fix(security): Update yarn.lock that was missed in PR #5936. (#5940) 2026-04-03 14:17:40 -04:00
ohif-bot
d7ab507f5b chore(version): Update package versions to 3.13.0-beta.50 [skip ci] 2026-04-02 22:10:46 +00:00
Joe Boccanfuso
5358a3985a
fix(security): update dependencies to fix security vulnerabilities (#5936) 2026-04-02 18:06:19 -04:00
ohif-bot
d670fb168c chore(version): Update package versions to 3.13.0-beta.49 [skip ci] 2026-04-02 12:57:23 +00:00
Ghadeer Albattarni
b9029ef6f8
fix(segmentation): restrict overlay segmentation menu to same frame of reference as viewport background display set (#5900)
- Add FrameOfReferenceUID to SEG and RTSTRUCT displaySet in SOP Class Handlers so the FOR is available for filtering
- Sync optimisticOverlayDisplaySets when background display set changes so the overlay menu reflects the correct state after a background switch
- Add FOR matching guard to the hydrate segmentation synchronizer to prevent the hydration synchronizer from blindly mirroring segmentations from a source viewport to a target viewport if their primary Frames of Reference do not align.
- fix segmentation overlay order reversal on viewport re-render
2026-04-02 08:52:23 -04:00
ohif-bot
a875d7de1f chore(version): Update package versions to 3.13.0-beta.48 [skip ci] 2026-04-01 20:57:11 +00:00
Ghadeer Albattarni
7929f0898f
fix(measurement): Restore viewport interactivity when deleting in-progress Spline or Livewire measurement (#5905) 2026-04-01 16:52:14 -04:00
ohif-bot
f999f3eab5 chore(version): Update package versions to 3.13.0-beta.47 [skip ci] 2026-03-28 23:24:57 +00:00
Ghadeer Albattarni
e66fb5a2b8
fix: prevent black viewport when navigating series with client-created segmentation (#5919) 2026-03-28 19:20:49 -04:00
ohif-bot
efac34dfe5 chore(version): Update package versions to 3.13.0-beta.46 [skip ci] 2026-03-27 20:41:39 +00:00
Ghadeer Albattarni
2a728b244c
refactor(tests): update viewport page object usage to async and update all effected tests (#5927) 2026-03-27 16:37:42 -04:00
ohif-bot
485f0d75d9 chore(version): Update package versions to 3.13.0-beta.45 [skip ci] 2026-03-27 17:18:56 +00:00
Pedro Köhler
d7dd12ad67
chore(refactor): use public appConfig getter instead of private _appConfig field (#5923) 2026-03-27 13:14:13 -04:00
ohif-bot
9718ecc407 chore(version): Update package versions to 3.13.0-beta.44 [skip ci] 2026-03-27 13:59:09 +00:00
diattamo
fe762b68e8
chore(tests): contour segment interactions e2e tests - rename and togglevisibility (#5891) 2026-03-27 09:54:36 -04:00
ohif-bot
87eeefdf1b chore(version): Update package versions to 3.13.0-beta.43 [skip ci] 2026-03-17 13:03:35 +00:00
Joe Boccanfuso
1d4802c2a3
fix(SR): Added support for spline and live wire SR items. (#5870)
* fix(SR): Added support for spline and live wire SR items.

* Apply suggestion from @greptile-apps[bot]

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* Add a script to checkout a worktree for test builds

* fix: Allow download for testing sr validator

* Remove script that wasn't intended to be included

* Bump CS3D version.

* PR comments - simplify code and use single codepath for download

* Allow both download and save buttons for SEG and RTSTRUCT

---------

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2026-03-17 08:59:47 -04:00
ohif-bot
69d8ad63f3 chore(version): Update package versions to 3.13.0-beta.42 [skip ci] 2026-03-17 11:55:55 +00:00
Bill Wallace
1df671e9ab
feat: Add combined build (#5895)
* Add combined build

* Link script location update

* Security and validation fixes

* Allow specifying target path in PR description

* fix: Version match

* Fix build detection issue

* fix: Playwright deploy

* Separate out the branch merge guard

* Update docs and link info

* test: Update the layout change to wait for network idle

* Move audit late so the rest of the build can be worked on

* Add text with network check to ensure we see this change is updated

* Attempt to fix the mpr loading on ohif-downstream

* PR review comments

* Update docs

* Update to CS3D 4.20.0

* PR comments

* Add log on ohif-integration builds

* Update build test

* Removed unused space to kickoff build
2026-03-17 07:52:17 -04:00
ohif-bot
15ef4c2e0f chore(version): Update package versions to 3.13.0-beta.41 [skip ci] 2026-03-16 13:40:10 +00:00
Ghadeer Albattarni
7a38903b19
fix(sr-hydration): enable hydration and arrow navigation for 3D SR measurements (#5887)
Joe is away, so approving based on the code having the requested change, and otherwise looking good/passing tests.

* fix(sr-hydration): enable hydration and arrows navigation for 3D SR measurements

* test: add automated test for SR measurement navigation with arrows after hydration

* add cross-study warning in the 3D branch

* test: address reviewer feedback for the test

* fix: support 3D and 2D annotations for SR hydration

* test: improve navigation to first image

---------

Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2026-03-16 09:36:56 -04:00
ohif-bot
40a472a9b1 chore(version): Update package versions to 3.13.0-beta.40 [skip ci] 2026-03-13 19:28:45 +00:00
Joe Boccanfuso
d8d376edaf
fix(security): Bump flattened version to address CVE-2026-32141. (#5897) 2026-03-13 15:25:21 -04:00
ohif-bot
d0bab783c7 chore(version): Update package versions to 3.13.0-beta.39 [skip ci] 2026-03-13 14:15:45 +00:00
Joe Boccanfuso
fe1ecfe0cc
fix(window level): The window level value is not displayed by default on all the viewports when selecting common/custom layout and TMTV. (#5865)
* fix(window level): Set up listener for viewport availability such that the initial window level can be read and displayed.

* PR feedback.

* PR feedback.

---------

Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2026-03-13 10:12:07 -04:00
ohif-bot
54d9ea39bf chore(version): Update package versions to 3.13.0-beta.38 [skip ci] 2026-03-12 22:42:59 +00:00
Joe Boccanfuso
7b5d0ce40e
fix(segmentation): Display "No description S:{series number} {modality}" for segmentations with no label. (#5874)
* Bump CS3D dependency to get the fallbackLabel field additions.
2026-03-12 18:39:14 -04:00
ohif-bot
15f14e34e4 chore(version): Update package versions to 3.13.0-beta.37 [skip ci] 2026-03-12 00:56:47 +00:00
Joe Boccanfuso
d015b2e32a
fix(security): Bump tar version to address CVE-2026-31802. (#5893) 2026-03-11 20:53:17 -04:00
ohif-bot
197b80eefd chore(version): Update package versions to 3.13.0-beta.36 [skip ci] 2026-03-11 18:31:47 +00:00
Bill Wallace
b83e978df8
fix: Modalities in study list should select starts with as primary (#5886) 2026-03-11 14:28:20 -04:00
ohif-bot
4c2bd8d5ed chore(version): Update package versions to 3.13.0-beta.35 [skip ci] 2026-03-09 19:47:36 +00:00
Joe Boccanfuso
889026f8a9
fix(Threshold tool): Threshold tool no longer becomes deselected when the Dynamic option is selected (#5884)
fix(Threshold tool): Added 'ThresholdCircularBrushDynamic' to the toolNames array so the evaluator correctly recognizes it as an active state for the Threshold button when Dynamic mode is selected.
2026-03-09 15:43:56 -04:00
ohif-bot
1aaf569825 chore(version): Update package versions to 3.13.0-beta.34 [skip ci] 2026-03-09 13:11:54 +00:00
Ghadeer Albattarni
6f773f9972
fix(seg hydration): auto-hydrate RT struct on second load with disableConfirmationPrompts (#5875) 2026-03-09 09:08:21 -04:00
ohif-bot
0f822aaf48 chore(version): Update package versions to 3.13.0-beta.33 [skip ci] 2026-03-05 20:12:21 +00:00
Joe Boccanfuso
61a1fccd7d
fix(security): Bump svgo and tar to fix vulnerabilities. (#5877) 2026-03-05 15:09:05 -05:00
ohif-bot
c842642341 chore(version): Update package versions to 3.13.0-beta.32 [skip ci] 2026-03-05 18:00:06 +00:00
TFRadicalImaging
70f76aeba1
feat(ecg): add DICOM ECG waveform extension (#5856)
* feat(ecg): add DICOM ECG waveform extension

Introduce @ohif/extension-dicom-ecg for rendering DICOM waveform (ECG)
data. Register the extension in the basic mode and pluginConfig.json,
and remove ECG from NON_IMAGE_MODALITIES so waveform display sets are
handled by the new viewport.

* refactor(ecg): move ECG support into cornerstone extension per review feedback

- Remove standalone dicom-ecg extension; fold all ECG functionality into
  the cornerstone extension as requested by reviewer
- Add ECG SOP class handler (DicomEcgSopClassHandler) to the cornerstone
  extension getSopClassHandlerModule, registering ECG waveform metadata
  via genericMetadataProvider on display set creation
- Move ECG helpers (buildEcgModule, decodeInt16Multiplex, base64ToArrayBuffer)
  into extensions/cornerstone/src/utils/ecgMetadata.ts
- Handle ECGViewport in CornerstoneViewportService._setDisplaySets by
  detecting ECGViewport instanceof and calling setEcg(imageId) directly,
  so OHIFCornerstoneViewport can be used without a custom ECG viewport component
- Add ECG support to getCornerstoneViewportType utility
- Update basic mode to reference the cornerstone extension's ECG SOP handler
  and use the base cornerstone viewport for ECG display sets
- Migrate ecgMetadata and getCornerstoneViewportType tests

* chore: revert bun.lock to upstream origin/master

---------

Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2026-03-05 12:56:52 -05:00
ohif-bot
30bb5d0652 chore(version): Update package versions to 3.13.0-beta.31 [skip ci] 2026-03-04 20:32:11 +00:00
Ghadeer Albattarni
2358a73c3c
fix(microscopy): rename measurement in microscopy mode (#5866) 2026-03-04 15:28:41 -05:00
ohif-bot
df22109013 chore(version): Update package versions to 3.13.0-beta.30 [skip ci] 2026-03-04 20:25:47 +00:00
Ghadeer Albattarni
7e10830d58
fix(segmentation): segment bidirectional tool error and show toast notification when no segment is drawn (#5861) 2026-03-04 15:22:10 -05:00
ohif-bot
6db0bc2d4c chore(version): Update package versions to 3.13.0-beta.29 [skip ci] 2026-03-04 17:27:01 +00:00
Joe Boccanfuso
be8e266a80
fix(security): Address various security vulnerabilities. (#5869) 2026-03-04 12:23:49 -05:00
ohif-bot
b3e5f64694 chore(version): Update package versions to 3.13.0-beta.28 [skip ci] 2026-03-03 21:56:46 +00:00
diattamo
f2ed4c9e6f
test(ContourSegNavigation): Add e2e tests for contour segmentation navigation (#5834)
---------

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-03-03 16:52:03 -05:00
ohif-bot
b6d362f375 chore(version): Update package versions to 3.13.0-beta.27 [skip ci] 2026-03-02 13:16:59 +00:00
Ghadeer Albattarni
92011c587f
chore(test): add FreehandROI test that MEASUREMENT_ADDED does not fire when clicking annotation text (#5846) 2026-03-02 08:12:28 -05:00
ohif-bot
c9dea4e6cc chore(version): Update package versions to 3.13.0-beta.26 [skip ci] 2026-02-28 09:54:42 +00:00
Silas Shellenbarger
6a3caa1ac9
fix capture not maintaining flip/rotate state (#5843)
* fix capture not maintaining flip/rotate state

* fix capture not maintaining flip/rotate state

---------

Co-authored-by: silasshellenbarger <sdshe@Silas-Computer.localdomain>
2026-02-28 04:50:35 -05:00
ohif-bot
2b486f16ed chore(version): Update package versions to 3.13.0-beta.25 [skip ci] 2026-02-26 14:54:56 +00:00
Bill Wallace
5370b9382e
fix: Update CS3D 4.18.2 (#5837)
* Update CS3D 4.17.4

* fix: Update to cs3d 4.18.2

* audit issues

* audit fixes

* fix: redos issue

* Simplify dependencies to fix audit alerts.

---------

Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
2026-02-26 09:49:44 -05:00
ohif-bot
67f9de4ab6 chore(version): Update package versions to 3.13.0-beta.24 [skip ci] 2026-02-24 13:57:26 +00:00
Ghadeer Albattarni
d11d6d401b
fix: prevent viewer crash when opening DICOM Tag Browser from empty viewport (#5827) 2026-02-24 08:53:05 -05:00
Ghadeer Albattarni
a8f709982f
fix(ui-next): Add validation for opacity and border inputs in the segmentation panel - OHIF-2332 (#5819) 2026-02-24 08:50:07 -05:00
ohif-bot
9e4c0bb7a2 chore(version): Update package versions to 3.13.0-beta.23 [skip ci] 2026-02-23 22:29:33 +00:00
Bill Wallace
eeca1f7a7b
fix: palette color 8 encoded 16 (#5823)
* fix: Detect 16 bit when 8 declared

* Update bun lock with dcmjs changes

* PR comments

* Update package versions

* fix: Palette color lookup table data for dcmjs parsed data

* fix: Published version should match (#5813)

* fix: Published version should match

* Move version number update to package.json

* fix: Netlify version number update

* Try updating platform app vesion too

* PR comments

---------

Co-authored-by: Joe Boccanfuso <109477394+jbocce@users.noreply.github.com>

* Update latest cs3d

* formatting

* fix: Use 64k instead of 0 for number of entries

* fix: Revert CS3D version to see test issues

* Updated screenshots for ArrowAnnotate.spec.ts.

* Update CS3D version

* fix: Update cs3d 4.17.4

* Update bun lock

* Update bun

* Downgrade to CS3D 4.17.2 to try to release

---------

Co-authored-by: Joe Boccanfuso <109477394+jbocce@users.noreply.github.com>
Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
2026-02-23 17:24:33 -05:00
ohif-bot
279ae0dfe0 chore(version): Update package versions to 3.13.0-beta.22 [skip ci] 2026-02-23 21:42:30 +00:00
Joe Boccanfuso
928d592333
chore(security): Updates for running bun audit during CI and dependabot PR version update settings (#5835)
* chore(security): Update circleci config to only run bun audit for lockfile changes.

* Switched to eslint 9.39.3 for compatibility with .eslintrc.json.

* Disabled all dependabot pull requests for bun and npm version updates.
2026-02-23 16:37:56 -05:00
ohif-bot
3330d2b52b chore(version): Update package versions to 3.13.0-beta.21 [skip ci] 2026-02-23 14:19:07 +00:00
arul-trenser
b5573caaa6
fix(RTStruct): RTSTRUCT contours rendered on first slice for multi-frame images without IPP (#5811)
Fix RTSTRUCT contours rendered on first slice for multi-frame images without IPP
2026-02-23 09:14:34 -05:00
ohif-bot
cb4397fe31 chore(version): Update package versions to 3.13.0-beta.20 [skip ci] 2026-02-21 23:19:22 +00:00
Bill Wallace
d359a3b784
fix: Published version should match (#5813)
* fix: Published version should match

* Move version number update to package.json

* fix: Netlify version number update

* Try updating platform app vesion too

* PR comments

---------

Co-authored-by: Joe Boccanfuso <109477394+jbocce@users.noreply.github.com>
2026-02-21 18:15:10 -05:00
ohif-bot
ce9f159c21 chore(version): Update package versions to 3.13.0-beta.19 [skip ci] 2026-02-20 22:29:35 +00:00
Joe Boccanfuso
27229609cd
fix(security): CVE-2026-27212 patched. Various dependency updates as a result of CVE-2026-26996. (#5830)
fix(security):  CVE-2026-27212 patched.
Various dependency updates as a result of CVE-2026-26996.
Ultimately CVE-2026-26996 was ignored because it is only exposed in itk-wasm via CLI and OHIF's other use of minimatch is limited to build/dev environments.
2026-02-20 17:25:06 -05:00
ohif-bot
83e687fb02 chore(version): Update package versions to 3.13.0-beta.18 [skip ci] 2026-02-19 01:36:02 +00:00
dxlin
b35354120a
fix(segmentation overlay): update viewport ds list upon seg delete - OHIF-2425 (#5729)
- add segmentationExists check to getSopClassHandlerModule
- now firing SEGMENTATION_REMOVED and SEGMENTATION_REPRESENTATION_REMOVED events
- centralized segmentation removal in a listener
- when a segmentation is deleted (completely), remove it from all viewports it overlays
- when a segmentation is removed from a viewport, remove it as overlay from the viewport

---------

Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2026-02-18 20:31:43 -05:00
ohif-bot
c75cbc2a89 chore(version): Update package versions to 3.13.0-beta.17 [skip ci] 2026-02-19 00:08:20 +00:00
Bill Wallace
53c67f3612
fix: Add copy to clipboard option for capture (#5720)
* Add copy to clipboard option for capture

* PR comments

* Added toast feedback and updated labels

---------

Co-authored-by: Dan Rukas <dan.rukas@gmail.com>
2026-02-18 19:03:17 -05:00
ohif-bot
c85ca0e177 chore(version): Update package versions to 3.13.0-beta.16 [skip ci] 2026-02-18 21:51:03 +00:00
Joe Boccanfuso
3d59c0d9d3
fix(security): Bump tar to 7.5.9 and lerna to 9.0.4 to fix CVE-2026-26960. (#5824)
* fix(security): Bump tar to 7.5.9 and lerna to 9.0.4 to fix CVE-2026-26960.
Bump sharp to 0.34.5 to fix tar-fs vulnerabilities.

* Update node version to 20.19.0 in circleci config. Needed for lerna and cypress tests.

* Now installing bun for cypress tests in circleci config.

* Use node version 20.19.0 in netlify config.
2026-02-18 16:46:02 -05:00
ohif-bot
8b9cb06115 chore(version): Update package versions to 3.13.0-beta.15 [skip ci] 2026-02-17 22:00:07 +00:00
Ghadeer Albattarni
cca1a8683b
fix(dicom-tag-browser): Prevent long series names from overlapping - OHIF-2406 (#5809) 2026-02-17 16:56:00 -05:00
ohif-bot
f668848230 chore(version): Update package versions to 3.13.0-beta.14 [skip ci] 2026-02-13 12:07:46 +00:00
dependabot[bot]
f590fc05a8
chore(deps): bump webpack from 5.95.0 to 5.105.0 (#5795)
---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
2026-02-13 07:03:10 -05:00
ohif-bot
c6e670e575 chore(version): Update package versions to 3.13.0-beta.13 [skip ci] 2026-02-12 18:17:07 +00:00
Dan Rukas
dbc31a5d4e
fix(colors): Replace hardcoded black with background color token (#5815)
* Update all black to background

* remove --canvas token, keep intentional bg-black

* Move bg-black from grid container to individual viewport panes

---------

Co-authored-by: Alireza <ar.sedghi@gmail.com>
2026-02-12 13:12:36 -05:00
ohif-bot
cfe7efd3ef chore(version): Update package versions to 3.13.0-beta.12 [skip ci] 2026-02-12 14:00:31 +00:00
Dan Rukas
739e3239cf
fix(usAnnotation): Prevent error after JSON download (#5814)
removed dead code
2026-02-12 08:54:13 -05:00
ohif-bot
f81a7543fc chore(version): Update package versions to 3.13.0-beta.11 [skip ci] 2026-02-12 13:52:29 +00:00
Dan Rukas
9a2691a71f
fix(colors): Replaces legacy colors with ui-next colors (#5351)
* Update playwright screenshots and fix broken tests.

---------

Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
2026-02-12 08:48:05 -05:00
ohif-bot
4dfd80f1fd chore(version): Update package versions to 3.13.0-beta.10 [skip ci] 2026-02-11 15:04:41 +00:00
Ghadeer Albattarni
baef707e46
fix(microscopy): Prevent measurement clearing on viewport resize (#5796)
Wrap DicomMicroscopyViewport with React.memo and custom areEqual
to prevent unnecessary re-renders that trigger clearAnnotations().

---------

Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
2026-02-11 10:00:26 -05:00
ohif-bot
7cdc54c86d chore(version): Update package versions to 3.13.0-beta.9 [skip ci] 2026-02-11 14:24:16 +00:00
Bill Wallace
c92bdd5b48
fix: Missing tag (#5808) 2026-02-11 09:20:14 -05:00
ohif-bot
10b0560170 chore(version): Update package versions to 3.13.0-beta.8 [skip ci] 2026-02-11 13:29:58 +00:00
dependabot[bot]
4e9b5c2e22
chore(deps): bump diff from 4.0.2 to 4.0.4 - OHIF-2449 (#5731)
* fix(security): Use resolution for diff package to patch CVE-2026-24001.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
2026-02-11 08:24:34 -05:00
ohif-bot
17b12dc932 chore(version): Update package versions to 3.13.0-beta.7 [skip ci] 2026-02-10 17:01:51 +00:00
Bill Wallace
fb7329f3fe
fix: Add a single version number with commit process (#5746)
* Add a single version number with commit process

* PR review comments
2026-02-10 11:56:52 -05:00
ohif-bot
912715407c chore(version): Update package versions [skip ci] 2026-02-10 16:19:44 +00:00
ohif-bot
99ff2453db chore(version): version.json [skip ci] 2026-02-10 16:19:36 +00:00
dependabot[bot]
b8adfdfc84
chore(deps): bump lodash-es from 4.17.21 to 4.17.23 - OHIF-2441 (#5736)
* fix(security): Moved react-color dependency to default extension because it is only used there.
Addressed CVE-2025-13465 by adding lodash-es as a resolution.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
2026-02-10 11:15:21 -05:00
ohif-bot
eb5065ca6c chore(version): Update package versions [skip ci] 2026-02-10 15:08:00 +00:00
ohif-bot
0a751461b3 chore(version): version.json [skip ci] 2026-02-10 15:07:55 +00:00
dependabot[bot]
02f99d5638
chore(deps): bump lodash from 4.17.21 to 4.17.23 - OHIF-2438 (#5744)
* fix(security): Update lodash to 4.17.23 using a resolution.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
2026-02-10 10:04:20 -05:00
ohif-bot
05d979f88d chore(version): Update package versions [skip ci] 2026-02-10 12:55:03 +00:00
ohif-bot
fdeb59d635 chore(version): version.json [skip ci] 2026-02-10 12:54:55 +00:00
Igor Octaviano
037402f7f6
fix: Better handle octet stream case (#5789)
* Better handle octet stream case

* Use data source config stack options

* Use immutability helper

* Use immutability helper (update)

---------

Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2026-02-10 07:50:41 -05:00
ohif-bot
5837e6507e chore(version): Update package versions [skip ci] 2026-02-10 02:57:18 +00:00
ohif-bot
42634da189 chore(version): version.json [skip ci] 2026-02-10 02:57:09 +00:00
Ghadeer Albattarni
7f9e59ee30
fix(app): display study not found message for all modes (#5752)
* fix(app): move study validation to ModeRoute component

- Moved validation from defaultRouteInit.ts to Mode.tsx
- Added dedicated useEffect hook for study validation

* test: add Playwright test for study not found error page across multiple modes
2026-02-09 21:51:44 -05:00
ohif-bot
3c0dd39054 chore(version): Update package versions [skip ci] 2026-02-10 02:24:12 +00:00
ohif-bot
009e0e875d chore(version): version.json [skip ci] 2026-02-10 02:24:05 +00:00
Ghadeer Albattarni
f70c9b932d
fix(cine): prevent crash on second view/hydration of SR series (#5724)
* test: add Playwright test for SR series reload after hydration

* docs: remove Playwright VSCode extension video
2026-02-09 21:20:11 -05:00
ohif-bot
7bcb6b8a94 chore(version): Update package versions [skip ci] 2026-02-09 21:47:54 +00:00
ohif-bot
7c8ca269d3 chore(version): version.json [skip ci] 2026-02-09 21:47:48 +00:00
Joe Boccanfuso
94c9e162f3
fix(security): Use a resolution for axios to address CVE-2026-25639. (#5793) 2026-02-09 16:43:50 -05:00
ohif-bot
c10f0592f6 chore(version): Update package versions [skip ci] 2026-02-07 16:24:34 +00:00
ohif-bot
cbd0181523 chore(version): version.json [skip ci] 2026-02-07 16:24:27 +00:00
Joe Boccanfuso
47092fe1ac
chore(ci): move to next version [BUMP BETA] (#5790) 2026-02-07 11:20:05 -05:00
ohif-bot
891d6570c1 chore(version): Update package versions [skip ci] 2026-02-05 22:02:12 +00:00
ohif-bot
48f8e806c3 chore(version): version.json [skip ci] 2026-02-05 22:02:05 +00:00
Joe Boccanfuso
45739b31a2
fix(jump-to-contour-segment): For contours like those from RSTRUCTs, use generic jumpToSegmentCenter if a segment center is available. (#5785) 2026-02-05 16:57:15 -05:00
ohif-bot
54ff608605 chore(version): Update package versions [skip ci] 2026-02-05 16:55:14 +00:00
ohif-bot
710fefe3e8 chore(version): version.json [skip ci] 2026-02-05 16:55:06 +00:00
Bill Wallace
48f2f6fb13
fix(HistoryMemo): Segmentation delete wasn't remembered (#5775)
Will address a few more comments in a separate PR released after this one into 3.13

* fix(HistoryMemo): Segmentation delete wasn't remembered

* Temporary add of package.json linking

* fix: Use newer dcmjs version and delete segmentation with history cs3d
2026-02-05 11:49:49 -05:00
ohif-bot
3b9d3babf9 chore(version): Update package versions [skip ci] 2026-02-04 21:17:59 +00:00
ohif-bot
e71a20334a chore(version): version.json [skip ci] 2026-02-04 21:17:50 +00:00
Joe Boccanfuso
512aa3b07f
fix(jump-to-label-map): Use undefined for viewportId for arrow navigation. (#5774)
* Update to CS3D 4.15.28.
2026-02-04 16:12:41 -05:00
ohif-bot
c40ebd2124 chore(version): Update package versions [skip ci] 2026-01-30 18:57:26 +00:00
ohif-bot
ceb61fce15 chore(version): version.json [skip ci] 2026-01-30 18:57:20 +00:00
Joe Boccanfuso
9a97095d5c
chore(deps): Update cornerstonejs dependencies to 4.15.24. (#5764) 2026-01-30 13:53:28 -05:00
ohif-bot
a448bafbc5 chore(version): Update package versions [skip ci] 2026-01-30 16:22:51 +00:00
ohif-bot
2da384ccbc chore(version): version.json [skip ci] 2026-01-30 16:22:44 +00:00
Joe Boccanfuso
02423c5bf3
fix(segmentation): Use jumpToSegmentNext instead of jumpToSegmentCenter for arrow navigation. (#5759)
* fix(segmentation): Use jumpToSegmentNext instead of jumpToSegmentCenter for arrow navigation.

* Fixed unit tests.
2026-01-30 11:18:01 -05:00
Bill Wallace
5807889f79
Fix/duplicate redundant log measurement mapping (#5760)
* Remove all but one log message for mappings.

* fix: NPE when no segmentations list returned.
2026-01-30 11:16:37 -05:00
ohif-bot
a4c99e6926 chore(version): Update package versions [skip ci] 2026-01-28 19:06:09 +00:00
ohif-bot
f4ac95f96f chore(version): version.json [skip ci] 2026-01-28 19:06:03 +00:00
Joe Boccanfuso
76199884de
chore(security): Ignore node-tar vulnerability. (#5753) 2026-01-28 14:02:08 -05:00
ohif-bot
64cd189cce chore(version): Update package versions [skip ci] 2026-01-27 15:18:13 +00:00
ohif-bot
8f13d92fa8 chore(version): version.json [skip ci] 2026-01-27 15:18:06 +00:00
Devu-trenser
6dedf5573e
fix: Handle optional ContentSequence for NUM content items (#5703)
* fix: SR validation

* Adding links to cs3d

* Update to dcmjs 0.48.0

* Update package files to include updated adapter

* Update package files

---------

Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
Co-authored-by: arul-trenser <arul.mozhi@trenser.com>
2026-01-27 10:13:55 -05:00
ohif-bot
b69abf25ee chore(version): Update package versions [skip ci] 2026-01-27 13:51:49 +00:00
ohif-bot
891012397b chore(version): version.json [skip ci] 2026-01-27 13:51:42 +00:00
Joe Boccanfuso
06612fe177
fix(TMTV): Consider blend mode when adding segmentation representations. OHIF-2416, OHIF-2369 (#5735)
* Updated screenshots for failing tests due to FOV improvements.

---------

Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2026-01-27 08:47:29 -05:00
ohif-bot
0321361e2c chore(version): Update package versions [skip ci] 2026-01-22 19:16:07 +00:00
ohif-bot
1bc0dece64 chore(version): version.json [skip ci] 2026-01-22 19:15:58 +00:00
Bill Wallace
0fd517d6ab
fix: Navigate to contour should work (#5718)
* fix: Navigate to contour should work

* Switched back to jump to segment center for hte unit tests
2026-01-22 14:10:40 -05:00
ohif-bot
b2f6e1f237 chore(version): Update package versions [skip ci] 2026-01-22 03:03:33 +00:00
ohif-bot
dbb7873238 chore(version): version.json [skip ci] 2026-01-22 03:03:26 +00:00
zhenggu_rkie
afe184ec78
fix: the null value check issue in image spacing calculation (#5726)
Co-authored-by: 顾争 <zheng.gu-rd@djhealthunion.com.cn>
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2026-01-21 21:59:20 -05:00
ohif-bot
3cfddc1f64 chore(version): Update package versions [skip ci] 2026-01-21 18:07:03 +00:00
ohif-bot
1142cdbb46 chore(version): version.json [skip ci] 2026-01-21 18:06:56 +00:00
Joe Boccanfuso
320f0a7463
fix(security): Ignore CVE-2026-23745, CVE-2026-23950 and CVE-2024-28863 because they are limited to build/dev environments. (#5733)
The tar vulnerabilities affect build-time tools (lerna) and transitive dependencies, but not runtime data flow from Cornerstone3D to its dependencies.
2026-01-21 13:02:40 -05:00
ohif-bot
16267d9ddd chore(version): Update package versions [skip ci] 2026-01-16 02:28:46 +00:00
ohif-bot
88e4a9fb7b chore(version): version.json [skip ci] 2026-01-16 02:28:40 +00:00
Joe Boccanfuso
4a1f509865
fix(microscopy): Update microscope to 0.48.17 to fix a measurement exception. (#5710)
* Added documentation for locally linking dicom-microscopy-viewer.
2026-01-15 21:24:31 -05:00
ohif-bot
c2efa5701e chore(version): Update package versions [skip ci] 2026-01-14 21:55:47 +00:00
ohif-bot
7f1c2910eb chore(version): version.json [skip ci] 2026-01-14 21:55:38 +00:00
Joe Boccanfuso
eb6b814fc9
fix(window-level-action-menu): Window level menu no longer needs two clicks to open after it is used (#5711)
The window level menu's logic for when it is opened and closed now also runs when the AllInOneMenu triggers the open or close.
Using refs to store the latest function references in the AllInOneMenu component to avoid triggering a useEffect when the functions change.
Removed an unused element prop from the WindowLevelActionMenu component.
2026-01-14 16:50:24 -05:00
Joe Boccanfuso
612ced0ea1
chore(deps): update CS3D to 4.15.9 to fix OHIF issues 5656 and 5639. (#5714) 2026-01-14 16:48:55 -05:00
ohif-bot
0995616567 chore(version): Update package versions [skip ci] 2026-01-13 21:02:21 +00:00
ohif-bot
210ebf26f6 chore(version): version.json [skip ci] 2026-01-13 21:02:14 +00:00
Joe Boccanfuso
82e6a18735
fix(segmentation): List surface representations in the segmentation table for 3D views. (#5700)
This was done by using an array of representation types instead of a single type for a panel.
The first element of the array is the primary type of the panel, and the rest are secondary types
that can also be displayed in the panel.

PR feedback:
- added test to check number of segments in side panel for 3D only view
- fixed jumping to segment in 3D only view
- fixed exception when adding contour segment in 3D only view
2026-01-13 15:57:44 -05:00
ohif-bot
83c9ce0f5f chore(version): Update package versions [skip ci] 2026-01-12 12:33:06 +00:00
ohif-bot
e06b1786e0 chore(version): version.json [skip ci] 2026-01-12 12:32:59 +00:00
Joe Boccanfuso
aba4855276
fix(segmentation): Update cornerstone dependencies to fix a segmentation exception after capture. (#5701) 2026-01-12 07:29:04 -05:00
ohif-bot
6f847cb053 chore(version): Update package versions [skip ci] 2026-01-09 19:57:27 +00:00
ohif-bot
b55f4985e0 chore(version): version.json [skip ci] 2026-01-09 19:57:20 +00:00
dependabot[bot]
00d04162b2
chore(deps): bump react-router from 6.30.1 to 6.30.3 (#5704) 2026-01-09 14:53:01 -05:00
ohif-bot
33575b769e chore(version): Update package versions [skip ci] 2026-01-08 19:40:28 +00:00
ohif-bot
36581696c9 chore(version): version.json [skip ci] 2026-01-08 19:40:21 +00:00
Joe Boccanfuso
6429a5518a
fix(DicomTagBrowser): Check for null metadata. (#5696) 2026-01-08 14:35:45 -05:00
ohif-bot
c34ede8570 chore(version): Update package versions [skip ci] 2026-01-07 21:18:36 +00:00
ohif-bot
0474168b44 chore(version): version.json [skip ci] 2026-01-07 21:18:29 +00:00
Joe Boccanfuso
ecc74a53e0
fix(segmentation): Use active segmentation for navigation. (#5692) 2026-01-07 16:14:20 -05:00
ohif-bot
18636734ec chore(version): Update package versions [skip ci] 2026-01-06 20:32:12 +00:00
ohif-bot
0cf3b0b335 chore(version): version.json [skip ci] 2026-01-06 20:32:05 +00:00
Joe Boccanfuso
38a8406a66
fix(capture): Ensure download filename has the correct extension. (#5691) 2026-01-06 15:27:44 -05:00
ohif-bot
a51552a2e7 chore(version): Update package versions [skip ci] 2026-01-06 13:14:33 +00:00
ohif-bot
7386d1fc01 chore(version): version.json [skip ci] 2026-01-06 13:14:27 +00:00
Alireza
a74648f8ec
fix: NM multiframe with TimeSlotVector (#5666)
* fix(ViewportWindowLevel): add null checks for volumeActor in opacity functions

* refactor(ViewportWindowLevel): register histogram worker at module load and optimize scalar data retrieval

* fix(Preclinical4D): add null check for viewportId and set frame rate for cine playback

* fix(getSopClassHandlerModule): handle multiframe dynamic volumes by utilizing metaData for instance retrieval

---------

Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2026-01-06 08:10:01 -05:00
ohif-bot
fec661318c chore(version): Update package versions [skip ci] 2026-01-05 18:56:32 +00:00
ohif-bot
09c8af50b7 chore(version): version.json [skip ci] 2026-01-05 18:56:24 +00:00
Joe Boccanfuso
6931c6b7fa
chore(deps): update cs3d dependencies (#5688) 2026-01-05 13:51:23 -05:00
ohif-bot
233f73b7eb chore(version): Update package versions [skip ci] 2026-01-05 17:28:26 +00:00
ohif-bot
017c7dff27 chore(version): version.json [skip ci] 2026-01-05 17:28:19 +00:00
Joe Boccanfuso
ca364a3af7
fix(security): update qs package to fix vulnerability CVE-2025-15284 (#5686)
fixes: qs's arrayLimit bypass in its bracket notation allows DoS via memory exhaustion
2026-01-05 12:23:34 -05:00
ohif-bot
50f6b52bbd chore(version): Update package versions [skip ci] 2025-12-19 19:50:23 +00:00
ohif-bot
3b34296d2b chore(version): version.json [skip ci] 2025-12-19 19:50:16 +00:00
Bill Wallace
635de2bfcf
Allow doc launch (#5670) 2025-12-19 14:46:08 -05:00
ohif-bot
8626906b0e chore(version): Update package versions [skip ci] 2025-12-19 18:02:00 +00:00
ohif-bot
6a185bfb6e chore(version): version.json [skip ci] 2025-12-19 18:01:52 +00:00
Belbin-GK
cd253f20bd
fix: pass metadata to viewport orientation matching (#5667)
Co-authored-by: Belbin GK <belbin.kunjumon@prenuvo.com>
2025-12-19 12:56:59 -05:00
ohif-bot
e7bc688290 chore(version): Update package versions [skip ci] 2025-12-18 18:39:51 +00:00
ohif-bot
21ab058fdb chore(version): version.json [skip ci] 2025-12-18 18:39:44 +00:00
Joe Boccanfuso
3440f66ebd
fix(segmentation): Update cornerstone dependencies to fix segment visibility issue. (#5664) 2025-12-18 13:35:29 -05:00
ohif-bot
f8f09c2c68 chore(version): Update package versions [skip ci] 2025-12-18 17:06:35 +00:00
ohif-bot
68cf1bb81e chore(version): version.json [skip ci] 2025-12-18 17:06:30 +00:00
Belbin-GK
658994c854
fix: prevent annotation from appearing in active viewport when switching series with different Frame of Reference UID (#5630)
* fix: prevent annotation from appearing in active viewport when switching series with different Frame of Reference UID

* refactor: extract viewport update strategies

* Update version and use nearest orientation viewport

---------

Co-authored-by: trenser-belbin <belbin.kunjumon@prenuvo.com>
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2025-12-18 12:02:52 -05:00
ohif-bot
0af4c2ae47 chore(version): Update package versions [skip ci] 2025-12-18 14:38:06 +00:00
ohif-bot
fad77aa188 chore(version): version.json [skip ci] 2025-12-18 14:37:59 +00:00
Joe Boccanfuso
f3beb8e711
fix(segmentation): When setting the segmentation style and the representation type is not provided, apply the style to all representation types. (#5662) 2025-12-18 09:33:54 -05:00
ohif-bot
fcfc2b4eb8 chore(version): Update package versions [skip ci] 2025-12-17 21:57:16 +00:00
ohif-bot
f296247cc1 chore(version): version.json [skip ci] 2025-12-17 21:57:09 +00:00
nithin-trenser
ef98516b4f
fix: Jump to measurement from measurement panel after rotating viewport (#5090)
Requested issues were resolved.  Approved this and am merging.

* sort the viewports based on the closest orientation as that of measurement

* fix: Separate out function for finding viewport alignment

---------

Co-authored-by: Arul Mozhi J <arul.mozhi@trenser.com>
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2025-12-17 16:52:45 -05:00
ohif-bot
df40ffbf12 chore(version): Update package versions [skip ci] 2025-12-16 19:05:52 +00:00
ohif-bot
5fc1c44b1e chore(version): version.json [skip ci] 2025-12-16 19:05:45 +00:00
dxlin
b2c469d087
fix/RTStructInlineBinaryContourData (#5611)
* -check for ContourData still in InlineBinary format and perform conversion
2025-12-16 14:01:15 -05:00
ohif-bot
42168442b9 chore(version): Update package versions [skip ci] 2025-12-16 02:19:36 +00:00
ohif-bot
f01be6aedc chore(version): version.json [skip ci] 2025-12-16 02:19:29 +00:00
Alireza
2de81efa7e
fix: preclinical mode not working (#5631)
* fix(ViewportWindowLevel): add null checks for volumeActor in opacity functions

* refactor(ViewportWindowLevel): register histogram worker at module load and optimize scalar data retrieval

* fix(Preclinical4D): add null check for viewportId and set frame rate for cine playback
2025-12-15 21:15:11 -05:00
ohif-bot
84d0d8866b chore(version): Update package versions [skip ci] 2025-12-15 13:54:44 +00:00
ohif-bot
7056148ada chore(version): version.json [skip ci] 2025-12-15 13:54:36 +00:00
Devu-trenser
6c628e0937
fix: seg sync for data without FOR (#5565)
* fix: seg sync for data without FOR

* test commit to trigger deploy re-run

* test commit to trigger deploy re-run

* Revert "test commit to trigger deploy re-run"

This reverts commit 42c532c6f404798e39e3d137fff7c1e7569956ad.

* chore: comments updated

* review commnets

---------

Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2025-12-15 08:49:43 -05:00
ohif-bot
31ac27d5a0 chore(version): Update package versions [skip ci] 2025-12-12 16:51:13 +00:00
ohif-bot
46d5bc6cf6 chore(version): version.json [skip ci] 2025-12-12 16:51:06 +00:00
Vinícius Alves de Faria Resende
d917e74e68
tests(Playwright): Full implementation of Page Object Models (POMs) to Playwright tests (#5608) 2025-12-12 11:46:45 -05:00
ohif-bot
7b12dcf048 chore(version): Update package versions [skip ci] 2025-12-12 15:51:24 +00:00
ohif-bot
062d18c950 chore(version): version.json [skip ci] 2025-12-12 15:51:16 +00:00
Martin Bellehumeur, M. Eng.
181c0f32c5
chore: update French i18n (#5561) 2025-12-12 10:46:56 -05:00
nithin-trenser
ba140a05f7
fix: Console error on loading SR report (#5600)
* fixed console error

* Added check for SCOORD3D
2025-12-11 09:36:39 -05:00
ohif-bot
88188ad0c4 chore(version): Update package versions [skip ci] 2025-12-10 21:43:24 +00:00
ohif-bot
3609b162be chore(version): version.json [skip ci] 2025-12-10 21:43:17 +00:00
Dan Rukas
eef755ef05
fix(routes): display 404 feedback page for unmatched URLs (#5627)
* Added 404 feedback and design

* restore message and showGoBackButton props
2025-12-10 16:39:17 -05:00
Dan Rukas
c0f39aeb51
fix(DataSource): migrate configuration dialog to ui-next components (#5626)
* Fix to show data source on study list

* Update Button in Dialog select rows

* Updated legacy colors, small design updates

* Update dialog sizing
2025-12-10 16:38:25 -05:00
ohif-bot
3a5def6eb7 chore(version): Update package versions [skip ci] 2025-12-09 22:24:37 +00:00
ohif-bot
7e148ef197 chore(version): version.json [skip ci] 2025-12-09 22:24:30 +00:00
Ghadeer Albattarni
8dde2237a2
fix(seg-viewport): add guard for missing reference display set handler to prevent viewport crash (#5618) 2025-12-09 17:20:11 -05:00
ohif-bot
442ee68599 chore(version): Update package versions [skip ci] 2025-12-05 13:11:03 +00:00
ohif-bot
dc91c07fd5 chore(version): version.json [skip ci] 2025-12-05 13:10:56 +00:00
Belbin-GK
c4e5a4616d
feat(notification): add custom notification component support (#5605)
* feat: add custom notification component support

* update the documentation of UINotificationService to support custom component integration

---------

Co-authored-by: trenser-belbin <belbin.kunjumon@prenuvo.com>
2025-12-05 08:06:32 -05:00
ohif-bot
fd86a9e3e8 chore(version): Update package versions [skip ci] 2025-12-04 17:30:48 +00:00
ohif-bot
b85141ed2f chore(version): version.json [skip ci] 2025-12-04 17:30:39 +00:00
Bill Wallace
77f9f8e1c4
fix: Initial sort not consistent (#5224)
* fix: Initial sort not consistent

* Add better sort criteria

* Remove sorting changes

* Start replacing screen shots

* Update bun lock for version

* Leave default sort for test mode

* fix: Add consistent sorting for same series splits

* PR comments

* docs: add notes for series/display set sort

* Updated example docs

* Update sortVector to be compareSameStudy

* Add unit test

* PR comments
2025-12-04 12:26:21 -05:00
ohif-bot
14bc99124d chore(version): Update package versions [skip ci] 2025-12-03 22:37:56 +00:00
ohif-bot
d1388ac9c8 chore(version): version.json [skip ci] 2025-12-03 22:37:49 +00:00
Dan Rukas
6566354986
fix(clipboard): Adds tooltip clipboard icon feedback when copy fails (#5609)
* Added missing icon feedback

* fixed colors
2025-12-03 17:33:37 -05:00
ohif-bot
ff5ead6284 chore(version): Update package versions [skip ci] 2025-12-03 20:40:56 +00:00
ohif-bot
58c2cc70cf chore(version): version.json [skip ci] 2025-12-03 20:40:48 +00:00
Belbin-GK
1aa4431121
fix: skip VOI sync for empty viewports (#5599)
Co-authored-by: trenser-belbin <belbin.kunjumon@prenuvo.com>
2025-12-03 15:36:30 -05:00
ohif-bot
4e5d5a7701 chore(version): Update package versions [skip ci] 2025-12-02 18:05:56 +00:00
ohif-bot
6b18aa085d chore(version): version.json [skip ci] 2025-12-02 18:05:49 +00:00
dependabot[bot]
740dd7fe5f
chore(deps): bump node-forge from 1.3.1 to 1.3.2 in /platform/docs (#5592)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
2025-12-02 13:00:17 -05:00
ohif-bot
5b75a6a56a chore(version): Update package versions [skip ci] 2025-12-02 14:53:29 +00:00
ohif-bot
3dba8dbc9f chore(version): version.json [skip ci] 2025-12-02 14:53:23 +00:00
Bill Wallace
4471416c30
fix: sculptor tool fixes (#5595)
Note: FOSSA check is invalid, but we don't have the ignore FOSSA version included.

* fix: sculptor tool fixes

* Add yarn

* update vtk.js version as well to match
2025-12-02 09:49:09 -05:00
ohif-bot
a7229bb022 chore(version): Update package versions [skip ci] 2025-12-02 14:13:17 +00:00
ohif-bot
55ea706768 chore(version): version.json [skip ci] 2025-12-02 14:13:09 +00:00
dependabot[bot]
6d6ce0ddae
chore(deps): bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /platform/docs (#5602)
* Fix node-forge security alerts as well.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
2025-12-02 09:08:43 -05:00
ohif-bot
0f26588c4b chore(version): Update package versions [skip ci] 2025-11-25 14:17:18 +00:00
ohif-bot
446f58eb76 chore(version): version.json [skip ci] 2025-11-25 14:17:11 +00:00
Pedro Köhler
411553ee91
feat: tooltips for tool settings (#5586) 2025-11-25 09:13:01 -05:00
ohif-bot
e0d74a6674 chore(version): Update package versions [skip ci] 2025-11-24 18:14:22 +00:00
ohif-bot
7d0a3e6ce7 chore(version): version.json [skip ci] 2025-11-24 18:14:14 +00:00
Alireza
29cfb2c299
docs(docs): Correct grammar in README.md for clarity (#5584) 2025-11-24 13:09:50 -05:00
Joe Boccanfuso
94b0358f18
fix(docs): Empty commit as an attempt to fix the docs build. (#5582) 2025-11-24 09:46:21 -05:00
ohif-bot
173f42010b chore(version): Update package versions [skip ci] 2025-11-21 18:11:46 +00:00
ohif-bot
c5a51607c9 chore(version): version.json [skip ci] 2025-11-21 18:11:39 +00:00
Bill Wallace
57205703bb
Fix contour annotations RTSS saving (#5545)
* [WIP] Fix contour annotations RTSS saving

* fix: Export image sop image reference provider

* Fixes for download with filename

* Updates to fix metadata issues with CS3D

* Updates to save menu

* Fixing some additional re-save metadata

* Add support for saving with predecessor image sequence

* PR comment fixes

* fix: Load RTSS after save

* fix segmentation save

* fix load of mixed seg/rt studies

* Use frame module to get information on the frame shown

* Fix study browser to use instances.length when numImageFrames not present

* fix: Load of display set split from multiple non-FOR referenes

* Fix RT and SEG applying to wrong series because of using
referenced series sequence without checkout sop instances

* Fix save seg

* Update to released CS3D versions

* test: Add revokeObjectURL to test download blob

* Add hard dependency on mode-basic to fix build order issues

* fix: build

* Try to fix build segmentation

* PR comments

* PR comment update
2025-11-21 13:07:26 -05:00
ohif-bot
9c5043ca2c chore(version): Update package versions [skip ci] 2025-11-21 14:47:02 +00:00
ohif-bot
9899d3f623 chore(version): version.json [skip ci] 2025-11-21 14:46:55 +00:00
Dan Rukas
62d6bf437b
fix(DicomUpload): Switch to use ui-next components and colors (#5576)
* Replaced legacy Button

* Updated Dialog width

* Restore text and spacing fixes

* Updated drop zone styling

* Migrated to ui-next colors
2025-11-21 09:42:14 -05:00
ohif-bot
4dc8debb02 chore(version): Update package versions [skip ci] 2025-11-20 14:33:45 +00:00
ohif-bot
f72c47568b chore(version): version.json [skip ci] 2025-11-20 14:33:38 +00:00
Vinícius Alves de Faria Resende
bdad2264ed
tests(Playwright): Introduction of Page Object Models (POMs) to Playwright tests (#5557) 2025-11-20 09:29:14 -05:00
ohif-bot
1c991037ee chore(version): Update package versions [skip ci] 2025-11-20 01:08:59 +00:00
ohif-bot
44eafe16c1 chore(version): version.json [skip ci] 2025-11-20 01:08:52 +00:00
Igor Octaviano
9ca02b4071
fix: Remove dead code and fix rectangle roi rehydration (#5490)
* Remove dead code and fix rectangle roi rehydration

* Revert bun.lock

* Remove hardcoded modality

* Add e2e tests

* Update screewnshots

* Adjustments to tests

* disabvle test for now

* Add test again

* Use ohif data soure

* Revert changes

* Test

* Update testdata to include point

* Improve tests

* Update screenshot

---------

Co-authored-by: Andrey Fedorov <andrey.fedorov@gmail.com>
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2025-11-19 20:04:23 -05:00
ohif-bot
0be3b950b7 chore(version): Update package versions [skip ci] 2025-11-19 23:00:57 +00:00
ohif-bot
186e9caeaa chore(version): version.json [skip ci] 2025-11-19 23:00:48 +00:00
Joe Boccanfuso
5c17c262ea
fix(SegmentationStyle): Fix inactive contour visibility and styling. (#5563)
* Opacity, fill and outline properties for active and inactive contours
are now consistent with those for label map segmentations.
The properties for inactive segmentations are applied to BOTH
inactive contours and label maps.

* Activate the selected segmentation for a type when the alpha, outline width, or fill/outline visibility is changed.
2025-11-19 17:55:53 -05:00
dependabot[bot]
62797acd9a
chore(deps): bump glob from 10.4.5 to 10.5.0 (#5572)
Ignore CVE-2025-64756 (aka GHSA-5j98-mcp5-4vw2) in bun audit.

Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
2025-11-19 08:43:58 -05:00
ohif-bot
b15c002f60 chore(version): Update package versions [skip ci] 2025-11-13 12:17:23 +00:00
ohif-bot
9b4e66c868 chore(version): version.json [skip ci] 2025-11-13 12:17:16 +00:00
Joe Boccanfuso
02f6744dab
fix(segmentation): Allow for manually added label map and contour segmentations to be used as viewport data overlays. (#5562) 2025-11-13 07:12:28 -05:00
ohif-bot
5c44fe06dc chore(version): Update package versions [skip ci] 2025-11-11 13:24:22 +00:00
ohif-bot
b71952ec86 chore(version): version.json [skip ci] 2025-11-11 13:24:16 +00:00
Joe Boccanfuso
834ae3c762
fix(interpolation): Auto accept interpolation when the interpolation process is completed. (#5555)
* Update Cornerstone3D packages to 4.9.1.
2025-11-11 08:19:45 -05:00
ohif-bot
79fab8d70d chore(version): Update package versions [skip ci] 2025-11-10 21:14:05 +00:00
ohif-bot
ace476649f chore(version): version.json [skip ci] 2025-11-10 21:13:57 +00:00
Nilesh Gautam
58aa0d1eaa
fix(dev): update webpack proxy config syntax for Orthanc dev mode (#5531)
* fix(dev): update webpack proxy config syntax for Orthanc dev mode

* Add datasources and rename dicomweb to orthancProxy datasource

---------

Co-authored-by: Nilesh Gautam <nilesh.gautam@radpretation.ai>
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2025-11-10 16:08:50 -05:00
ohif-bot
bb45cb24b5 chore(version): Update package versions [skip ci] 2025-11-06 13:51:02 +00:00
ohif-bot
2a07964002 chore(version): version.json [skip ci] 2025-11-06 13:50:55 +00:00
Devu-trenser
16233d980f
feat(metadata): metadata access improvement (#5292)
* feat(metadata): metadata access improvement

* feat: Make a few fields commonly used at the instance level inherit multiframe
2025-11-06 08:46:01 -05:00
ohif-bot
9413219206 chore(version): Update package versions [skip ci] 2025-11-05 17:05:25 +00:00
ohif-bot
14d62ce180 chore(version): version.json [skip ci] 2025-11-05 17:05:18 +00:00
Joe Boccanfuso
a0556b08be
fix(segmentation): When synchronizing a segmentation representation, use the type of the source viewport segmentation to determine the type of the target viewport segmentation (#5546) 2025-11-05 12:00:41 -05:00
ohif-bot
bee60a5482 chore(version): Update package versions [skip ci] 2025-11-05 15:39:24 +00:00
ohif-bot
5c496c7f02 chore(version): version.json [skip ci] 2025-11-05 15:39:17 +00:00
Vinícius Alves de Faria Resende
29bd87c8c0
fix(SegmentationTools): [Bug] Changes of brush/eraser radius with hotkey do not reflect on segmentation tool (#5535) 2025-11-05 10:34:41 -05:00
ohif-bot
0c8ab01d34 chore(version): Update package versions [skip ci] 2025-11-05 15:16:28 +00:00
ohif-bot
f15887c9bf chore(version): version.json [skip ci] 2025-11-05 15:16:20 +00:00
Abhijith Sb
2481208f31
Fix : Problems related to measurement operation undo (#5541)
fixed the console error while undoing a removed annotation
2025-11-05 10:11:26 -05:00
ohif-bot
74c92fa601 chore(version): Update package versions [skip ci] 2025-10-30 20:09:19 +00:00
ohif-bot
beb6a73bc7 chore(version): version.json [skip ci] 2025-10-30 20:09:11 +00:00
Joe Boccanfuso
000e42e9a6
fix(security): Exact versioning and docs dependabot alerts (#5536) 2025-10-30 16:04:19 -04:00
ohif-bot
9ad7623a25 chore(version): Update package versions [skip ci] 2025-10-29 18:22:19 +00:00
ohif-bot
eb564aec5e chore(version): version.json [skip ci] 2025-10-29 18:22:11 +00:00
Joe Boccanfuso
35bfc9b0cc
feature(segmentation): Add contour tools and utilities in a side panel (#5517)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Dan Rukas <dan.rukas@gmail.com>
2025-10-29 14:15:52 -04:00
ohif-bot
ab440f086a chore(version): Update package versions [skip ci] 2025-10-28 12:57:15 +00:00
ohif-bot
1d33bcf229 chore(version): version.json [skip ci] 2025-10-28 12:57:08 +00:00
Vinícius Alves de Faria Resende
76f7d4e23a
fix(3DSegmentation): [Bug] The viewports become blank when loading the seg file in advanced layout after closing the seg file from any other advanced layout (#5505) 2025-10-28 08:52:12 -04:00
ohif-bot
afa9131da1 chore(version): Update package versions [skip ci] 2025-10-27 19:21:49 +00:00
ohif-bot
5b5bca5e91 chore(version): version.json [skip ci] 2025-10-27 19:21:42 +00:00
Joe Boccanfuso
1f11c83006
fix(security): Addressed dependabot alert CVE-2025-59288 concerning playwright (#5527) 2025-10-27 15:16:43 -04:00
ohif-bot
1dd4f60034 chore(version): Update package versions [skip ci] 2025-10-24 20:53:28 +00:00
ohif-bot
2013c87ddb chore(version): version.json [skip ci] 2025-10-24 20:53:21 +00:00
Joe Boccanfuso
1009c60911
fix(security): For bun, enforce frozen lockfile. For yarn, strongly suggest using frozen lockfile. (#5508)
* Updated docs for security information.
2025-10-24 16:48:35 -04:00
ohif-bot
b517944cb5 chore(version): Update package versions [skip ci] 2025-10-23 13:17:02 +00:00
ohif-bot
67d6622ae4 chore(version): version.json [skip ci] 2025-10-23 13:16:54 +00:00
Ibrahim
a1544432db
feat(jpeg2000): Add 16-bit RGB support to JPEG2000 decoder (#5519) 2025-10-23 09:11:54 -04:00
ohif-bot
e0e1763472 chore(version): Update package versions [skip ci] 2025-10-22 16:18:31 +00:00
ohif-bot
b844b56839 chore(version): version.json [skip ci] 2025-10-22 16:18:25 +00:00
k3mot
8b9445c442
fix: Fixed the tooltip text of the window button, it was mistakenly written in Chinese in the en-us json (#5513)
Fixed the tooltip text of the window button, it was mistakenly written in Chinese in the en-US json

Co-authored-by: Tom Avitan <tom.avitan@aidoc.com>
2025-10-22 12:14:00 -04:00
ohif-bot
8193311841 chore(version): Update package versions [skip ci] 2025-10-22 15:00:24 +00:00
ohif-bot
c83710fa78 chore(version): version.json [skip ci] 2025-10-22 15:00:18 +00:00
Joe Boccanfuso
e07a87dcae
chore(workflow): Run playwright tests for release branch PRs. (#5515) 2025-10-22 10:55:46 -04:00
ohif-bot
2bc0647861 chore(version): Update package versions [skip ci] 2025-10-21 16:03:13 +00:00
ohif-bot
2a01dcce29 chore(version): version.json [skip ci] 2025-10-21 16:03:06 +00:00
Joe Boccanfuso
1df4f843fe
fix(segmentation): Fixed the manual scrolling of the segments list and implemented automatic scrolling to the active segment. (#5510)
The height of the list container is now calculated based on a parent div instead of itself.
DataRow component now has a forward ref to allow for automatic scrolling.

Added better detection to the useDynamicMaxHeight hook for when to recalculate the max height using intersection observers.

The useEffect for scrolling a segment into view used to be excessively called to the point
where it was auto scrolling after the user manually scrolled. The auto scroll useEffect is
now dependent on the segment index changing which should only happen once per active segment change.
2025-10-21 11:58:23 -04:00
ohif-bot
cf0b561a49 chore(version): Update package versions [skip ci] 2025-10-20 17:12:13 +00:00
ohif-bot
f1675559ee chore(version): version.json [skip ci] 2025-10-20 17:12:07 +00:00
Ibrahim
ffd9ec3273
fix(rendering): Fix palette color LUT conversion causing black images (#5509)
The palette color LUT was incorrectly handling 16 bit entries, and didn't work for both array buffers and typed arrays.
2025-10-20 13:07:39 -04:00
ohif-bot
66e6d73ad6 chore(version): Update package versions [skip ci] 2025-10-20 15:28:17 +00:00
ohif-bot
07c45d0364 chore(version): version.json [skip ci] 2025-10-20 15:28:10 +00:00
Bill Wallace
503780247c
fix: Pass the correct sop uid + frame for rehydration to prevent associating rehydrated measurements with the wrong data (#5506)
* fix: [#2404] by passing the right sop uid map

* Update PR with requried CS3D fixes

* Update to released versions - had wrong release number
2025-10-20 11:23:26 -04:00
ohif-bot
82c4a0a8d0 chore(version): Update package versions [skip ci] 2025-10-18 02:18:57 +00:00
ohif-bot
6a523ff78d chore(version): version.json [skip ci] 2025-10-18 02:18:51 +00:00
Joe Boccanfuso
170e860aa1
fix(segmentation): Lock all rehydrated segmentation segments when panelSegmentation.disableEditing is true. (#5503)
* fix(segmentation): Lock all rehydrated segmentation segments when panelSegmentation.disableEditing is true.

* PR feedback.

* PR feedback.

* Added tests for disableEditing and utilities for simulating drag operations.

* Update bun.lock file after merging master.
2025-10-17 22:14:31 -04:00
ohif-bot
3e1d50c8d2 chore(version): Update package versions [skip ci] 2025-10-17 12:19:47 +00:00
ohif-bot
05b80305dc chore(version): version.json [skip ci] 2025-10-17 12:19:40 +00:00
Joe Boccanfuso
4620cc3acf
fix(ErrorBoundary): Allow for details to be shown in production. (#5504)
Added showErrorDetails to config to allow for details to be shown in various runtime environments.
2025-10-17 08:15:13 -04:00
ohif-bot
cf8f4aa120 chore(version): Update package versions [skip ci] 2025-10-17 01:59:53 +00:00
ohif-bot
f75273ece6 chore(version): version.json [skip ci] 2025-10-17 01:59:47 +00:00
Luis Miguel Santos
42aa2df626
fix 5323 unexpected series list filter change from all to recent (#5337)
* fix to unexpected change from All to recent browser study lists because of the search order for the presence of the study in the tab groups and subsequent reset of the active tab state.
Minor comment in the study browser header.

Signed-off-by: Luis M. Santos <luis.santos2@nih.gov>

* chore Added type annotations and cleaned up stylistically.

Signed-off-by: Luis M. Santos <luis.santos2@nih.gov>

* Tighten up a bit of the code to make it easier to follow

* Fix warnings

---------

Signed-off-by: Luis M. Santos <luis.santos2@nih.gov>
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>

Confirm that Alireza's requested change was included.
2025-10-16 21:55:31 -04:00
ohif-bot
be6f3db1ce chore(version): Update package versions [skip ci] 2025-10-17 00:07:14 +00:00
ohif-bot
c41dbc8236 chore(version): version.json [skip ci] 2025-10-17 00:07:08 +00:00
Luis Miguel Santos
53694da216
[Ready] fix 5288 removal of accept header options in retrieve metadata (#5293)
* chore: Minor adjustment to generateAcceptHeader function signature to reflect expected return type.

Signed-off-by: Luis M. Santos <luis.santos2@nih.gov>

* fix: Added switch to skip the Accept header generation when requesting metadata. WADO metadata request is more likely to return JSON and some VNAs do not like the extra options in the Accept header. Also, passing an empty array is not sufficient because somewhere we still include a comma that breaks the Accept header. It's better to omit it for the metadata request only.

Signed-off-by: Luis M. Santos <luis.santos2@nih.gov>

* chore: Added new HeadersInterface interface type docstrings.

Signed-off-by: Luis M. Santos <luis.santos2@nih.gov>

* chore: Refactored getAuthorizationHeader() function signature so it is typed checked. Of course, I upgraded the module to a TypeScript module.
Moved the request header interfaces into its own TypeScript module (RequestHeaders.ts) in the core types.

Signed-off-by: Luis M. Santos <luis.santos2@nih.gov>

* chore: Refactored the user logic to include a TypeScript interface. As a result, upgraded the source file to TypeScript.
Removed the User interface from RequestHeaders module and moved them to the user module.

Signed-off-by: Luis M. Santos <luis.santos2@nih.gov>

* chore: Updated function signatures, user import, and confirmed unit tests are passing.

Signed-off-by: Luis M. Santos <luis.santos2@nih.gov>

* chore: Minor stylistic adjustment to getAuthorizationHeader.test.ts

Signed-off-by: Luis M. Santos <luis.santos2@nih.gov>

* chore: Added missing comments.

Signed-off-by: Luis M. Santos <luis.santos2@nih.gov>

* chore adjusted generateWadoHeader parameter's name and added comment about the expected default header.

Signed-off-by: Luis M. Santos <luis.santos2@nih.gov>

* Just tweaking the interface a bit to be more consistent.

* fix authorization header signature change

---------

Signed-off-by: Luis M. Santos <luis.santos2@nih.gov>
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
Co-authored-by: Alireza <ar.sedghi@gmail.com>
2025-10-16 20:01:34 -04:00
ohif-bot
9d68b6ef31 chore(version): Update package versions [skip ci] 2025-10-15 14:51:20 +00:00
ohif-bot
2300c70314 chore(version): version.json [skip ci] 2025-10-15 14:51:13 +00:00
Joe Boccanfuso
86e924fb88
fix(docker): Use bun version 1.2.23 for docker build. (#5501) 2025-10-15 10:46:47 -04:00
ohif-bot
e988216b2b chore(version): Update package versions [skip ci] 2025-10-15 13:40:22 +00:00
ohif-bot
23c8fdca00 chore(version): version.json [skip ci] 2025-10-15 13:40:14 +00:00
Devu-trenser
faea09e7ef
fix: Segmentation not displayed and unable to draw segments in volume viewport after converting Labelmap to Surface (#5488)
* fix: unable to draw segment after 3d layout

* comment update

---------
2025-10-15 09:35:26 -04:00
ohif-bot
05ecdfe512 chore(version): Update package versions [skip ci] 2025-10-15 11:37:08 +00:00
ohif-bot
0b6c38e5e0 chore(version): version.json [skip ci] 2025-10-15 11:37:01 +00:00
Pedro Köhler
3137aed017
fix(segmentationService): prevent no representation crash (#5495) 2025-10-15 07:32:27 -04:00
ohif-bot
a1c6b5f3ec chore(version): Update package versions [skip ci] 2025-10-15 04:13:38 +00:00
ohif-bot
be13e7506a chore(version): version.json [skip ci] 2025-10-15 04:13:32 +00:00
Joe Boccanfuso
0d2f4e715a
fix(docs): Set exact version for glob. (#5497) 2025-10-15 00:08:57 -04:00
ohif-bot
37231a5ffe chore(version): Update package versions [skip ci] 2025-10-15 03:11:55 +00:00
ohif-bot
c53ee335ee chore(version): version.json [skip ci] 2025-10-15 03:11:48 +00:00
Joe Boccanfuso
fbd9371884
fix(security): Run bun audit before bun install. (#5496) 2025-10-14 23:07:00 -04:00
ohif-bot
5d57c05217 chore(version): Update package versions [skip ci] 2025-10-14 20:28:31 +00:00
ohif-bot
ec38af8c06 chore(version): version.json [skip ci] 2025-10-14 20:28:24 +00:00
Joe Boccanfuso
c7d2017f08
fix(security): Use exact versioning for dependencies in package.json files. (#5494)
Added bun audit security check in build process.
Removed bun caching.
2025-10-14 16:23:36 -04:00
ohif-bot
3d393df45d chore(version): Update package versions [skip ci] 2025-10-14 17:10:35 +00:00
ohif-bot
2f94e27d3b chore(version): version.json [skip ci] 2025-10-14 17:10:28 +00:00
Ujjwal Kumar Baranwal
e9b57d5731
Update Dockerfile (#5486) 2025-10-14 13:06:01 -04:00
ohif-bot
ff4ffbe975 chore(version): Update package versions [skip ci] 2025-10-14 17:00:02 +00:00
ohif-bot
458311252b chore(version): version.json [skip ci] 2025-10-14 16:59:55 +00:00
Joe Boccanfuso
3fe67d5c98
fix(bun): Use fixed bun version (#5493) 2025-10-14 12:55:32 -04:00
ohif-bot
87f78069e7 chore(version): Update package versions [skip ci] 2025-10-10 13:19:03 +00:00
ohif-bot
f8f7a175c4 chore(version): version.json [skip ci] 2025-10-10 13:18:56 +00:00
Ujjwal Kumar Baranwal
41c028781b
fix: Update Dockerfile (#5484)
* Update Dockerfile

* Update Dockerfile
2025-10-10 09:14:11 -04:00
ohif-bot
f6cf4d127d chore(version): Update package versions [skip ci] 2025-10-09 20:56:01 +00:00
ohif-bot
131fb57cc9 chore(version): version.json [skip ci] 2025-10-09 20:55:54 +00:00
Joe Boccanfuso
efe97cd01d
chore(deps): Update cornerstone3D dependencies. (#5479) 2025-10-09 16:51:34 -04:00
ohif-bot
17e1641226 chore(version): Update package versions [skip ci] 2025-10-08 14:37:01 +00:00
ohif-bot
be1b44a4ba chore(version): version.json [skip ci] 2025-10-08 14:36:52 +00:00
Joe Boccanfuso
84f27593a0
chore(deps): Update Cornerstone 3D to 4.5.3. (#5473) 2025-10-08 10:30:27 -04:00
ohif-bot
2af95988df chore(version): Update package versions [skip ci] 2025-10-07 23:24:02 +00:00
ohif-bot
e2901eb30f chore(version): version.json [skip ci] 2025-10-07 23:23:54 +00:00
Joe Boccanfuso
377d5e2fb6
chore(deps): Update cornerstone dependencies. (#5470) 2025-10-07 19:18:10 -04:00
ohif-bot
d3adeec109 chore(version): Update package versions [skip ci] 2025-10-07 21:45:41 +00:00
ohif-bot
fc3aec7a79 chore(version): version.json [skip ci] 2025-10-07 21:45:34 +00:00
Devu-trenser
78df8ff03a
fix(segmentation): Segmentation not displayed and unable to draw segments when switching back to volume/stack viewport from 3D viewport (#5430)
Co-authored-by: Vinicius Faria <viniciusfariaresende@gmail.com>
2025-10-07 18:40:32 -03:00
ohif-bot
c4902f2b9e chore(version): Update package versions [skip ci] 2025-10-07 18:35:26 +00:00
ohif-bot
1423ecc9d8 chore(version): version.json [skip ci] 2025-10-07 18:35:16 +00:00
devin-ai-integration[bot]
5040c947d2
fix: validation for Percentage of Max SUV input field in TMTV module (#5417)
Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
2025-10-07 14:29:07 -04:00
ohif-bot
c05698c5ec chore(version): Update package versions [skip ci] 2025-10-07 17:29:12 +00:00
ohif-bot
3dd18a453a chore(version): version.json [skip ci] 2025-10-07 17:29:04 +00:00
Vinícius Alves de Faria Resende
2c6ce21c8f
fix(Segmentation): [Bug #5420] Segmentation color resets after using toggleOneUp (#5465) 2025-10-07 13:23:26 -04:00
ohif-bot
0803dce328 chore(version): Update package versions [skip ci] 2025-10-07 15:48:25 +00:00
ohif-bot
990ae853b0 chore(version): version.json [skip ci] 2025-10-07 15:48:17 +00:00
Vinícius Alves de Faria Resende
3c421f124e
test(CornerstoneUtils): Adding unit tests for most of Cornerstone Extension utilities (#5454) 2025-10-07 11:42:47 -04:00
ohif-bot
44beac799f chore(version): Update package versions [skip ci] 2025-10-07 13:15:00 +00:00
ohif-bot
3b4b59c32b chore(version): version.json [skip ci] 2025-10-07 13:14:53 +00:00
Pedro Köhler
7f12f398fb
fix(measurementTrackingMachine): remove unreachable states (#5460) 2025-10-07 09:09:51 -04:00
ohif-bot
891b752e69 chore(version): Update package versions [skip ci] 2025-10-07 12:59:00 +00:00
ohif-bot
42bf9c1484 chore(version): version.json [skip ci] 2025-10-07 12:58:52 +00:00
Pedro Köhler
4d04dd5651
fix(toolbar): prevent duplicate command execution on repeated interactions (#5456) 2025-10-07 08:52:56 -04:00
ohif-bot
9e79e76bab chore(version): Update package versions [skip ci] 2025-10-06 13:44:50 +00:00
ohif-bot
a58371e83b chore(version): version.json [skip ci] 2025-10-06 13:44:43 +00:00
Alireza
d2ae13b03f
fix: viewport ready event firing logic (#5462)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-06 09:39:56 -04:00
ohif-bot
c9b687900e chore(version): Update package versions [skip ci] 2025-10-06 13:35:37 +00:00
ohif-bot
282633f907 chore(version): version.json [skip ci] 2025-10-06 13:35:30 +00:00
Pedro Köhler
e2964bf669
fix(router): opt in to React Router v7 future flags (#5461) 2025-10-06 09:30:36 -04:00
ohif-bot
fae3b25b7b chore(version): Update package versions [skip ci] 2025-10-06 13:01:53 +00:00
ohif-bot
64ee6d529f chore(version): version.json [skip ci] 2025-10-06 13:01:45 +00:00
Sofien-Sellami
792db26ff1
fix: Safely handle missing active viewport (#5448) 2025-10-06 08:56:31 -04:00
ohif-bot
60633a8f3f chore(version): Update package versions [skip ci] 2025-10-06 12:56:17 +00:00
ohif-bot
07eeb8e5fe chore(version): version.json [skip ci] 2025-10-06 12:56:08 +00:00
Igor Octaviano
851e74d7b8
feat(MeasurementService): add rendering of unmapped measurements (#5416) 2025-10-06 08:50:17 -04:00
ohif-bot
639863a8ef chore(version): Update package versions [skip ci] 2025-10-03 20:36:59 +00:00
ohif-bot
a00f610b2d chore(version): version.json [skip ci] 2025-10-03 20:36:52 +00:00
Alireza
9e951e8800
fix: duplicate segmentation entries on layout switch (#5458)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-10-03 16:31:25 -04:00
ohif-bot
71c16615d1 chore(version): Update package versions [skip ci] 2025-10-03 16:32:53 +00:00
ohif-bot
b1fc82315c chore(version): version.json [skip ci] 2025-10-03 16:32:46 +00:00
Alireza
6a1df9de4a
fix: study browser mode for multiple studies (#5457)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-10-03 12:28:05 -04:00
ohif-bot
06445dcaa2 chore(version): Update package versions [skip ci] 2025-10-02 21:10:24 +00:00
ohif-bot
a344183355 chore(version): version.json [skip ci] 2025-10-02 21:10:17 +00:00
ZZzzaaKK
2f28a0deab
fix(studyBrowserCustomization): fix thumbnail menu item actions in study browser (#5283) 2025-10-02 17:05:45 -04:00
ohif-bot
e04310a02d chore(version): Update package versions [skip ci] 2025-10-01 18:37:20 +00:00
ohif-bot
4efb7efd0e chore(version): version.json [skip ci] 2025-10-01 18:37:11 +00:00
Bill Wallace
9ad0d7fc8c
feat: Add inherit from basic/longitudinal modes (#5435)
Co-authored-by: Ibrahim <ibrahim.mdev@gmail.com>
2025-10-01 14:31:26 -04:00
ohif-bot
71d21ee184 chore(version): Update package versions [skip ci] 2025-09-30 22:34:04 +00:00
ohif-bot
9677dfdb90 chore(version): version.json [skip ci] 2025-09-30 22:33:57 +00:00
Smoothengineer
5b361fb289
docs: grammar: change "it's" to "its" (#5451) 2025-09-30 18:29:00 -04:00
ohif-bot
d9c5b840a5 chore(version): Update package versions [skip ci] 2025-09-30 19:12:30 +00:00
ohif-bot
ec3a70b5a7 chore(version): version.json [skip ci] 2025-09-30 19:12:18 +00:00
Joe Boccanfuso
a46b00f76b
chore(deps): Update cornerstone3D to 4.3.14. (#5450) 2025-09-30 15:07:13 -04:00
ohif-bot
f0e9865ca1 chore(version): Update package versions [skip ci] 2025-09-30 17:55:16 +00:00
ohif-bot
0d37705435 chore(version): version.json [skip ci] 2025-09-30 17:55:07 +00:00
Vinícius Alves de Faria Resende
12ac509c40
test(SegmentationService): Adding 98.63% of test line coverage to Segmentation Service through unit tests (#5421) 2025-09-30 13:49:13 -04:00
ohif-bot
9353a840ee chore(version): Update package versions [skip ci] 2025-09-29 20:01:26 +00:00
ohif-bot
8030577fb2 chore(version): version.json [skip ci] 2025-09-29 20:01:18 +00:00
Joe Boccanfuso
dd86a8eabd
fix(segmentation): Restored segment label tool in longitudinal mode. (#5443) 2025-09-29 15:56:11 -04:00
ohif-bot
47164463cc chore(version): Update package versions [skip ci] 2025-09-29 16:53:02 +00:00
ohif-bot
00b74664f9 chore(version): version.json [skip ci] 2025-09-29 16:52:54 +00:00
Dan Rukas
c91752d575
ui(settings): Moved Segment Label Display from tools to settings panel (#5422)
Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
2025-09-29 12:47:45 -04:00
ohif-bot
41d4398342 chore(version): Update package versions [skip ci] 2025-09-29 02:32:36 +00:00
ohif-bot
f0a5795b68 chore(version): version.json [skip ci] 2025-09-29 02:32:30 +00:00
Joe Boccanfuso
80f314a422
fix(security): Removed dependency on tar-fs by removing dependencies on storybook and sharp. (#5438) 2025-09-28 22:28:06 -04:00
ohif-bot
a6408d6033 chore(version): Update package versions [skip ci] 2025-09-26 14:10:20 +00:00
ohif-bot
5332d3e5f5 chore(version): version.json [skip ci] 2025-09-26 14:10:12 +00:00
Joe Boccanfuso
d41eca4ed5
chore(deps): update cornerstone to 4.3.10 (#5436) 2025-09-26 10:04:30 -04:00
ohif-bot
a5ddcf43de chore(version): Update package versions [skip ci] 2025-09-25 18:12:56 +00:00
ohif-bot
bd19ab983d chore(version): version.json [skip ci] 2025-09-25 18:12:49 +00:00
Igor Octaviano
d88a341884
fix: Improve rt handling for bulkdata (#5415) 2025-09-25 14:07:35 -04:00
ohif-bot
6db50d26b2 chore(version): Update package versions [skip ci] 2025-09-25 14:26:37 +00:00
ohif-bot
3906c754f1 chore(version): version.json [skip ci] 2025-09-25 14:26:30 +00:00
毛知劲 | LIS/PACS/RIS 产品负责人
7783d0f558
fix(i18n): Add and update i18n Translation for Toolbar Tool Names (#5392) 2025-09-25 10:22:02 -04:00
ohif-bot
add69e5e4f chore(version): Update package versions [skip ci] 2025-09-22 02:53:26 +00:00
ohif-bot
d32edcca45 chore(version): version.json [skip ci] 2025-09-22 02:53:19 +00:00
Vinícius Alves de Faria Resende
69dbe27784
feat(Segmentation): Segmentation highlight animation function selection (#5401) 2025-09-21 22:48:35 -04:00
ohif-bot
de201d567f chore(version): Update package versions [skip ci] 2025-09-19 13:30:27 +00:00
ohif-bot
26a042d8b9 chore(version): version.json [skip ci] 2025-09-19 13:30:20 +00:00
Vinícius Alves de Faria Resende
74b82bd934
fix(SegmentationService): _getSegmentCenter wrongly handling seg center availability (#5396) 2025-09-19 09:25:32 -04:00
ohif-bot
a7576e07a7 chore(version): Update package versions [skip ci] 2025-09-17 19:40:05 +00:00
ohif-bot
66b2f16c9e chore(version): version.json [skip ci] 2025-09-17 19:39:58 +00:00
Joe Boccanfuso
cf10e3cf67
chore(tests): update screenshots (#5413) 2025-09-17 15:35:13 -04:00
ohif-bot
3ea981b40c chore(version): Update package versions [skip ci] 2025-09-17 16:07:53 +00:00
ohif-bot
e1ce9c63ee chore(version): version.json [skip ci] 2025-09-17 16:07:46 +00:00
dependabot[bot]
06073af035
chore(deps): bump axios from 1.11.0 to 1.12.0 (#5412)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
2025-09-17 12:02:33 -04:00
ohif-bot
19f7bba5d8 chore(version): Update package versions [skip ci] 2025-09-16 19:56:57 +00:00
ohif-bot
5f7045eb09 chore(version): version.json [skip ci] 2025-09-16 19:56:51 +00:00
dependabot[bot]
8610c862a9
chore(deps): bump axios from 1.11.0 to 1.12.0 (#5402)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
2025-09-16 15:52:13 -04:00
ohif-bot
8c8a4c2222 chore(version): Update package versions [skip ci] 2025-09-10 16:44:52 +00:00
ohif-bot
57cc0b0ae3 chore(version): version.json [skip ci] 2025-09-10 16:44:45 +00:00
Vinícius Alves de Faria Resende
56c5828b02
fix(ErrorBoundary): Fixing console errors and Improving error logging for better developer experience (#5378) 2025-09-10 12:40:09 -04:00
ohif-bot
f6d05bc21c chore(version): Update package versions [skip ci] 2025-09-05 12:39:54 +00:00
ohif-bot
a5d72a130a chore(version): version.json [skip ci] 2025-09-05 12:39:47 +00:00
Vinícius Alves de Faria Resende
d6ea179ac4
fix(cornerstone-dicom-rt): adding caching usage to cornerstone-dicom-rt SOP Class Handler (#5387) 2025-09-05 08:35:16 -04:00
ohif-bot
7de1c78fc4 chore(version): Update package versions [skip ci] 2025-08-29 13:16:02 +00:00
ohif-bot
5f8f559426 chore(version): version.json [skip ci] 2025-08-29 13:15:55 +00:00
Omar Hamad
79473c2ea4
fix(oidc): resolve navigation throttling and blank screen during sign-in/sign-out with Keycloak + dcm4chee + Traefik (#5373) 2025-08-29 09:11:09 -04:00
ohif-bot
ecf91bdcd4 chore(version): Update package versions [skip ci] 2025-08-29 12:22:34 +00:00
ohif-bot
2df818c8cd chore(version): version.json [skip ci] 2025-08-29 12:22:27 +00:00
이양구
0f6f2bb432
fix: routerBasename declaration location (#5347)
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2025-08-29 08:17:38 -04:00
ohif-bot
9f2835be2d chore(version): Update package versions [skip ci] 2025-08-28 19:12:46 +00:00
ohif-bot
01a1265291 chore(version): version.json [skip ci] 2025-08-28 19:12:40 +00:00
Copilot
83ee20d249
Replace individual system info fields with envinfo command in bug report template (#5368)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sedghi <7490180+sedghi@users.noreply.github.com>
2025-08-28 15:08:02 -04:00
ohif-bot
a0a571cb4b chore(version): Update package versions [skip ci] 2025-08-28 18:04:29 +00:00
ohif-bot
d45fd931b3 chore(version): version.json [skip ci] 2025-08-28 18:04:23 +00:00
Alireza
fc0e7f8572
upgrade cs3d to 4.0 (#5371) 2025-08-28 13:59:26 -04:00
ohif-bot
cb9c099f36 chore(version): Update package versions [skip ci] 2025-08-28 17:02:31 +00:00
ohif-bot
ccb8a0dcc3 chore(version): version.json [skip ci] 2025-08-28 17:02:24 +00:00
Alireza
6a1838bf0d
fix/migration 3p11 (#5370) 2025-08-28 12:57:45 -04:00
ohif-bot
df0593aac9 chore(version): Update package versions [skip ci] 2025-08-28 16:15:59 +00:00
ohif-bot
aa9b881c54 chore(version): version.json [skip ci] 2025-08-28 16:15:51 +00:00
Pedro Köhler
d91cc230e5
fix: seg preview (#5338) 2025-08-28 12:11:03 -04:00
ohif-bot
e0f7b5b5db chore(version): Update package versions [skip ci] 2025-08-25 16:13:39 +00:00
ohif-bot
ada7fb45e1 chore(version): version.json [skip ci] 2025-08-25 16:13:32 +00:00
Alireza
368a176c09
fix: docker deploy (#5359) 2025-08-25 12:08:07 -04:00
ohif-bot
25d411ecf9 chore(version): Update package versions [skip ci] 2025-08-25 15:19:11 +00:00
ohif-bot
6f839142de chore(version): version.json [skip ci] 2025-08-25 15:19:04 +00:00
Copilot
bedb1854f9
fix: Docker build failure due to missing lerna command (#5357)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sedghi <7490180+sedghi@users.noreply.github.com>
2025-08-25 11:14:30 -04:00
ohif-bot
7f8cc666a5 chore(version): Update package versions [skip ci] 2025-08-25 14:27:59 +00:00
ohif-bot
132db911c6 chore(version): version.json [skip ci] 2025-08-25 14:27:52 +00:00
rodrigobasilio2022
d2694048a4
fix: local ModalitiesInStudy check (#5285)
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
Co-authored-by: Alireza <ar.sedghi@gmail.com>
2025-08-25 10:22:40 -04:00
ohif-bot
722efe9587 chore(version): Update package versions [skip ci] 2025-08-25 14:17:15 +00:00
ohif-bot
7e8f702eb3 chore(version): version.json [skip ci] 2025-08-25 14:17:08 +00:00
Pedro Köhler
21d6ba2bb3
fix: add back clear segmentation representations (#5336) 2025-08-25 10:12:33 -04:00
ohif-bot
9b39719149 chore(version): Update package versions [skip ci] 2025-08-25 14:01:15 +00:00
ohif-bot
2f66c7746c chore(version): version.json [skip ci] 2025-08-25 14:01:09 +00:00
Salim Kanoun
b9d6f558cb
fix: Segmentation stats customization module (#5324) 2025-08-25 09:56:36 -04:00
ohif-bot
e071ed740f chore(version): Update package versions [skip ci] 2025-08-25 13:11:45 +00:00
ohif-bot
0b4020a7e0 chore(version): version.json [skip ci] 2025-08-25 13:11:38 +00:00
Igor Octaviano
840b5d37d1
fix: Add seriesInstanceUID fallback for callByRetrieveAETitle (#5332) 2025-08-25 09:06:52 -04:00
ohif-bot
49dddc50d3 chore(version): Update package versions [skip ci] 2025-08-22 14:35:20 +00:00
ohif-bot
396f75b906 chore(version): version.json [skip ci] 2025-08-22 14:35:13 +00:00
Martin Bellehumeur, M. Eng.
6fe9df6ec9
feat: Jump to measurement moves the camera if it is not in the viewport (#5023)
Co-authored-by: Joe Boccanfuso <109477394+jbocce@users.noreply.github.com>
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
Co-authored-by: Igor Octaviano <igoroctaviano@gmail.com>
2025-08-22 10:30:18 -04:00
ohif-bot
16759506e5 chore(version): Update package versions [skip ci] 2025-08-22 13:41:26 +00:00
ohif-bot
0688fac419 chore(version): version.json [skip ci] 2025-08-22 13:41:19 +00:00
dependabot[bot]
e1112b7abe
chore(deps): bump sha.js from 2.4.11 to 2.4.12 (#5350)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-22 09:36:19 -04:00
Pedro Köhler
a2133ef6cb
fix: header icon logic (#5339) 2025-08-22 09:34:41 -04:00
ohif-bot
824816154b chore(version): Update package versions [skip ci] 2025-08-20 12:18:35 +00:00
ohif-bot
2fe9866b28 chore(version): version.json [skip ci] 2025-08-20 12:18:28 +00:00
Igor Octaviano
2ed6818171
feat: Add WSI bulk data annotations support (ANN) (#4972)
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2025-08-20 08:13:30 -04:00
ohif-bot
0164ad5519 chore(version): Update package versions [skip ci] 2025-08-15 18:17:11 +00:00
ohif-bot
244a91fda5 chore(version): version.json [skip ci] 2025-08-15 18:17:04 +00:00
Bill Wallace
becba7861f
fix: load 3dsr (#5335) 2025-08-15 14:12:34 -04:00
ohif-bot
730de56a5f chore(version): Update package versions [skip ci] 2025-08-13 20:09:38 +00:00
ohif-bot
72372c022f chore(version): version.json [skip ci] 2025-08-13 20:09:30 +00:00
Leonardo Campos
266b1f58f0
feat(orientationMarkers): improved the orientation markers with a simplified version (#5328) 2025-08-13 16:04:50 -04:00
ohif-bot
ede7c4e3ee chore(version): Update package versions [skip ci] 2025-08-11 18:10:59 +00:00
ohif-bot
a055cfe924 chore(version): version.json [skip ci] 2025-08-11 18:10:51 +00:00
Ujjwal Kumar Baranwal
0e83f4515c
fix: Update Dockerfile (#5319) 2025-08-11 14:06:07 -04:00
ohif-bot
51b2303b0a chore(version): Update package versions [skip ci] 2025-08-11 14:41:28 +00:00
ohif-bot
078cac76bf chore(version): version.json [skip ci] 2025-08-11 14:41:21 +00:00
Alireza
07b310d6e6
docs: fix nav bar (#5322) 2025-08-11 10:36:28 -04:00
ohif-bot
f36eeb182c chore(version): Update package versions [skip ci] 2025-08-11 13:53:50 +00:00
ohif-bot
6242f28bc5 chore(version): version.json [skip ci] 2025-08-11 13:53:43 +00:00
Alireza
2553b54432
docs: update release banner (#5321) 2025-08-11 09:48:32 -04:00
ohif-bot
6a54eee330 chore(version): Update package versions [skip ci] 2025-08-08 14:33:24 +00:00
ohif-bot
6b676750c0 chore(version): version.json [skip ci] 2025-08-08 14:33:18 +00:00
devin-ai-integration[bot]
f1d158bbe8
fix: Guard series.instances in DicomJSONDataSource to prevent TypeError (OHI-2114) (#5312)
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Alireza <ar.sedghi@gmail.com>
2025-08-08 10:28:42 -04:00
ohif-bot
96862d64fc chore(version): Update package versions [skip ci] 2025-08-05 14:22:01 +00:00
ohif-bot
0f201ecf16 chore(version): version.json [skip ci] 2025-08-05 14:21:53 +00:00
Alireza
479d26f7c7
chore: remove manual approve (#5299) 2025-08-05 10:17:00 -04:00
ohif-bot
481c2ff781 chore(version): Update package versions [skip ci] 2025-08-05 14:11:38 +00:00
ohif-bot
0687120542 chore(version): version.json [skip ci] 2025-08-05 14:11:31 +00:00
Alireza
1bfb680b6b
chore(ci): move to next version [BUMP BETA] (#5298) 2025-08-05 10:06:19 -04:00
ohif-bot
974ef29aa1 chore(version): Update package versions [skip ci] 2025-08-05 13:31:53 +00:00
ohif-bot
a4d1f56c01 chore(version): version.json [skip ci] 2025-08-05 13:31:46 +00:00
Alireza
35bc074a53
fix(annotation): Add command to show pleura percentage in USAnnotationPanel and update condition for BLinePleuraPercentage (#5297) 2025-08-05 09:26:52 -04:00
ohif-bot
4d74611eb1 chore(version): Update package versions [skip ci] 2025-07-31 04:25:53 +00:00
ohif-bot
79cfc58533 chore(version): version.json [skip ci] 2025-07-31 04:25:47 +00:00
Pedro Köhler
735405a855
feat: add support to scoord3d (#5016)
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2025-07-31 00:21:26 -04:00
ohif-bot
af40f06524 chore(version): Update package versions [skip ci] 2025-07-30 14:12:33 +00:00
ohif-bot
568cd0b39d chore(version): version.json [skip ci] 2025-07-30 14:12:26 +00:00
rodrigobasilio2022
8643c868fd
Adds containsAll validator (#5279) 2025-07-30 10:07:12 -04:00
ohif-bot
eede2945ae chore(version): Update package versions [skip ci] 2025-07-30 02:35:07 +00:00
ohif-bot
1fc38c7379 chore(version): version.json [skip ci] 2025-07-30 02:35:00 +00:00
Pedro Köhler
271b84f78f
feat: improve segment label (#5217)
Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
2025-07-29 22:30:18 -04:00
ohif-bot
dd896fea25 chore(version): Update package versions [skip ci] 2025-07-28 19:30:15 +00:00
ohif-bot
1e3f69d977 chore(version): version.json [skip ci] 2025-07-28 19:30:08 +00:00
Joe Boccanfuso
341f1c4ce7
fix(colorbar): Allow for AdvancedRenderingControls to be placed at the left or right of the viewport. (#5273) 2025-07-28 15:25:36 -04:00
ohif-bot
b8ff0a80f0 chore(version): Update package versions [skip ci] 2025-07-28 16:25:07 +00:00
ohif-bot
760194ac80 chore(version): version.json [skip ci] 2025-07-28 16:24:59 +00:00
Joe Boccanfuso
d24fe54d2b
fix(colorbar): Allow for AdvancedRenderingControls to be placed at the top or bottom of the viewport. (#5270) 2025-07-28 12:19:58 -04:00
ohif-bot
1cc78112e5 chore(version): Update package versions [skip ci] 2025-07-28 13:42:43 +00:00
ohif-bot
0f816e4733 chore(version): version.json [skip ci] 2025-07-28 13:42:35 +00:00
Salim Kanoun
04dcacd3a5
fix: null save voi range properties (#5268) 2025-07-28 09:37:24 -04:00
Joe Boccanfuso
47e231f061
fix(multiframes): Corrected combining frame instances for multiframes. (#5264) 2025-07-28 09:35:29 -04:00
ohif-bot
4b7c26e273 chore(version): Update package versions [skip ci] 2025-07-28 05:41:04 +00:00
ohif-bot
d45dc473ad chore(version): version.json [skip ci] 2025-07-28 05:40:57 +00:00
dxlin
c766f3c054
test(SegmentationPanel): add test for jump to center of segments from PACS and basic add, rename, delete from panel (#5262) 2025-07-28 01:35:50 -04:00
ohif-bot
03941dca8e chore(version): Update package versions [skip ci] 2025-07-25 17:36:46 +00:00
ohif-bot
be6e228c36 chore(version): version.json [skip ci] 2025-07-25 17:36:39 +00:00
Ibrahim
570e087007
fix(tooltips): tool tips should be portals (#5265) 2025-07-25 13:30:43 -04:00
ohif-bot
afac23a79a chore(version): Update package versions [skip ci] 2025-07-25 13:47:18 +00:00
ohif-bot
3322f652fe chore(version): version.json [skip ci] 2025-07-25 13:47:10 +00:00
Emmanuel Ferdman
d0cf9e02f4
fix: prevent failure in DICOM loader for wadouri type (#5260)
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
2025-07-25 09:41:53 -04:00
ohif-bot
84e3e43ae3 chore(version): Update package versions [skip ci] 2025-07-24 17:03:31 +00:00
ohif-bot
71b685364f chore(version): version.json [skip ci] 2025-07-24 17:03:24 +00:00
Joe Boccanfuso
3c8446a5e5
fix(ArrowAnnotate): Allow free-form text for arrow annotations (#5259) 2025-07-24 12:58:45 -04:00
ohif-bot
4e6530d1d8 chore(version): Update package versions [skip ci] 2025-07-23 22:13:34 +00:00
ohif-bot
0b87691d50 chore(version): version.json [skip ci] 2025-07-23 22:13:27 +00:00
Joe Boccanfuso
730046f83c
Fix flaky SEGDataOverlayForUnreferencedDisplaySetNoHydration test. (#5254) 2025-07-23 18:08:42 -04:00
ohif-bot
763002f2fe chore(version): Update package versions [skip ci] 2025-07-23 19:10:24 +00:00
ohif-bot
76e630cf61 chore(version): version.json [skip ci] 2025-07-23 19:10:18 +00:00
arul-trenser
428b6ffbe7
fix: issue introduced from PR 5022 (#5223)
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2025-07-23 15:05:42 -04:00
ohif-bot
78597aacac chore(version): Update package versions [skip ci] 2025-07-23 18:20:06 +00:00
ohif-bot
eacebad315 chore(version): version.json [skip ci] 2025-07-23 18:19:59 +00:00
MatheusRdk
c8261d9883
Handle 200 status response and add default error handling (#5227)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-23 14:14:08 -04:00
ohif-bot
eedaa9a2e2 chore(version): Update package versions [skip ci] 2025-07-23 17:58:03 +00:00
ohif-bot
fa37acc2fb chore(version): version.json [skip ci] 2025-07-23 17:57:56 +00:00
dependabot[bot]
05526e5cdc
chore(deps): bump axios from 1.10.0 to 1.11.0 (#5252)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
2025-07-23 13:53:02 -04:00
ohif-bot
cf2e58bdb9 chore(version): Update package versions [skip ci] 2025-07-23 16:53:09 +00:00
ohif-bot
9b953f0942 chore(version): version.json [skip ci] 2025-07-23 16:53:02 +00:00
Ibrahim
75cc6eff32
fix(calibration): do not override user set calibration (#5231)
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2025-07-23 12:48:29 -04:00
ohif-bot
c271e869c2 chore(version): Update package versions [skip ci] 2025-07-23 16:27:02 +00:00
ohif-bot
b71b14efdd chore(version): version.json [skip ci] 2025-07-23 16:26:55 +00:00
Teo Udovčić
7ffe17deea
fix: disable seg download/export buttons until a user has drawn something (#4953) 2025-07-23 12:21:31 -04:00
ohif-bot
dd2e89bfdb chore(version): Update package versions [skip ci] 2025-07-23 16:15:47 +00:00
ohif-bot
18f8c88a89 chore(version): version.json [skip ci] 2025-07-23 16:15:40 +00:00
Patrick Wespi
bd3ff5f57c
fix(ViewportOrientationMarkers): round rotation to fix floating point issue (#5135)
Co-authored-by: Joe Boccanfuso <109477394+jbocce@users.noreply.github.com>
2025-07-23 12:10:49 -04:00
ohif-bot
04a599962d chore(version): Update package versions [skip ci] 2025-07-23 14:55:46 +00:00
ohif-bot
3be5d84fc4 chore(version): version.json [skip ci] 2025-07-23 14:55:40 +00:00
Joe Boccanfuso
83d4bc4a5a
fix(security): Removed stylus package due to potential security vulnerability and we don't use it. (#5250) 2025-07-23 10:50:53 -04:00
Joe Boccanfuso
83ea0ad93e
fix(docs): Added docs for multimonitor and local linking (#5247) 2025-07-23 10:14:01 -04:00
ohif-bot
b77b2f3fa0 chore(version): Update package versions [skip ci] 2025-07-22 17:35:21 +00:00
ohif-bot
111c3b3d0d chore(version): version.json [skip ci] 2025-07-22 17:35:15 +00:00
dependabot[bot]
76a2b90c17
chore(deps): bump form-data from 4.0.3 to 4.0.4 (#5244)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
Co-authored-by: Joe Boccanfuso <109477394+jbocce@users.noreply.github.com>
2025-07-22 13:30:29 -04:00
ohif-bot
aa83cda49c chore(version): Update package versions [skip ci] 2025-07-22 12:36:09 +00:00
ohif-bot
1ae4967fe5 chore(version): version.json [skip ci] 2025-07-22 12:36:02 +00:00
arul-trenser
12de7a85c9
feat(segmentation): Add customization for handling missing referencedDisplaySetInstanceUID for the SEG/RTSTRUCT. (#4983) 2025-07-22 08:30:54 -04:00
ohif-bot
91d0ae7da6 chore(version): Update package versions [skip ci] 2025-07-21 14:49:45 +00:00
ohif-bot
f7fab0c461 chore(version): version.json [skip ci] 2025-07-21 14:49:38 +00:00
Joe Boccanfuso
bde0eb1f07
fix(docs): Added entry for the showStudyList configuration setting. (#5235) 2025-07-21 10:44:28 -04:00
ohif-bot
73ee3140ea chore(version): Update package versions [skip ci] 2025-07-21 14:20:21 +00:00
ohif-bot
2a738dec09 chore(version): version.json [skip ci] 2025-07-21 14:20:15 +00:00
Joe Boccanfuso
3d5ee687cb
fix(security): Pin eslint-config-prettier and eslint-plugin-prettier versions. (#5234) 2025-07-21 10:15:28 -04:00
ohif-bot
7060aeca4b chore(version): Update package versions [skip ci] 2025-07-21 13:11:39 +00:00
ohif-bot
5ecb8e9821 chore(version): version.json [skip ci] 2025-07-21 13:11:32 +00:00
Salim Kanoun
ed3de96e4c
fix: labelmap init (#5228) 2025-07-21 09:06:34 -04:00
ohif-bot
db8a54d965 chore(version): Update package versions [skip ci] 2025-07-18 16:13:18 +00:00
ohif-bot
3980150aef chore(version): version.json [skip ci] 2025-07-18 16:13:10 +00:00
Joe Boccanfuso
3d4ec3181d
fix(multimonitor): Study browser more menu fixes (#5208) 2025-07-18 12:08:18 -04:00
ohif-bot
779907e526 chore(version): Update package versions [skip ci] 2025-07-17 12:16:46 +00:00
ohif-bot
1841d6202f chore(version): version.json [skip ci] 2025-07-17 12:16:38 +00:00
arul-trenser
6a4ca70836
fix: image slices are displayed in reverse order, if we switch from common layout to 2D MPR (#5022) 2025-07-17 08:11:26 -04:00
ohif-bot
8dda7d5f81 chore(version): Update package versions [skip ci] 2025-07-16 18:45:48 +00:00
ohif-bot
e207f58031 chore(version): version.json [skip ci] 2025-07-16 18:45:41 +00:00
Ibrahim
faef74ab21
fix(viewportgrid): don't subscribe to duplicate event listeners (#5218) 2025-07-16 14:40:47 -04:00
Ibrahim
3ff9a65ef3
fix(black-viewports): MPR viewports were turning black if their parent stack had it's properties reset (#5219) 2025-07-16 14:40:20 -04:00
Alexey Klimovich
26d77fb149
fix(DicomUpload): Fix upload form and some scrollbars styles (#5125) 2025-07-16 14:38:11 -04:00
ohif-bot
5977326665 chore(version): Update package versions [skip ci] 2025-07-16 17:18:03 +00:00
ohif-bot
27e4f0440c chore(version): version.json [skip ci] 2025-07-16 17:17:56 +00:00
Vishnu Suresh Perumbavoor
f38805e6f1
fix(segmentation): Fix segmentationid undefined 5106 (#5107) 2025-07-16 13:12:47 -04:00
ohif-bot
a7892c0d59 chore(version): Update package versions [skip ci] 2025-07-16 00:15:39 +00:00
ohif-bot
991f17e0ca chore(version): version.json [skip ci] 2025-07-16 00:15:32 +00:00
Joe Boccanfuso
522d2aa764
fix(TMTV): The TMTV CSV file now has the correct name and contents (#5215) 2025-07-15 20:09:23 -04:00
ohif-bot
fceb515a68 chore(version): Update package versions [skip ci] 2025-07-15 13:07:36 +00:00
ohif-bot
e1fb97f862 chore(version): version.json [skip ci] 2025-07-15 13:07:29 +00:00
Joe Boccanfuso
e0289dc49f
fix(segmentation): Removed LOAD/hydrate button for segmentation overlays (#5214) 2025-07-15 09:02:36 -04:00
ohif-bot
302705ea4d chore(version): Update package versions [skip ci] 2025-07-14 15:55:44 +00:00
ohif-bot
ff0568f2ab chore(version): version.json [skip ci] 2025-07-14 15:55:36 +00:00
Joe Boccanfuso
545411137c
fix(panels): Allow for setting the initial and minimum expanded widths of each side panel. (#5207) 2025-07-14 11:50:27 -04:00
ohif-bot
1f33b291b9 chore(version): Update package versions [skip ci] 2025-07-14 13:15:07 +00:00
ohif-bot
768e5ba928 chore(version): version.json [skip ci] 2025-07-14 13:15:00 +00:00
rodrigobasilio2022
c175837273
feat(viewport): Enhance Orientation Menu with Reformat Option and UI Improvements (#5184)
Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
Co-authored-by: Alireza <ar.sedghi@gmail.com>
2025-07-14 09:10:09 -04:00
ohif-bot
529806c0d9 chore(version): Update package versions [skip ci] 2025-07-14 02:39:23 +00:00
ohif-bot
658d824505 chore(version): version.json [skip ci] 2025-07-14 02:39:16 +00:00
Joe Boccanfuso
94bdcf414d
fix(UI): Restored the scroll bar OHIF L&F (#5202) 2025-07-13 22:34:18 -04:00
ohif-bot
a24ec13239 chore(version): Update package versions [skip ci] 2025-07-11 21:20:32 +00:00
ohif-bot
2c7c62443c chore(version): version.json [skip ci] 2025-07-11 21:20:25 +00:00
rodrigobasilio2022
540923ad8b
fix: enhance preview accept method (#5199) 2025-07-11 17:15:26 -04:00
ohif-bot
df926e2513 chore(version): Update package versions [skip ci] 2025-07-11 20:43:30 +00:00
ohif-bot
86ad50d886 chore(version): version.json [skip ci] 2025-07-11 20:43:23 +00:00
Dan Rukas
0ed9ef06c1
ui(icons): Adds action and helper icon artwork for segmentation (#5200) 2025-07-11 16:38:11 -04:00
Vinícius Alves de Faria Resende
4a59126dd9
fix(UnitTests): Fixing "Cannot find module @cornerstonejs/core" error while running unit tests (#5148) 2025-07-11 16:36:49 -04:00
ohif-bot
277cef2168 chore(version): Update package versions [skip ci] 2025-07-11 17:49:56 +00:00
ohif-bot
168d5b27f3 chore(version): version.json [skip ci] 2025-07-11 17:49:48 +00:00
rodrigobasilio2022
fd5bcee909
fix: exception in newly added segmentations (#5198) 2025-07-11 13:44:22 -04:00
ohif-bot
8bbf83fb84 chore(version): Update package versions [skip ci] 2025-07-11 16:38:14 +00:00
ohif-bot
4253982050 chore(version): version.json [skip ci] 2025-07-11 16:38:07 +00:00
Ibrahim
10d93161b4
feat(rendering): Introduce WebGLContextPool for parallel rendering in ContextPoolRenderingEngine (#5196) 2025-07-11 12:33:24 -04:00
ohif-bot
7d3e222182 chore(version): Update package versions [skip ci] 2025-07-11 15:30:57 +00:00
ohif-bot
46df245fb8 chore(version): version.json [skip ci] 2025-07-11 15:30:50 +00:00
Pedro Köhler
4d3ff5a6cc
feat: group clear measurements history (#5194) 2025-07-11 11:26:10 -04:00
ohif-bot
4e99f1ed34 chore(version): Update package versions [skip ci] 2025-07-11 13:48:44 +00:00
ohif-bot
2ddeed981d chore(version): version.json [skip ci] 2025-07-11 13:48:38 +00:00
Joe Boccanfuso
eeaf49c61a
fix(security): Patch for Babel vulnerability (#5193) 2025-07-11 09:43:56 -04:00
ohif-bot
2c1e8cb3e1 chore(version): Update package versions [skip ci] 2025-07-10 14:28:05 +00:00
ohif-bot
f772be8ae3 chore(version): version.json [skip ci] 2025-07-10 14:27:58 +00:00
Ibrahim
4c5e34d183
fix(rendering): Introduce SequentialRenderingEngine to resolve canvas size limitation, performance degradation on high res monitors and enhance multi-monitor support (#5195) 2025-07-10 10:23:09 -04:00
ohif-bot
0c62bd5e4e chore(version): Update package versions [skip ci] 2025-07-10 13:38:17 +00:00
ohif-bot
4424d2a2bc chore(version): version.json [skip ci] 2025-07-10 13:38:10 +00:00
Joe Boccanfuso
48473625f6
fix(segmentation overlays): Allow for the addition of multiple segmentation overlays. (#5189) 2025-07-10 09:33:39 -04:00
ohif-bot
32ab291305 chore(version): Update package versions [skip ci] 2025-07-09 18:16:44 +00:00
ohif-bot
93eb0dee19 chore(version): version.json [skip ci] 2025-07-09 18:16:38 +00:00
Pedro Köhler
ac852485cd
feat: add segment label tool (#5164) 2025-07-09 14:11:54 -04:00
ohif-bot
d19cd6ec7b chore(version): Update package versions [skip ci] 2025-07-08 14:25:44 +00:00
ohif-bot
4556dd9713 chore(version): version.json [skip ci] 2025-07-08 14:25:37 +00:00
Ibrahim
7b2e37a44f
fix(measurement-group): use measurment study uid instead of active study uid (#5091) 2025-07-08 10:20:49 -04:00
Ibrahim
64a634cab9
fix(labeling): measurement labeling dialog was overwriting the entire measurement and breaking it (#5095) 2025-07-08 10:19:18 -04:00
ohif-bot
ca7defc668 chore(version): Update package versions [skip ci] 2025-07-07 22:14:28 +00:00
ohif-bot
e5b95de0b0 chore(version): version.json [skip ci] 2025-07-07 22:14:21 +00:00
Joe Boccanfuso
f08cc303e6
fix(overlay-menu): Adding, changing and removing segmentation overlays should update the overlay menu instantly (#5181) 2025-07-07 18:09:32 -04:00
ohif-bot
b8b14b8940 chore(version): Update package versions [skip ci] 2025-07-03 18:19:12 +00:00
ohif-bot
7f19db7f0e chore(version): version.json [skip ci] 2025-07-03 18:19:05 +00:00
Salim Kanoun
e277303395
fix: add force to remove image from cache (#5176) 2025-07-03 14:14:19 -04:00
ohif-bot
f7cf356d46 chore(version): Update package versions [skip ci] 2025-07-03 18:13:29 +00:00
ohif-bot
baad251259 chore(version): version.json [skip ci] 2025-07-03 18:13:23 +00:00
Joe Boccanfuso
24e0263fb9
chore: recovery 2 (#5014) merge to 3.11 (#5175)
Co-authored-by: Alireza <ar.sedghi@gmail.com>
Co-authored-by: Dan Rukas <dan.rukas@gmail.com>
Co-authored-by: Tang Cheng <45505657+tctco@users.noreply.github.com>
2025-07-03 14:08:46 -04:00
ohif-bot
17ed63eb1d chore(version): Update package versions [skip ci] 2025-07-03 02:57:54 +00:00
ohif-bot
6f8592a449 chore(version): version.json [skip ci] 2025-07-03 02:57:48 +00:00
Celian-abd
c112db13a8
feat: Add possibility to add additional props for PanelSection (#5172) 2025-07-02 22:52:49 -04:00
ohif-bot
b0704b88cd chore(version): Update package versions [skip ci] 2025-07-02 12:43:01 +00:00
ohif-bot
8491407319 chore(version): version.json [skip ci] 2025-07-02 12:42:54 +00:00
Joe Boccanfuso
4f6f5254fb
fix(segmentation): Added support for unhydrated RTSTRUCT in MPR. Added support for overlaying segmentations over display sets the segmentations do not reference. (#5168) 2025-07-02 08:38:22 -04:00
ohif-bot
77758fde4f chore(version): Update package versions [skip ci] 2025-06-27 17:13:02 +00:00
ohif-bot
90943b4dc5 chore(version): version.json [skip ci] 2025-06-27 17:12:55 +00:00
Ibrahim
4bddd53fcd
feat(hp): add onStageChange callback (#5165) 2025-06-27 13:08:21 -04:00
ohif-bot
c2b75e1a50 chore(version): Update package versions [skip ci] 2025-06-27 11:16:22 +00:00
ohif-bot
51f17a92c1 chore(version): version.json [skip ci] 2025-06-27 11:16:15 +00:00
Joe Boccanfuso
c2624f116d
fix(segmentation): Changes to fix problems with non hydrated/loaded segmentations to be viewable when switching hanging protocols (e.g. MPR) (#5139) 2025-06-27 07:11:46 -04:00
ohif-bot
9a81f8cef5 chore(version): Update package versions [skip ci] 2025-06-27 03:02:26 +00:00
ohif-bot
8a35453100 chore(version): version.json [skip ci] 2025-06-27 03:02:20 +00:00
dependabot[bot]
b660a5d523
chore(deps): bump webpack to 5.95.0 (#5163) 2025-06-26 22:57:43 -04:00
ohif-bot
da8ecdd88c chore(version): Update package versions [skip ci] 2025-06-26 20:24:13 +00:00
ohif-bot
ef5ce6c19b chore(version): version.json [skip ci] 2025-06-26 20:24:06 +00:00
dependabot[bot]
c063fe8550
chore(deps-dev): bump webpack from 5.89.0 to 5.94.0 in /extensions/usAnnotation (#5162) 2025-06-26 16:18:57 -04:00
ohif-bot
5524d1e845 chore(version): Update package versions [skip ci] 2025-06-26 16:04:50 +00:00
ohif-bot
27eb442f62 chore(version): version.json [skip ci] 2025-06-26 16:04:44 +00:00
rodrigobasilio2022
9824f79177
feat(labelmap): Add labelmap segmentation in OHIF (#5158) 2025-06-26 11:59:44 -04:00
ohif-bot
e07bb212bb chore(version): Update package versions [skip ci] 2025-06-26 12:48:28 +00:00
ohif-bot
2a06a3c17f chore(version): version.json [skip ci] 2025-06-26 12:48:21 +00:00
dependabot[bot]
4c1356cab7
chore(deps-dev): bump webpack from 5.89.0 to 5.94.0 in /modes/usAnnotation (#5156) 2025-06-26 08:43:27 -04:00
ohif-bot
a17fb5aeba chore(version): Update package versions [skip ci] 2025-06-25 22:43:05 +00:00
ohif-bot
b919ebbc41 chore(version): version.json [skip ci] 2025-06-25 22:42:59 +00:00
Joe Boccanfuso
ec0c4f7451
fix(unit-tests): Update bun.lock to fix unit tests. (#5159) 2025-06-25 18:38:36 -04:00
ohif-bot
746781f6a4 chore(version): Update package versions [skip ci] 2025-06-25 22:13:21 +00:00
ohif-bot
332d498d2c chore(version): version.json [skip ci] 2025-06-25 22:13:14 +00:00
Alireza
6c9d99eef8
fix(build): BUILD_PACKAGES_QUICK PR check (#5160) 2025-06-25 18:07:52 -04:00
Ibrahim
57f07ad9f2
feat(toolbar/hokeys): add pub sub events to hotkeys manager class, subscribe toolbar to hotkeys pressed event (#5157) 2025-06-25 10:43:27 -04:00
dxlin
b1ad3787e4
test(MeasurementPanel): Converted MeasurementPanel interaction tests from cypress to playwright (#5153) 2025-06-24 23:33:21 -04:00
rodrigobasilio2022
226f9b0773
feat: Ultrasound Pleura B-line Annotation Mode & Extension (#5061) 2025-06-24 12:50:48 -04:00
ohif-bot
9b8eef9474 chore(version): Update package versions [skip ci] 2025-06-24 15:50:18 +00:00
ohif-bot
1e605027ff chore(version): version.json [skip ci] 2025-06-24 15:50:11 +00:00
dependabot[bot]
b48aab263f
chore(deps-dev): bump webpack-dev-server from 4.7.3 to 5.2.1 (#5114)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
Co-authored-by: Joe Boccanfuso <109477394+jbocce@users.noreply.github.com>
2025-06-24 11:45:29 -04:00
dependabot[bot]
08d978bd75
chore(deps): bump pbkdf2 from 3.1.2 to 3.1.3 (#5152)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-24 11:43:19 -04:00
ohif-bot
4857e0002b chore(version): Update package versions [skip ci] 2025-06-20 15:31:20 +00:00
ohif-bot
9ed2d88cb1 chore(version): version.json [skip ci] 2025-06-20 15:31:13 +00:00
Ibrahim
d6d3fa7ef4
fix(action-corners): check hideWhenDisabled at both the evaluator and prop levels (#5149) 2025-06-20 11:26:26 -04:00
ohif-bot
3f1ea26eba chore(version): Update package versions [skip ci] 2025-06-18 18:20:36 +00:00
ohif-bot
9f80732674 chore(version): version.json [skip ci] 2025-06-18 18:20:30 +00:00
Vinícius Alves de Faria Resende
268d62e991
fix(UnitTest): run was failing due to JS tests importing TS modules (#5145) 2025-06-18 14:15:50 -04:00
ohif-bot
f6337e0970 chore(version): Update package versions [skip ci] 2025-06-18 03:08:58 +00:00
ohif-bot
2ed6172861 chore(version): version.json [skip ci] 2025-06-18 03:08:52 +00:00
Patrick Wespi
dc829c8fca
fix(getToolbarModule): fix enabled state of image slice sync (#5136) 2025-06-17 23:03:51 -04:00
ohif-bot
afc2ca0dce chore(version): Update package versions [skip ci] 2025-06-13 14:48:30 +00:00
ohif-bot
abb6da4458 chore(version): version.json [skip ci] 2025-06-13 14:48:22 +00:00
Joe Boccanfuso
5311c941f7
fix(hp): When reapplying an hp the display set selectors should be considered. (#5074)
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2025-06-13 10:43:31 -04:00
ohif-bot
4199d788a8 chore(version): Update package versions [skip ci] 2025-06-11 16:41:58 +00:00
ohif-bot
40eac04428 chore(version): version.json [skip ci] 2025-06-11 16:41:51 +00:00
dependabot[bot]
abaf6582e0
chore(deps): bump tar-fs from 2.1.2 to 2.1.3 (#5096)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-11 12:37:24 -04:00
ohif-bot
ce70c8401a chore(version): Update package versions [skip ci] 2025-06-11 13:05:36 +00:00
ohif-bot
a906eb04ab chore(version): version.json [skip ci] 2025-06-11 13:05:29 +00:00
Dan
d3c9ff50c7
fix(ToolbarService): Fixed removeButton bug for removing buttons inside sections (#5123)
Co-authored-by: Dan Elkis <dan.elkis@signalpet.com>
2025-06-11 09:00:54 -04:00
Dan
4da7fc307f
feat(commandsModule): Enhanced flipViewport and rotateViewport commands (#5065)
Co-authored-by: Dan Elkis <dan.elkis@signalpet.com>
2025-06-11 08:59:37 -04:00
ohif-bot
68bbe0b1a5 chore(version): Update package versions [skip ci] 2025-06-11 11:41:43 +00:00
ohif-bot
d15494f80c chore(version): version.json [skip ci] 2025-06-11 11:41:36 +00:00
Bill Wallace
75271ca416
fix: data-viewportId name is illegal, renamed to data-viewportid (#5121) 2025-06-11 07:36:26 -04:00
ohif-bot
a83bd298f5 chore(version): Update package versions [skip ci] 2025-06-10 15:52:05 +00:00
ohif-bot
8ff59dacb5 chore(version): version.json [skip ci] 2025-06-10 15:51:59 +00:00
Ibrahim
26fd51f535
fix(markerlabelmap): accept preview/reject preview not working when the marker annotation tools are active (#5101)
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2025-06-10 11:47:20 -04:00
ohif-bot
10ef509ff1 chore(version): Update package versions [skip ci] 2025-06-09 13:32:53 +00:00
ohif-bot
735a13a85b chore(version): version.json [skip ci] 2025-06-09 13:32:47 +00:00
Joe Boccanfuso
a361e556ef
fix(touch): Prevent touch drag to refresh the browser page. (#5108) 2025-06-09 09:28:00 -04:00
ohif-bot
9baf153d0d chore(version): Update package versions [skip ci] 2025-06-09 12:34:55 +00:00
ohif-bot
b99f64da1b chore(version): version.json [skip ci] 2025-06-09 12:34:48 +00:00
Alireza
b194f672c0
docs: improved migration guides for 3p10 (#5110) 2025-06-09 08:30:20 -04:00
ohif-bot
635877f184 chore(version): Update package versions [skip ci] 2025-06-07 17:59:59 +00:00
ohif-bot
2306ec2a6d chore(version): version.json [skip ci] 2025-06-07 17:59:53 +00:00
Joe Boccanfuso
0afb3fc753
fix(WindowLevelActionMenu): The window level menu must show different contents for 3D volume viewports (#5113) 2025-06-07 13:55:33 -04:00
ohif-bot
2234121a19 chore(version): Update package versions [skip ci] 2025-06-05 17:55:24 +00:00
ohif-bot
a1ecc826aa chore(version): version.json [skip ci] 2025-06-05 17:55:17 +00:00
Joe Boccanfuso
1a6aa09a77
fix(touch): Allow for multi-touch in OHIF (#5099) 2025-06-05 13:50:27 -04:00
ohif-bot
2e7124bace chore(version): Update package versions [skip ci] 2025-06-02 17:59:54 +00:00
ohif-bot
2ddfc95bfa chore(version): version.json [skip ci] 2025-06-02 17:59:48 +00:00
Joe Boccanfuso
316d5a7644
fix(tmtv): Corrected the various section names being referenced. (#5093) 2025-06-02 13:55:32 -04:00
ohif-bot
01c7d45c15 chore(version): Update package versions [skip ci] 2025-06-02 16:17:00 +00:00
ohif-bot
e804d7473e chore(version): version.json [skip ci] 2025-06-02 16:16:54 +00:00
Joe Boccanfuso
38ed7ba744
fix(segmentation): Allow for debounced pub/sub events to be reliably cancelled when unsubscribed to. (#5092) 2025-06-02 12:12:31 -04:00
ohif-bot
a1fb7217bd chore(version): Update package versions [skip ci] 2025-05-30 14:16:22 +00:00
ohif-bot
8adbeb54f9 chore(version): version.json [skip ci] 2025-05-30 14:16:16 +00:00
Dan
8b2f80b82e
docs: Fixed incorrect documentation and variables names (#5080)
Co-authored-by: Dan Elkis <dan.elkis@signalpet.com>
2025-05-30 10:11:16 -04:00
ohif-bot
31e19ffe8c chore(version): Update package versions [skip ci] 2025-05-29 12:30:56 +00:00
ohif-bot
4f6c8766b1 chore(version): version.json [skip ci] 2025-05-29 12:30:49 +00:00
Pedro Köhler
5891505c51
feat: create memo when manually adding and removing annotations (#5051) 2025-05-29 08:26:16 -04:00
ohif-bot
9afded1720 chore(version): Update package versions [skip ci] 2025-05-29 02:45:33 +00:00
ohif-bot
60e6e686ec chore(version): version.json [skip ci] 2025-05-29 02:45:26 +00:00
Alireza
c6327acdc1
fix(ui): Prevent unintended text selection and improve component behavior (#5077) 2025-05-28 22:41:15 -04:00
ohif-bot
773d6edaf7 chore(version): Update package versions [skip ci] 2025-05-28 13:13:03 +00:00
ohif-bot
843d99d9ef chore(version): version.json [skip ci] 2025-05-28 13:12:56 +00:00
Dan
c88bdac4b1
fix(Customization): Fixed incorrect events broadcast (#5075)
Co-authored-by: Dan Elkis <dan.elkis@signalpet.com>
2025-05-28 09:08:05 -04:00
ohif-bot
a8d438d8f7 chore(version): Update package versions [skip ci] 2025-05-26 23:13:44 +00:00
ohif-bot
fec45860b8 chore(version): version.json [skip ci] 2025-05-26 23:13:38 +00:00
Alireza
b9ca76ea67
fix: e2e playwright tests runnigns (#5070) 2025-05-26 19:09:26 -04:00
ohif-bot
ffc7d2bd6b chore(version): Update package versions [skip ci] 2025-05-26 20:12:50 +00:00
ohif-bot
1d91871d2c chore(version): version.json [skip ci] 2025-05-26 20:12:43 +00:00
Joe Boccanfuso
ebfa1ff5f2
fix(capture): Disable or enable the tool group based on the show flag. (#5069) 2025-05-26 16:08:17 -04:00
Joe Boccanfuso
1873a8405f
fix(frame-view): After pan and/or zoom, stack scroll is now synchronized for frame view (#5067) 2025-05-26 16:08:01 -04:00
ohif-bot
df35cb55b6 chore(version): Update package versions [skip ci] 2025-05-26 04:09:21 +00:00
ohif-bot
9247d07ccd chore(version): version.json [skip ci] 2025-05-26 04:09:15 +00:00
Joe Boccanfuso
14f5f0c074
fix(router): Expose the react router from the worklist too. (#5062) 2025-05-26 00:04:16 -04:00
ohif-bot
c2cc0832f3 chore(version): Update package versions [skip ci] 2025-05-24 02:16:33 +00:00
ohif-bot
10d64322bf chore(version): version.json [skip ci] 2025-05-24 02:16:27 +00:00
Joe Boccanfuso
cb814e6a60
fix(context-menu): Move the reposition logic from the context menu to the dialog component. (#5060) 2025-05-23 22:12:08 -04:00
ohif-bot
fa9bbe3afc chore(version): Update package versions [skip ci] 2025-05-16 18:20:40 +00:00
ohif-bot
7f2f739b1b chore(version): version.json [skip ci] 2025-05-16 18:20:34 +00:00
Alexis jankowski
dcde841839
fix(cli): removing missing imports in mode template (#5049) 2025-05-16 14:11:01 -04:00
ohif-bot
c784b7e6d5 chore(version): Update package versions [skip ci] 2025-05-16 17:53:12 +00:00
ohif-bot
0d8f43fa30 chore(version): version.json [skip ci] 2025-05-16 17:53:05 +00:00
Alireza
9b1b501d83
fix: backward compatibility with toolbar service (#5052) 2025-05-16 13:42:35 -04:00
Joe Boccanfuso
c6b28654b5
fix(segmentation): segmentation stats calculations were not being done on a subsequent navigation to a mode (#5046) 2025-05-16 13:33:57 -04:00
ohif-bot
fb1c2673a8 chore(version): Update package versions [skip ci] 2025-05-16 17:32:07 +00:00
ohif-bot
b6b06ed09e chore(version): version.json [skip ci] 2025-05-16 17:32:01 +00:00
Joe Boccanfuso
338bd865c3
feat(viewport): Added getter for presentation id provider. (#5053) 2025-05-16 13:22:09 -04:00
ohif-bot
cf1018c779 chore(version): Update package versions [skip ci] 2025-05-15 21:22:31 +00:00
ohif-bot
0f12fa16bc chore(version): version.json [skip ci] 2025-05-15 21:22:25 +00:00
Dan Rukas
04ab79f8fb
ui(feat): Adds light/dark mode support for viewport overlay text and markers (#5041)
Co-authored-by: sedghi <ar.sedghi@gmail.com>
2025-05-15 17:12:53 -04:00
ohif-bot
1fd39626e7 chore(version): Update package versions [skip ci] 2025-05-15 16:18:22 +00:00
ohif-bot
5e406a8c93 chore(version): version.json [skip ci] 2025-05-15 16:18:15 +00:00
Alireza
7c15bb8901
feat(actions): simplify action corner api through the toolbarService (#5033) 2025-05-15 12:08:12 -04:00
ohif-bot
f71b88e639 chore(version): Update package versions [skip ci] 2025-05-13 15:29:21 +00:00
ohif-bot
faaaccdfa7 chore(version): version.json [skip ci] 2025-05-13 15:29:14 +00:00
Celian-abd
da51e6e3c1
fix: Added missing export for LayoutSelector in ui-next (#5040) 2025-05-13 11:24:25 -04:00
ohif-bot
4a91dfdfa5 chore(version): Update package versions [skip ci] 2025-05-12 13:39:55 +00:00
ohif-bot
c2534198ad chore(version): version.json [skip ci] 2025-05-12 13:39:48 +00:00
Dan
950453fd70
fix(NotFoundStudy): Fixed the viewer not-found page when showStudyList: false (#5035) 2025-05-12 09:35:33 -04:00
ohif-bot
f4ba9b3cc6 chore(version): Update package versions [skip ci] 2025-05-09 12:24:02 +00:00
ohif-bot
7610b4c6a5 chore(version): version.json [skip ci] 2025-05-09 12:23:55 +00:00
taliabeckie
349306da40
fix(DicomWebProxyDataSource): bug fix to save Segmentation files back to Kheops (#5028) 2025-05-09 08:19:20 -04:00
ohif-bot
66322c68a2 chore(version): Update package versions [skip ci] 2025-05-08 16:56:20 +00:00
ohif-bot
4e03f34fd4 chore(version): version.json [skip ci] 2025-05-08 16:56:14 +00:00
Alireza
1445e12124
feat(app): Decouple colorbar UI from service and enable action menu programatic control (#5018) 2025-05-08 12:51:30 -04:00
ohif-bot
f14d9ebdd7 chore(version): Update package versions [skip ci] 2025-05-08 16:49:34 +00:00
ohif-bot
a3bf972177 chore(version): version.json [skip ci] 2025-05-08 16:49:26 +00:00
Bill Wallace
578c3939f0
feat(thumbnails): Enhance DICOM Thumbnail Rendering with different strategies (#5004)
Co-authored-by: Martin Bellehumeur, M. Eng. <23396581+mbellehumeur@users.noreply.github.com>
2025-05-08 12:44:56 -04:00
ohif-bot
dee6909a99 chore(version): Update package versions [skip ci] 2025-05-07 21:41:38 +00:00
ohif-bot
12094cc77a chore(version): version.json [skip ci] 2025-05-07 21:41:32 +00:00
Alireza
a5ea3e15c7
fix(orientationMarker): MPR orientation change should get reflected too (#5020) 2025-05-07 17:37:12 -04:00
ohif-bot
f412dc254b chore(version): Update package versions [skip ci] 2025-05-07 20:24:55 +00:00
ohif-bot
c0ed128fb7 chore(version): version.json [skip ci] 2025-05-07 20:24:49 +00:00
Rafael Osipov
c829270c80
feat: add locale files for Russian language, translated texts in locale json files to Russian language. (#4984) 2025-05-07 16:20:10 -04:00
ohif-bot
a16d612a8a chore(version): Update package versions [skip ci] 2025-05-06 15:10:20 +00:00
ohif-bot
5f94ebe81a chore(version): version.json [skip ci] 2025-05-06 15:10:13 +00:00
Ibrahim
8218a9d034
feat(i18n): add Arabic translations (#5013) 2025-05-06 11:05:34 -04:00
ohif-bot
4b94f18f7c chore(version): Update package versions [skip ci] 2025-05-05 20:40:11 +00:00
ohif-bot
8e7e9ca02f chore(version): version.json [skip ci] 2025-05-05 20:40:04 +00:00
Alireza
cd4e6408bc
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
ohif-bot
c1fced0573 chore(version): Update package versions [skip ci] 2025-05-05 15:32:36 +00:00
ohif-bot
e41019f2b3 chore(version): version.json [skip ci] 2025-05-05 15:32:30 +00:00
Alireza
383f45823c
refactor(viewport): Remove resize detector and optimize viewport resizing logic (#5006) 2025-05-05 11:27:26 -04:00
ohif-bot
6337d2e9cb chore(version): Update package versions [skip ci] 2025-05-02 18:50:57 +00:00
ohif-bot
e987710908 chore(version): version.json [skip ci] 2025-05-02 18:50:50 +00:00
Pedro Köhler
7dbe5e37b0
feat: improve menu modals customizations (#5011) 2025-05-02 14:45:39 -04:00
ohif-bot
ff974e2a03 chore(version): Update package versions [skip ci] 2025-05-02 18:10:04 +00:00
ohif-bot
cccf74d6ea chore(version): version.json [skip ci] 2025-05-02 18:09:57 +00:00
Alireza
4be8495335
fix/remove legacy ui (#5010) 2025-05-02 14:05:40 -04:00
ohif-bot
1cb8d328a4 chore(version): Update package versions [skip ci] 2025-05-01 22:22:48 +00:00
ohif-bot
2c8dda01ae chore(version): version.json [skip ci] 2025-05-01 22:22:42 +00:00
Alireza
4e185e4b21
docs: add llm txt (#5009) 2025-05-01 18:13:21 -04:00
ohif-bot
4732e8093e chore(version): Update package versions [skip ci] 2025-05-01 18:51:19 +00:00
ohif-bot
984471e972 chore(version): version.json [skip ci] 2025-05-01 18:51:13 +00:00
Julia Young
25cb71b3f6
docs: clarify terminology for study, series, and display sets (#5000) 2025-05-01 14:46:21 -04:00
ohif-bot
0e75f6d62c chore(version): Update package versions [skip ci] 2025-04-30 16:29:06 +00:00
ohif-bot
d75b3e25b6 chore(version): version.json [skip ci] 2025-04-30 16:28:59 +00:00
Tang Cheng
0bb9b17636
Fix: issue #4759 Enable proper DICOM image rendering when Rescale parameters are set to null (#5003) 2025-04-30 12:24:06 -04:00
ohif-bot
b21ee9bc5b chore(version): Update package versions [skip ci] 2025-04-29 18:58:50 +00:00
ohif-bot
7ed0f6d53b chore(version): version.json [skip ci] 2025-04-29 18:58:44 +00:00
Alireza
98f8187dfe
fix(referencelines): and bring back the notification for worker updates but disallow duplication (#5005) 2025-04-29 14:53:37 -04:00
ohif-bot
4643d6dc40 chore(version): Update package versions [skip ci] 2025-04-29 17:02:30 +00:00
ohif-bot
258b353269 chore(version): version.json [skip ci] 2025-04-29 17:02:23 +00:00
devin-ai-integration[bot]
0f39496290
fix(template): Update mode template to match current implementation (OHI-1833) (#4998)
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Alireza Sedghi <ar.sedghi@gmail.com>
2025-04-29 12:57:24 -04:00
ohif-bot
325cb3f7d5 chore(version): Update package versions [skip ci] 2025-04-22 17:33:27 +00:00
ohif-bot
088b563bf6 chore(version): version.json [skip ci] 2025-04-22 17:33:21 +00:00
Dan Rukas
09ac43f297
fix(docs): Fix SSR build errors by dynamically importing UI components and resolving other issues (#4991) 2025-04-22 13:28:49 -04:00
ohif-bot
d59828ab22 chore(version): Update package versions [skip ci] 2025-04-22 14:50:19 +00:00
ohif-bot
5f04b0f3be chore(version): version.json [skip ci] 2025-04-22 14:50:12 +00:00
Alireza
bdb847a6eb
fix docs (#4988) 2025-04-22 10:45:14 -04:00
ohif-bot
0052bf1ae3 chore(version): Update package versions [skip ci] 2025-04-22 14:05:34 +00:00
ohif-bot
41815ee2af chore(version): version.json [skip ci] 2025-04-22 14:05:28 +00:00
Alireza
56fdb82812
fix docs (#4986) 2025-04-22 10:00:40 -04:00
ohif-bot
fcde5ddbce chore(version): Update package versions [skip ci] 2025-04-22 13:20:21 +00:00
ohif-bot
7818f406d8 chore(version): version.json [skip ci] 2025-04-22 13:20:15 +00:00
Dan Rukas
329d5b6237
docs(components): Adds new components to ui-next documentation (#4974) 2025-04-22 09:15:40 -04:00
Devu-trenser
3b8faa8a76
feat: Improve unsupported displayset messages (#4979) 2025-04-22 09:11:28 -04:00
ohif-bot
59136e5435 chore(version): Update package versions [skip ci] 2025-04-18 15:38:25 +00:00
ohif-bot
88fccda491 chore(version): version.json [skip ci] 2025-04-18 15:38:19 +00:00
Pedro Köhler
5688a2b4b8
fix(dicomWebClient): use public getter for activeDataSourceName instead of accessing private property (#4973) 2025-04-18 11:33:42 -04:00
ohif-bot
f02ce22ae3 chore(version): Update package versions [skip ci] 2025-04-17 20:49:39 +00:00
ohif-bot
ff5a152270 chore(version): version.json [skip ci] 2025-04-17 20:49:33 +00:00
dependabot[bot]
082014a694
chore(deps): bump estree-util-value-to-estree from 3.2.1 to 3.3.3 in /platform/docs (#4929)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-17 16:43:55 -04:00
dependabot[bot]
194b4971c2
chore(deps): bump @babel/runtime from 7.26.0 to 7.27.0 in /platform/docs (#4964)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-17 16:43:48 -04:00
dependabot[bot]
d6c7b9c23c
chore(deps): bump http-proxy-middleware from 2.0.7 to 2.0.9 (#4963)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-17 16:43:39 -04:00
dependabot[bot]
b82465344c
chore(deps): bump @babel/runtime-corejs3 from 7.24.7 to 7.27.0 (#4962)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-17 16:43:30 -04:00
ohif-bot
f8cb810b92 chore(version): Update package versions [skip ci] 2025-04-17 12:36:52 +00:00
ohif-bot
dbda78df15 chore(version): version.json [skip ci] 2025-04-17 12:36:45 +00:00
Pedro Köhler
66a16cd22f
fix(ExtensionManager): getDataSources method (#4959) 2025-04-17 08:31:12 -04:00
ohif-bot
5a9fcd4bf0 chore(version): Update package versions [skip ci] 2025-04-16 21:40:06 +00:00
ohif-bot
69cddff628 chore(version): version.json [skip ci] 2025-04-16 21:40:00 +00:00
Alireza
08c14e9ba2
fix/runner (#4971) 2025-04-16 17:35:32 -04:00
Alireza
7fd522ab68
fix/runner (#4970) 2025-04-16 16:57:59 -04:00
Alireza
df74557866
fix/runner (#4969) 2025-04-16 16:49:36 -04:00
Alireza
69063a41b7
fix/runner (#4968) 2025-04-16 16:41:35 -04:00
Alireza
41fb597085
fix/runner4 (#4967) 2025-04-16 16:31:24 -04:00
ohif-bot
a3a35471a9 chore(version): Update package versions [skip ci] 2025-04-16 20:21:17 +00:00
ohif-bot
a0bcac15cd chore(version): version.json [skip ci] 2025-04-16 20:21:10 +00:00
Alireza
ac7875128c
fix/runner (#4966) 2025-04-16 16:16:28 -04:00
Alireza
bd02205ef9
fix/runner (#4965) 2025-04-16 16:09:06 -04:00
Alireza
9535422361
fix: github runner (#4961) 2025-04-16 16:02:06 -04:00
ohif-bot
a13380407b chore(version): Update package versions [skip ci] 2025-04-16 20:01:50 +00:00
ohif-bot
1a0d7a930c chore(version): version.json [skip ci] 2025-04-16 20:01:43 +00:00
Alireza
91117f40f8
chore: add test coverage (#4960) 2025-04-16 15:56:52 -04:00
ohif-bot
a41ed3bade chore(version): Update package versions [skip ci] 2025-04-14 14:05:04 +00:00
ohif-bot
f12f2bfec5 chore(version): version.json [skip ci] 2025-04-14 14:04:58 +00:00
Alireza
4a87302f06
fix: making onnxruntime work with rsbuild (#4957) 2025-04-14 09:59:39 -04:00
ohif-bot
5dae147155 chore(version): Update package versions [skip ci] 2025-04-11 19:09:38 +00:00
ohif-bot
4952dab010 chore(version): version.json [skip ci] 2025-04-11 19:09:31 +00:00
Dan Rukas
5425308e55
ui(fix): Study panel scrollbar fix and updates (#4951) 2025-04-11 15:03:56 -04:00
ohif-bot
c50298f394 chore(version): Update package versions [skip ci] 2025-04-11 16:46:37 +00:00
ohif-bot
a82ebeebb2 chore(version): version.json [skip ci] 2025-04-11 16:46:31 +00:00
Pedro Köhler
ed94df0dfe
fix: add back study browser scrollbar (#4942) 2025-04-11 12:41:16 -04:00
Pedro Köhler
4926a9532c
feat: expose scroll thumbnail into view (#4941) 2025-04-11 12:41:04 -04:00
Pedro Köhler
7a36eba67c
fix: enable measurements panel scroll (#4943) 2025-04-11 12:40:35 -04:00
ohif-bot
8a08d26f01 chore(version): Update package versions [skip ci] 2025-04-11 13:47:41 +00:00
ohif-bot
de598cdc1f chore(version): version.json [skip ci] 2025-04-11 13:47:35 +00:00
Pedro Köhler
a9b180c5d4
fix: make datasource selection work (#4944) 2025-04-11 09:42:54 -04:00
ohif-bot
ffc7ab6845 chore(version): Update package versions [skip ci] 2025-04-10 03:41:05 +00:00
ohif-bot
1714aa8ec7 chore(version): version.json [skip ci] 2025-04-10 03:40:59 +00:00
Alireza
ce0d152f92
docs: next version (#4940) 2025-04-09 23:36:24 -04:00
ohif-bot
16bcc06f15 chore(version): Update package versions [skip ci] 2025-04-10 03:30:26 +00:00
ohif-bot
bb42fd2a8d chore(version): version.json [skip ci] 2025-04-10 03:30:20 +00:00
Alireza
e37168094a
chore(version): move to the next beta version [BUMP BETA] (#4939) 2025-04-09 23:25:30 -04:00
ohif-bot
e1e9b5ccb1 chore(version): Update package versions [skip ci] 2025-04-09 20:54:34 +00:00
ohif-bot
6b7e73b78a chore(version): version.json [skip ci] 2025-04-09 20:54:27 +00:00
Alireza
43bc142439
fix(ui): Enhance UI Components and Update CornerstoneJS Dependencies and resizable panels (#4938)
Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
2025-04-09 16:49:55 -04:00
ohif-bot
c05ec1909f chore(version): Update package versions [skip ci] 2025-04-09 14:00:54 +00:00
ohif-bot
c7529394ad chore(version): version.json [skip ci] 2025-04-09 14:00:48 +00:00
Pedro Köhler
f6f60a63d2
fix: x-ray pixel spacing calibration (#4922) 2025-04-09 09:55:51 -04:00
ohif-bot
0d2ccc5830 chore(version): Update package versions [skip ci] 2025-04-09 03:01:36 +00:00
ohif-bot
08be5cc656 chore(version): version.json [skip ci] 2025-04-09 03:01:30 +00:00
Alireza
c453c29449
docs: migration guides 3p10 (#4937) 2025-04-08 22:57:07 -04:00
ohif-bot
a69dd8b1a0 chore(version): Update package versions [skip ci] 2025-04-08 22:38:59 +00:00
ohif-bot
17c5642a59 chore(version): version.json [skip ci] 2025-04-08 22:38:53 +00:00
Alireza
bd2f843469
chore: update screenshopts for test (#4934) 2025-04-08 18:34:45 -04:00
ohif-bot
8b9b02d84c chore(version): Update package versions [skip ci] 2025-04-08 21:25:58 +00:00
ohif-bot
c9958bafad chore(version): version.json [skip ci] 2025-04-08 21:25:52 +00:00
Dan Rukas
85f465968b
ui(fix): small Create Report dialog fixes (#4935) 2025-04-08 17:21:08 -04:00
ohif-bot
47e491f1c8 chore(version): Update package versions [skip ci] 2025-04-08 16:10:38 +00:00
ohif-bot
e56b53e897 chore(version): version.json [skip ci] 2025-04-08 16:10:32 +00:00
Alireza
2bdf4afa4d
refactor(ui): Migrate components to ui-next (#4930)
Co-authored-by: Dan Rukas <dan.rukas@gmail.com>
2025-04-08 12:06:07 -04:00
Dan Rukas
1b8729dded
ui(components): CinePlayer updated for ui-next (#4932) 2025-04-08 12:03:35 -04:00
ohif-bot
f71d370969 chore(version): Update package versions [skip ci] 2025-04-08 13:48:32 +00:00
ohif-bot
033831ee72 chore(version): version.json [skip ci] 2025-04-08 13:48:24 +00:00
Dan Rukas
49c08298fc
ui(colors): Adds neutral color variable and updates scrollbars (#4933) 2025-04-08 09:43:30 -04:00
elawende
cfa202e89a
fix(OIDC): Use new access_token after refresh (#4853)
Co-authored-by: Ernst Lawende <ernstl@bastion365.nl>
2025-04-08 09:43:06 -04:00
ohif-bot
391a5f3bdd chore(version): Update package versions [skip ci] 2025-04-07 20:50:11 +00:00
ohif-bot
64d65a6830 chore(version): version.json [skip ci] 2025-04-07 20:50:05 +00:00
Alireza
3653de7487
fix(segmentation): Add segment jump for new segments and make panels scrollable (#4928) 2025-04-07 16:45:29 -04:00
Dan Rukas
a8ac297e16
ui(components): Viewport components updated to ui-next with design updates (#4886) 2025-04-07 16:45:05 -04:00
ohif-bot
4e09f85d5d chore(version): Update package versions [skip ci] 2025-04-07 14:09:45 +00:00
ohif-bot
d2f187153d chore(version): version.json [skip ci] 2025-04-07 14:09:39 +00:00
Pedro Köhler
62e5a62066
feat: allow saving to same SR series (#4889) 2025-04-07 10:05:22 -04:00
ohif-bot
7b40963997 chore(version): Update package versions [skip ci] 2025-04-04 17:38:08 +00:00
ohif-bot
75493334cf chore(version): version.json [skip ci] 2025-04-04 17:38:00 +00:00
Pedro Köhler
746f2524eb
fix(cine): Resolve Cine Player Faults on DisplaySet Update (#4909) 2025-04-04 13:33:36 -04:00
ohif-bot
0eb9ff235c chore(version): Update package versions [skip ci] 2025-04-04 16:16:04 +00:00
ohif-bot
e9b95afd4c chore(version): version.json [skip ci] 2025-04-04 16:15:57 +00:00
Alireza
fc33bd0d59
feat(image capture): Enhance SEG and RTSS Support with Dependency Updates and Bug Fixes (#4924) 2025-04-04 12:11:29 -04:00
ohif-bot
479e280fdf chore(version): Update package versions [skip ci] 2025-04-04 16:07:02 +00:00
ohif-bot
d4f81cd2b7 chore(version): version.json [skip ci] 2025-04-04 16:06:55 +00:00
nithin-trenser
54fded554e
feat: Automate tracking prompts for a less disruptive annotation workflow (#4822)
Co-authored-by: Devu Jayalekshmi <devu.jayalekshmi@trenser.com>
2025-04-04 12:02:13 -04:00
ohif-bot
c0391cea1b chore(version): Update package versions [skip ci] 2025-04-03 15:45:43 +00:00
ohif-bot
a9e69eb36f chore(version): version.json [skip ci] 2025-04-03 15:45:36 +00:00
dependabot[bot]
a52be6460b
chore(deps): bump @babel/runtime-corejs2 from 7.25.7 to 7.26.10 (#4843)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-03 11:33:33 -04:00
dependabot[bot]
587b6423cb
chore(deps): bump @babel/helpers from 7.26.0 to 7.26.10 in /platform/docs (#4861)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-03 11:33:19 -04:00
dependabot[bot]
f52a32d6c5
chore(deps): bump @babel/runtime from 7.24.7 to 7.26.10 (#4860)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-03 11:33:09 -04:00
dependabot[bot]
8142c55b6a
chore(deps): bump @babel/runtime-corejs3 from 7.26.0 to 7.26.10 in /platform/docs (#4859)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-03 11:32:54 -04:00
dependabot[bot]
14afb42e2c
chore(deps): bump axios from 0.27.2 to 1.8.4 (#4905)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-03 11:32:45 -04:00
dependabot[bot]
4e8e4f1491
chore(deps): bump tar-fs from 2.1.1 to 2.1.2 (#4901)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-03 11:32:39 -04:00
dependabot[bot]
814a2c914b
chore(deps): bump image-size from 1.2.0 to 1.2.1 in /platform/docs (#4912)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-03 11:32:31 -04:00
ohif-bot
f4fb42adb2 chore(version): Update package versions [skip ci] 2025-04-02 22:23:12 +00:00
ohif-bot
0fee0236c2 chore(version): version.json [skip ci] 2025-04-02 22:23:05 +00:00
Alireza
e7fe879318
chore: update dependabot (#4916) 2025-04-02 18:17:05 -04:00
ohif-bot
a619634678 chore(version): Update package versions [skip ci] 2025-04-02 22:15:26 +00:00
ohif-bot
651a7dc574 chore(version): version.json [skip ci] 2025-04-02 22:15:20 +00:00
Alireza
8432d5f633
fix(seg): Enhance segmentation tools and UI, refactor code, and update dependencies (#4915) 2025-04-02 18:10:47 -04:00
ohif-bot
1dc00d3030 chore(version): Update package versions [skip ci] 2025-04-01 18:23:53 +00:00
ohif-bot
44d450c5b8 chore(version): version.json [skip ci] 2025-04-01 18:23:46 +00:00
Alireza
c75a3f3af5
feat(segmentation): Enhance Segmentation with New AI and Once Click Tools (#4910) 2025-04-01 14:19:03 -04:00
ohif-bot
908482d2e0 chore(version): Update package versions [skip ci] 2025-04-01 13:35:34 +00:00
ohif-bot
6b26db387e chore(version): version.json [skip ci] 2025-04-01 13:35:27 +00:00
Dan Rukas
b7419fb6a1
ui(components): Adds InputNumber component and 4d panel updates (#4874)
Co-authored-by: sedghi <ar.sedghi@gmail.com>
2025-04-01 09:30:32 -04:00
ohif-bot
c4045251fb chore(version): Update package versions [skip ci] 2025-03-31 13:14:52 +00:00
ohif-bot
ec4cc64b06 chore(version): version.json [skip ci] 2025-03-31 13:14:46 +00:00
dxlin
d9473e8db2
test: update Test/tmtv for v3.10.0-beta.136 (#4893) 2025-03-31 09:10:31 -04:00
ohif-bot
7f3fb9bb61 chore(version): Update package versions [skip ci] 2025-03-28 14:57:45 +00:00
ohif-bot
8cf5b52b84 chore(version): version.json [skip ci] 2025-03-28 14:57:39 +00:00
Alireza
d7bd36544a
fix: jump to measurement forever (#4867) 2025-03-28 10:53:04 -04:00
Alireza
eafa2efda5
Revert "fix(measurement): fix for measurement jump is not switching series in 2DMPR (#4779)" (#4898) 2025-03-28 10:17:33 -04:00
arul-trenser
3f06c966eb
fix(measurement): fix for measurement jump is not switching series in 2DMPR (#4779) 2025-03-28 10:14:19 -04:00
ohif-bot
951f95ef0a chore(version): Update package versions [skip ci] 2025-03-27 20:51:50 +00:00
ohif-bot
5737935a96 chore(version): version.json [skip ci] 2025-03-27 20:51:44 +00:00
Bill Wallace
459b0d223a
fix: routerBasename setting (#4891) 2025-03-27 16:47:16 -04:00
ohif-bot
c368d763b0 chore(version): Update package versions [skip ci] 2025-03-27 19:58:04 +00:00
ohif-bot
6b6f49b867 chore(version): version.json [skip ci] 2025-03-27 19:57:58 +00:00
Igor Octaviano
892d03fc3c
fix(seg): multiframe SEG (#4890) 2025-03-27 15:52:22 -04:00
ohif-bot
2acc878f26 chore(version): Update package versions [skip ci] 2025-03-26 18:02:55 +00:00
ohif-bot
1df91fd104 chore(version): version.json [skip ci] 2025-03-26 18:02:48 +00:00
Pedro Köhler
9bde644fce
fix: remove duplicated deleteMeasurements code (#4895) 2025-03-26 13:58:15 -04:00
2558 changed files with 235883 additions and 86780 deletions