Compare commits
74
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2851f4349d | ||
|
|
5e502f0f2b | ||
|
|
646dd583a2 | ||
|
|
8460409a62 | ||
|
|
ea64ff7b89 | ||
|
|
f5f086cd95 | ||
|
|
1a8db3b8c6 | ||
|
|
ac3ff44a56 | ||
|
|
62917c2142 | ||
|
|
c31db6513b | ||
|
|
c1d9d23f78 | ||
|
|
fb4441ba71 | ||
|
|
db16341a4f | ||
|
|
0fcf3a9dc1 | ||
|
|
75a24a3393 | ||
|
|
104de8d833 | ||
|
|
647fd025cf | ||
|
|
3fc8706126 | ||
|
|
539ff44f47 | ||
|
|
146897f216 | ||
|
|
a264413124 | ||
|
|
838f51957e | ||
|
|
bab20143fd | ||
|
|
946735bf90 | ||
|
|
a5be4c3dce | ||
|
|
171ea857cf | ||
|
|
9754fc1e92 | ||
|
|
6772deb4c6 | ||
|
|
1d0a8744b2 | ||
|
|
555c87f1c5 | ||
|
|
51d267e707 | ||
|
|
c5c18f9516 | ||
|
|
213a0974bb | ||
|
|
0d882a425d | ||
|
|
49ea3ac82b | ||
|
|
99736b6437 | ||
|
|
7fb67d2396 | ||
|
|
04b121c1ba | ||
|
|
9782980a7a | ||
|
|
27b1afe040 | ||
|
|
891d6570c1 | ||
|
|
48f8e806c3 | ||
|
|
45739b31a2 | ||
|
|
54ff608605 | ||
|
|
710fefe3e8 | ||
|
|
48f2f6fb13 | ||
|
|
3b9d3babf9 | ||
|
|
e71a20334a | ||
|
|
512aa3b07f | ||
|
|
c40ebd2124 | ||
|
|
ceb61fce15 | ||
|
|
9a97095d5c | ||
|
|
a448bafbc5 | ||
|
|
2da384ccbc | ||
|
|
02423c5bf3 | ||
|
|
5807889f79 | ||
|
|
a4c99e6926 | ||
|
|
f4ac95f96f | ||
|
|
76199884de | ||
|
|
64cd189cce | ||
|
|
8f13d92fa8 | ||
|
|
6dedf5573e | ||
|
|
b69abf25ee | ||
|
|
891012397b | ||
|
|
06612fe177 | ||
|
|
0321361e2c | ||
|
|
1bc0dece64 | ||
|
|
0fd517d6ab | ||
|
|
b2f6e1f237 | ||
|
|
dbb7873238 | ||
|
|
afe184ec78 | ||
|
|
3cfddc1f64 | ||
|
|
1142cdbb46 | ||
|
|
320f0a7463 |
No files matched your search
+33
-7
@@ -6,7 +6,7 @@ orbs:
|
||||
|
||||
defaults: &defaults
|
||||
docker:
|
||||
- image: cimg/node:20.18.1
|
||||
- image: cimg/node:20.19.0
|
||||
environment:
|
||||
TERM: xterm
|
||||
QUICK_BUILD: true
|
||||
@@ -112,15 +112,41 @@ jobs:
|
||||
- checkout
|
||||
- attach_workspace:
|
||||
at: ~/repo
|
||||
# SECURITY AUDIT
|
||||
# SECURITY AUDIT - only when bun.lock has changed
|
||||
- run:
|
||||
name: 'Security Audit - High Risk Vulnerabilities'
|
||||
command: |
|
||||
echo "🔍 Running bun audit for security vulnerabilities..."
|
||||
git fetch origin master 2>/dev/null || true
|
||||
BASE_REF=$(git merge-base HEAD origin/master 2>/dev/null)
|
||||
if [[ -z "$BASE_REF" ]]; then
|
||||
echo "Could not determine base ref (e.g. shallow clone or no origin/master), skipping security audit."
|
||||
exit 0
|
||||
fi
|
||||
CHANGED_FILES=$(git diff --name-only origin/master...HEAD 2>/dev/null || echo "")
|
||||
if ! echo "$CHANGED_FILES" | grep -qx 'bun.lock'; then
|
||||
echo "⏭️ bun.lock unchanged - skipping security audit."
|
||||
exit 0
|
||||
fi
|
||||
echo "🔍 bun.lock changed - running bun audit for security vulnerabilities..."
|
||||
echo "Checking for HIGH-RISK vulnerabilities..."
|
||||
|
||||
# Ignore CVE-2025-64756 (aka GHSA-5j98-mcp5-4vw2) - glob is not used on the command line
|
||||
if bun audit --ignore=GHSA-5j98-mcp5-4vw2 --audit-level high; then
|
||||
# Define ignored vulnerabilities with comments
|
||||
IGNORED_VULNS=(
|
||||
"GHSA-3ppc-4f35-3m26" # CVE-2026-26996 - minimatch via itk-wasm and glob is safe because it does NOT use the CLI
|
||||
# CVE-2026-26996 - minimatch via other packages are strictly for building and CI/CD purposes; no user supplied expressions are passed to minimatch
|
||||
"GHSA-7r86-cg39-jmmj" # CVE-2026-27903 - minimatch same as above
|
||||
"GHSA-23c5-xmqv-rm74" # CVE-2026-27904 - minimatch same as above
|
||||
"GHSA-c2c7-rcm5-vvqj" # CVE-2026-33671 - picomatch is generally used for development and CI/CD purposes
|
||||
"GHSA-mp2f-45pm-3cg9" # CVE-2026-53486 - decompress is called only ever decompresses a hash-pinned, hardcoded archive in a dev-only CLI
|
||||
)
|
||||
|
||||
# Build ignore flags
|
||||
IGNORE_FLAGS=""
|
||||
for vuln in "${IGNORED_VULNS[@]}"; do
|
||||
IGNORE_FLAGS="$IGNORE_FLAGS --ignore=$vuln"
|
||||
done
|
||||
|
||||
if bun audit $IGNORE_FLAGS --audit-level high; then
|
||||
echo "✅ No high-risk vulnerabilities found"
|
||||
echo "🎉 Security audit passed!"
|
||||
else
|
||||
@@ -137,8 +163,7 @@ jobs:
|
||||
echo ""
|
||||
echo "📋 Full audit report:"
|
||||
|
||||
# Ignore CVE-2025-64756 (aka GHSA-5j98-mcp5-4vw2) - glob is not used on the command line
|
||||
bun audit --ignore=GHSA-5j98-mcp5-4vw2 --audit-level low || true
|
||||
bun audit $IGNORE_FLAGS --audit-level low || true
|
||||
|
||||
echo ""
|
||||
echo "❌ This build cannot proceed until high-risk vulnerabilities are resolved."
|
||||
@@ -362,6 +387,7 @@ jobs:
|
||||
resource_class: large
|
||||
parallelism: 8
|
||||
steps:
|
||||
- install_bun
|
||||
- run:
|
||||
name: Install System Dependencies
|
||||
command: |
|
||||
|
||||
@@ -2,6 +2,8 @@ version: 2
|
||||
enable-beta-ecosystems: true
|
||||
updates:
|
||||
- package-ecosystem: 'bun'
|
||||
# Disable all pull requests for bun version updates.
|
||||
open-pull-requests-limit: 0
|
||||
directory: '/'
|
||||
schedule:
|
||||
interval: 'daily'
|
||||
@@ -10,6 +12,8 @@ updates:
|
||||
prefix: 'chore'
|
||||
include: 'scope'
|
||||
- package-ecosystem: 'npm'
|
||||
# Disable all pull requests for npm version updates.
|
||||
open-pull-requests-limit: 0
|
||||
directory: '/'
|
||||
schedule:
|
||||
interval: 'daily'
|
||||
|
||||
@@ -9,8 +9,8 @@ concurrency:
|
||||
|
||||
jobs:
|
||||
playwright-tests:
|
||||
timeout-minutes: 60
|
||||
runs-on: self-hosted
|
||||
timeout-minutes: 120
|
||||
runs-on: [self-hosted, nashua]
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
@@ -28,17 +28,22 @@ jobs:
|
||||
- name: Install dependencies
|
||||
run: bun install --frozen-lockfile
|
||||
- name: Install Playwright browsers
|
||||
run: npx playwright install
|
||||
# Only chromium is used (firefox/webkit projects are commented out in
|
||||
# playwright.config.ts). Scoping the install to chromium avoids
|
||||
# downloading + dep-validating browsers we never launch (the WebKit
|
||||
# validation is what surfaces "missing libwoff1/libflite1/..." on hosts
|
||||
# without those libs).
|
||||
run: npx playwright install chromium
|
||||
- name: Run Playwright tests
|
||||
run: |
|
||||
export NODE_OPTIONS="--max_old_space_size=10192"
|
||||
bun run test:e2e:coverage
|
||||
bash .scripts/ci/with-nashua-lock.sh bun run test:e2e:coverage
|
||||
- name: Create directory of test results
|
||||
if: ${{ !cancelled() }}
|
||||
run: |
|
||||
mkdir -p packaged-test-results
|
||||
cp -r ./tests/test-results packaged-test-results/ || true
|
||||
cp ./tests/playwright-report.json packaged-test-results/ || true
|
||||
cp -r ./tests/playwright-report packaged-test-results/ || true
|
||||
- name: Upload directory of test results artifact
|
||||
if: ${{ !cancelled() }}
|
||||
uses: actions/upload-artifact@v4
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Run a command while holding the nashua Playwright mutex.
|
||||
#
|
||||
# Only one Playwright run may execute at a time on the shared nashua self-hosted
|
||||
# runner — across THIS repo (OHIF) AND the cornerstone3D repo. GitHub's
|
||||
# `concurrency:` is scoped per-repository and cannot coordinate across the two
|
||||
# orgs, so the mutex lives on the box's filesystem.
|
||||
#
|
||||
# This is OHIF's own copy (the script can't be shared across separate repos). It
|
||||
# MUST use the SAME lock path as cornerstone3D's copy (NASHUA_LOCK_FILE default
|
||||
# below) — if the paths differ, the mutex silently does nothing.
|
||||
#
|
||||
# flock holds the lock via fd 9 and it releases automatically when the wrapped
|
||||
# command exits — including on job cancel / timeout / SIGKILL — so there are no
|
||||
# stale locks to clean up.
|
||||
#
|
||||
# Usage: .scripts/ci/with-nashua-lock.sh <command> [args...]
|
||||
|
||||
# Strict mode: -e abort on any unhandled command failure, -u treat use of an
|
||||
# unset variable as an error, -o pipefail make a pipeline fail if ANY stage
|
||||
# fails (not just the last). Catches mistakes early instead of pressing on.
|
||||
set -euo pipefail
|
||||
|
||||
LOCK="${NASHUA_LOCK_FILE:-/var/tmp/nashua-playwright.lock}" # MUST match cornerstone3D's copy
|
||||
LOCK_WAIT="${NASHUA_LOCK_WAIT:-5400}" # max seconds to wait
|
||||
|
||||
# Guard: a command to wrap is required. With no arguments there is nothing to
|
||||
# run, so print usage and exit instead of silently grabbing and releasing the
|
||||
# lock for no reason (which would mask a mis-wired workflow step).
|
||||
if [ "$#" -eq 0 ]; then
|
||||
echo "usage: $0 <command> [args...]" >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
# Open the lock file on fd 9 (read-write, create if missing, never truncate).
|
||||
exec 9<>"$LOCK" || { echo "::error::cannot open lock file $LOCK"; exit 1; }
|
||||
|
||||
# Try instantly; if busy, report who holds it, then block up to LOCK_WAIT.
|
||||
if ! flock -n 9; then
|
||||
echo "nashua Playwright runner busy — held by: $(cat "${LOCK}.info" 2>/dev/null || echo unknown). Waiting up to ${LOCK_WAIT}s…"
|
||||
if ! flock -w "$LOCK_WAIT" 9; then
|
||||
echo "::error::Timed out after ${LOCK_WAIT}s waiting for the nashua Playwright lock"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Record the current holder for other jobs' "held by" message (best-effort).
|
||||
echo "${GITHUB_REPOSITORY:-local}#${GITHUB_RUN_ID:-0} @ $(date -u +%FT%TZ 2>/dev/null || true)" > "${LOCK}.info" 2>/dev/null || true
|
||||
echo "✅ Acquired nashua Playwright lock ($LOCK); running: $*"
|
||||
|
||||
# Replace the shell with the command. fd 9 is inherited (not close-on-exec), so
|
||||
# the lock is held for the whole command and released when it exits.
|
||||
exec "$@"
|
||||
+176
@@ -3,6 +3,182 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package ohif-monorepo-root
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **security:** Update dependencies to fix security vulnerabilities. Release 3.12.5 ([#6086](https://github.com/OHIF/Viewers/issues/6086)) ([f5f086c](https://github.com/OHIF/Viewers/commit/f5f086cd953bfcb783276fbb8d687e05fa118725))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **security:** Update axios to fix security vulnerabilities. Release 3.12.4 ([#6064](https://github.com/OHIF/Viewers/issues/6064)) ([62917c2](https://github.com/OHIF/Viewers/commit/62917c214246233b7b76aa8926fdfd645a2385a7))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **security:** Add tmp as a resolution to fix security vulnerability. Trigger release 3.12.3. ([#6045](https://github.com/OHIF/Viewers/issues/6045)) ([fb4441b](https://github.com/OHIF/Viewers/commit/fb4441ba71ec95dd494d120152a61df9261024cb))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **release:** make publish-version.mjs idempotent for re-runs ([647fd02](https://github.com/OHIF/Viewers/commit/647fd025cf7212acc03b66807974f5d0f8ba0708))
|
||||
* **security:** Update various dependencies to fix security vulnerabilities. Release 3.12.2 ([#6024](https://github.com/OHIF/Viewers/issues/6024)) ([75a24a3](https://github.com/OHIF/Viewers/commit/75a24a33935bda8779da30ef9b725b387d80723d))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package ohif-monorepo-root
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **jump-to-contour-segment:** For contours like those from RSTRUCTs, use generic jumpToSegmentCenter if a segment center is available. ([#5785](https://github.com/OHIF/Viewers/issues/5785)) ([45739b3](https://github.com/OHIF/Viewers/commit/45739b31a2c72cb646c733929f733a8e180a616c))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **HistoryMemo:** Segmentation delete wasn't remembered ([#5775](https://github.com/OHIF/Viewers/issues/5775)) ([48f2f6f](https://github.com/OHIF/Viewers/commit/48f2f6fb13f9ba0aa03ad51afd2812466bcb2f58))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **jump-to-label-map:** Use `undefined` for viewportId for arrow navigation. ([#5774](https://github.com/OHIF/Viewers/issues/5774)) ([512aa3b](https://github.com/OHIF/Viewers/commit/512aa3b07f4c783040acd67e3fd2103559a06522))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package ohif-monorepo-root
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **segmentation:** Use jumpToSegmentNext instead of jumpToSegmentCenter for arrow navigation. ([#5759](https://github.com/OHIF/Viewers/issues/5759)) ([02423c5](https://github.com/OHIF/Viewers/commit/02423c5bf3131006df92c8054994887d1811d821))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package ohif-monorepo-root
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Handle optional ContentSequence for NUM content items ([#5703](https://github.com/OHIF/Viewers/issues/5703)) ([6dedf55](https://github.com/OHIF/Viewers/commit/6dedf5573e78a5751bed0b79646700acedfc8a38))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **TMTV:** Consider blend mode when adding segmentation representations. OHIF-2416, OHIF-2369 ([#5735](https://github.com/OHIF/Viewers/issues/5735)) ([06612fe](https://github.com/OHIF/Viewers/commit/06612fe177e2c31c33fa5c81c092b830a337cac2))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Navigate to contour should work ([#5718](https://github.com/OHIF/Viewers/issues/5718)) ([0fd517d](https://github.com/OHIF/Viewers/commit/0fd517d6ab583652a3667f9af49413648f2755db))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* the null value check issue in image spacing calculation ([#5726](https://github.com/OHIF/Viewers/issues/5726)) ([afe184e](https://github.com/OHIF/Viewers/commit/afe184ec78dcc8f780e64687e06670365beeb77e))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **security:** Ignore CVE-2026-23745, CVE-2026-23950 and CVE-2024-28863 because they are limited to build/dev environments. ([#5733](https://github.com/OHIF/Viewers/issues/5733)) ([320f0a7](https://github.com/OHIF/Viewers/commit/320f0a7463ad95251842ece6cd329bba7b6b2a97))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
|
||||
|
||||
+139
@@ -3,6 +3,145 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @externals/devDependencies
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **security:** Update dependencies to fix security vulnerabilities. Release 3.12.5 ([#6086](https://github.com/OHIF/Viewers/issues/6086)) ([f5f086c](https://github.com/OHIF/Viewers/commit/f5f086cd953bfcb783276fbb8d687e05fa118725))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @externals/devDependencies
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @externals/devDependencies
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @externals/devDependencies
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @externals/devDependencies
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @externals/devDependencies
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @externals/devDependencies
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
**Note:** Version bump only for package @externals/devDependencies
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @externals/devDependencies
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @externals/devDependencies
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @externals/devDependencies
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @externals/devDependencies
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @externals/devDependencies
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @externals/devDependencies
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @externals/devDependencies
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @externals/devDependencies
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @externals/devDependencies
|
||||
|
||||
+11
-15
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@externals/devDependencies",
|
||||
"description": "External dev dependencies - put dev build dependencies here",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"license": "MIT",
|
||||
"private": true,
|
||||
"engines": {
|
||||
@@ -20,7 +20,6 @@
|
||||
"react-dom": "18.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/eslint-parser": "7.28.0",
|
||||
"@pmmmwh/react-refresh-webpack-plugin": "0.5.17",
|
||||
"@rsbuild/core": "1.5.1",
|
||||
"@rsbuild/plugin-node-polyfill": "1.4.2",
|
||||
@@ -28,30 +27,27 @@
|
||||
"@svgr/webpack": "8.1.0",
|
||||
"@swc/helpers": "0.5.17",
|
||||
"@types/jest": "27.5.2",
|
||||
"@typescript-eslint/eslint-plugin": "6.21.0",
|
||||
"@typescript-eslint/parser": "6.21.0",
|
||||
"@typescript-eslint/eslint-plugin": "8.56.0",
|
||||
"@typescript-eslint/parser": "8.56.0",
|
||||
"autoprefixer": "10.4.21",
|
||||
"babel-loader": "8.4.1",
|
||||
"babel-plugin-module-resolver": "5.0.2",
|
||||
"clean-webpack-plugin": "3.0.0",
|
||||
"copy-webpack-plugin": "9.1.0",
|
||||
"cross-env": "7.0.3",
|
||||
"css-loader": "6.11.0",
|
||||
"dotenv": "8.6.0",
|
||||
"eslint": "8.57.1",
|
||||
"eslint": "9.39.3",
|
||||
"eslint-config-prettier": "7.2.0",
|
||||
"eslint-config-react-app": "6.0.0",
|
||||
"eslint-config-react-app": "7.0.1",
|
||||
"eslint-plugin-cypress": "2.15.2",
|
||||
"eslint-plugin-flowtype": "7.0.0",
|
||||
"eslint-plugin-import": "2.32.0",
|
||||
"eslint-plugin-jsx-a11y": "6.10.2",
|
||||
"eslint-plugin-node": "11.1.0",
|
||||
"eslint-plugin-prettier": "5.5.1",
|
||||
"eslint-plugin-promise": "5.2.0",
|
||||
"eslint-plugin-promise": "7.2.1",
|
||||
"eslint-plugin-react": "7.37.5",
|
||||
"eslint-plugin-react-hooks": "4.6.2",
|
||||
"eslint-plugin-react-hooks": "7.0.1",
|
||||
"eslint-plugin-tsdoc": "0.2.17",
|
||||
"eslint-webpack-plugin": "2.7.0",
|
||||
"execa": "8.0.1",
|
||||
"extract-css-chunks-webpack-plugin": "4.10.0",
|
||||
"html-webpack-plugin": "5.6.3",
|
||||
@@ -60,7 +56,7 @@
|
||||
"jest-canvas-mock": "2.5.2",
|
||||
"jest-environment-jsdom": "29.7.0",
|
||||
"jest-junit": "6.4.0",
|
||||
"lerna": "7.4.2",
|
||||
"lerna": "9.0.4",
|
||||
"lint-staged": "9.5.0",
|
||||
"mini-css-extract-plugin": "2.9.2",
|
||||
"optimize-css-assets-webpack-plugin": "6.0.1",
|
||||
@@ -72,7 +68,7 @@
|
||||
"prettier-plugin-tailwindcss": "0.6.9",
|
||||
"react-refresh": "0.14.2",
|
||||
"semver": "7.7.2",
|
||||
"serve": "14.2.4",
|
||||
"serve": "14.2.5",
|
||||
"shader-loader": "1.3.1",
|
||||
"shx": "0.3.4",
|
||||
"source-map-loader": "4.0.2",
|
||||
@@ -80,8 +76,8 @@
|
||||
"terser-webpack-plugin": "5.3.14",
|
||||
"typescript": "5.5.4",
|
||||
"unused-webpack-plugin": "2.4.0",
|
||||
"webpack": "5.95.0",
|
||||
"webpack-bundle-analyzer": "4.10.2",
|
||||
"webpack": "5.105.0",
|
||||
"webpack-bundle-analyzer": "5.3.0",
|
||||
"webpack-cli": "5.1.4",
|
||||
"webpack-dev-server": "5.2.2",
|
||||
"webpack-hot-middleware": "2.26.1",
|
||||
|
||||
@@ -3,6 +3,142 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @externals/dicom-microscopy-viewer
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @externals/dicom-microscopy-viewer
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @externals/dicom-microscopy-viewer
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @externals/dicom-microscopy-viewer
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @externals/dicom-microscopy-viewer
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @externals/dicom-microscopy-viewer
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @externals/dicom-microscopy-viewer
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @externals/dicom-microscopy-viewer
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
**Note:** Version bump only for package @externals/dicom-microscopy-viewer
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @externals/dicom-microscopy-viewer
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @externals/dicom-microscopy-viewer
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @externals/dicom-microscopy-viewer
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @externals/dicom-microscopy-viewer
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @externals/dicom-microscopy-viewer
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @externals/dicom-microscopy-viewer
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @externals/dicom-microscopy-viewer
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @externals/dicom-microscopy-viewer
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@externals/dicom-microscopy-viewer",
|
||||
"description": "External reference to dicom-microscopy-viewer",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"dicom-microscopy-viewer": "0.48.17"
|
||||
|
||||
+2
-2
@@ -31,14 +31,14 @@
|
||||
"@babel/plugin-transform-regenerator": "7.28.1",
|
||||
"@babel/plugin-transform-runtime": "7.28.0",
|
||||
"@babel/plugin-transform-typescript": "7.28.0",
|
||||
"@babel/preset-env": "7.28.0",
|
||||
"@babel/preset-env": "7.29.5",
|
||||
"@babel/preset-react": "7.27.1",
|
||||
"@babel/preset-typescript": "7.27.1"
|
||||
},
|
||||
"resolutions": {
|
||||
"**/@babel/runtime": "7.28.2",
|
||||
"commander": "8.3.0",
|
||||
"dcmjs": "0.45.0",
|
||||
"dcmjs": "0.49.4",
|
||||
"dicomweb-client": "0.10.4",
|
||||
"nth-check": "2.1.1",
|
||||
"trim-newlines": "5.0.0",
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
4a1f5098654dc7afef4c135f2e2198a0e785f4b9
|
||||
646dd583a2a6e7a3c2d370c6312f23967f96471e
|
||||
@@ -3,6 +3,151 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-pmap
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-pmap
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-pmap
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-pmap
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-pmap
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-pmap
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-pmap
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **HistoryMemo:** Segmentation delete wasn't remembered ([#5775](https://github.com/OHIF/Viewers/issues/5775)) ([48f2f6f](https://github.com/OHIF/Viewers/commit/48f2f6fb13f9ba0aa03ad51afd2812466bcb2f58))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **jump-to-label-map:** Use `undefined` for viewportId for arrow navigation. ([#5774](https://github.com/OHIF/Viewers/issues/5774)) ([512aa3b](https://github.com/OHIF/Viewers/commit/512aa3b07f4c783040acd67e3fd2103559a06522))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-pmap
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-pmap
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-pmap
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-pmap
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **TMTV:** Consider blend mode when adding segmentation representations. OHIF-2416, OHIF-2369 ([#5735](https://github.com/OHIF/Viewers/issues/5735)) ([06612fe](https://github.com/OHIF/Viewers/commit/06612fe177e2c31c33fa5c81c092b830a337cac2))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-pmap
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-pmap
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-pmap
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-pmap
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/extension-cornerstone-dicom-pmap",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "DICOM Parametric Map read workflow",
|
||||
"author": "OHIF",
|
||||
"license": "MIT",
|
||||
@@ -33,10 +33,10 @@
|
||||
"start": "yarn run dev"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone": "3.12.0-beta.124",
|
||||
"@ohif/extension-default": "3.12.0-beta.124",
|
||||
"@ohif/i18n": "3.12.0-beta.124",
|
||||
"@ohif/core": "3.12.6",
|
||||
"@ohif/extension-cornerstone": "3.12.6",
|
||||
"@ohif/extension-default": "3.12.6",
|
||||
"@ohif/i18n": "3.12.6",
|
||||
"prop-types": "15.8.1",
|
||||
"react": "18.3.1",
|
||||
"react-dom": "18.3.1",
|
||||
@@ -46,9 +46,8 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "7.28.2",
|
||||
"@cornerstonejs/adapters": "4.15.9",
|
||||
"@cornerstonejs/core": "4.15.9",
|
||||
"@kitware/vtk.js": "34.15.1",
|
||||
"react-color": "2.19.3"
|
||||
"@cornerstonejs/adapters": "4.15.29",
|
||||
"@cornerstonejs/core": "4.15.29",
|
||||
"@kitware/vtk.js": "34.15.1"
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,142 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/extension-cornerstone-dicom-rt",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "DICOM RT read workflow",
|
||||
"author": "OHIF",
|
||||
"license": "MIT",
|
||||
@@ -33,10 +33,10 @@
|
||||
"start": "yarn run dev"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone": "3.12.0-beta.124",
|
||||
"@ohif/extension-default": "3.12.0-beta.124",
|
||||
"@ohif/i18n": "3.12.0-beta.124",
|
||||
"@ohif/core": "3.12.6",
|
||||
"@ohif/extension-cornerstone": "3.12.6",
|
||||
"@ohif/extension-default": "3.12.6",
|
||||
"@ohif/i18n": "3.12.6",
|
||||
"prop-types": "15.8.1",
|
||||
"react": "18.3.1",
|
||||
"react-dom": "18.3.1",
|
||||
@@ -45,7 +45,6 @@
|
||||
"react-router-dom": "6.30.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "7.28.2",
|
||||
"react-color": "2.19.3"
|
||||
"@babel/runtime": "7.28.2"
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,151 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-seg
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-seg
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-seg
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-seg
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-seg
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-seg
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-seg
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **HistoryMemo:** Segmentation delete wasn't remembered ([#5775](https://github.com/OHIF/Viewers/issues/5775)) ([48f2f6f](https://github.com/OHIF/Viewers/commit/48f2f6fb13f9ba0aa03ad51afd2812466bcb2f58))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **jump-to-label-map:** Use `undefined` for viewportId for arrow navigation. ([#5774](https://github.com/OHIF/Viewers/issues/5774)) ([512aa3b](https://github.com/OHIF/Viewers/commit/512aa3b07f4c783040acd67e3fd2103559a06522))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-seg
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-seg
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-seg
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-seg
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **TMTV:** Consider blend mode when adding segmentation representations. OHIF-2416, OHIF-2369 ([#5735](https://github.com/OHIF/Viewers/issues/5735)) ([06612fe](https://github.com/OHIF/Viewers/commit/06612fe177e2c31c33fa5c81c092b830a337cac2))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-seg
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-seg
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-seg
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-seg
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/extension-cornerstone-dicom-seg",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "DICOM SEG read workflow",
|
||||
"author": "OHIF",
|
||||
"license": "MIT",
|
||||
@@ -33,10 +33,10 @@
|
||||
"start": "yarn run dev"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone": "3.12.0-beta.124",
|
||||
"@ohif/extension-default": "3.12.0-beta.124",
|
||||
"@ohif/i18n": "3.12.0-beta.124",
|
||||
"@ohif/core": "3.12.6",
|
||||
"@ohif/extension-cornerstone": "3.12.6",
|
||||
"@ohif/extension-default": "3.12.6",
|
||||
"@ohif/i18n": "3.12.6",
|
||||
"prop-types": "15.8.1",
|
||||
"react": "18.3.1",
|
||||
"react-dom": "18.3.1",
|
||||
@@ -46,9 +46,8 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "7.28.2",
|
||||
"@cornerstonejs/adapters": "4.15.9",
|
||||
"@cornerstonejs/core": "4.15.9",
|
||||
"@kitware/vtk.js": "34.15.1",
|
||||
"react-color": "2.19.3"
|
||||
"@cornerstonejs/adapters": "4.15.29",
|
||||
"@cornerstonejs/core": "4.15.29",
|
||||
"@kitware/vtk.js": "34.15.1"
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,154 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-sr
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-sr
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-sr
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-sr
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-sr
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-sr
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-sr
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **HistoryMemo:** Segmentation delete wasn't remembered ([#5775](https://github.com/OHIF/Viewers/issues/5775)) ([48f2f6f](https://github.com/OHIF/Viewers/commit/48f2f6fb13f9ba0aa03ad51afd2812466bcb2f58))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **jump-to-label-map:** Use `undefined` for viewportId for arrow navigation. ([#5774](https://github.com/OHIF/Viewers/issues/5774)) ([512aa3b](https://github.com/OHIF/Viewers/commit/512aa3b07f4c783040acd67e3fd2103559a06522))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-sr
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-sr
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-sr
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Handle optional ContentSequence for NUM content items ([#5703](https://github.com/OHIF/Viewers/issues/5703)) ([6dedf55](https://github.com/OHIF/Viewers/commit/6dedf5573e78a5751bed0b79646700acedfc8a38))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **TMTV:** Consider blend mode when adding segmentation representations. OHIF-2416, OHIF-2369 ([#5735](https://github.com/OHIF/Viewers/issues/5735)) ([06612fe](https://github.com/OHIF/Viewers/commit/06612fe177e2c31c33fa5c81c092b830a337cac2))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-sr
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-sr
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-sr
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-sr
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/extension-cornerstone-dicom-sr",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "OHIF extension for an SR Cornerstone Viewport",
|
||||
"author": "OHIF",
|
||||
"license": "MIT",
|
||||
@@ -34,11 +34,11 @@
|
||||
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone": "3.12.0-beta.124",
|
||||
"@ohif/extension-measurement-tracking": "3.12.0-beta.124",
|
||||
"@ohif/ui": "3.12.0-beta.124",
|
||||
"dcmjs": "0.45.0",
|
||||
"@ohif/core": "3.12.6",
|
||||
"@ohif/extension-cornerstone": "3.12.6",
|
||||
"@ohif/extension-measurement-tracking": "3.12.6",
|
||||
"@ohif/ui": "3.12.6",
|
||||
"dcmjs": "0.49.4",
|
||||
"dicom-parser": "1.8.21",
|
||||
"hammerjs": "2.0.8",
|
||||
"prop-types": "15.8.1",
|
||||
@@ -46,9 +46,9 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "7.28.2",
|
||||
"@cornerstonejs/adapters": "4.15.9",
|
||||
"@cornerstonejs/core": "4.15.9",
|
||||
"@cornerstonejs/tools": "4.15.9",
|
||||
"@cornerstonejs/adapters": "4.15.29",
|
||||
"@cornerstonejs/core": "4.15.29",
|
||||
"@cornerstonejs/tools": "4.15.29",
|
||||
"classnames": "2.5.1"
|
||||
}
|
||||
}
|
||||
@@ -637,15 +637,20 @@ function _processNonGeometricallyDefinedMeasurement(mergedContentSequence) {
|
||||
NUMContentItems.forEach(item => {
|
||||
const { ConceptNameCodeSequence, ContentSequence, MeasuredValueSequence } = item;
|
||||
|
||||
const { ValueType } = ContentSequence;
|
||||
if (ValueType !== 'SCOORD' && ValueType !== 'SCOORD3D') {
|
||||
console.warn(`Graphic ${ValueType} not currently supported, skipping annotation.`);
|
||||
return;
|
||||
}
|
||||
// Handle spatial reference ONLY if ContentSequence exists
|
||||
if (ContentSequence) {
|
||||
const { ValueType } = ContentSequence;
|
||||
|
||||
const coords = _getCoordsFromSCOORDOrSCOORD3D(ContentSequence);
|
||||
if (coords) {
|
||||
measurement.coords.push(coords);
|
||||
if (ValueType !== 'SCOORD' && ValueType !== 'SCOORD3D') {
|
||||
console.warn(`Graphic ${ValueType} not currently supported, skipping annotation.`);
|
||||
return;
|
||||
}
|
||||
|
||||
const coords = _getCoordsFromSCOORDOrSCOORD3D(ContentSequence);
|
||||
|
||||
if (coords) {
|
||||
measurement.coords.push(coords);
|
||||
}
|
||||
}
|
||||
|
||||
if (MeasuredValueSequence) {
|
||||
|
||||
@@ -3,6 +3,151 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dynamic-volume
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dynamic-volume
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dynamic-volume
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dynamic-volume
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dynamic-volume
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dynamic-volume
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dynamic-volume
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **HistoryMemo:** Segmentation delete wasn't remembered ([#5775](https://github.com/OHIF/Viewers/issues/5775)) ([48f2f6f](https://github.com/OHIF/Viewers/commit/48f2f6fb13f9ba0aa03ad51afd2812466bcb2f58))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **jump-to-label-map:** Use `undefined` for viewportId for arrow navigation. ([#5774](https://github.com/OHIF/Viewers/issues/5774)) ([512aa3b](https://github.com/OHIF/Viewers/commit/512aa3b07f4c783040acd67e3fd2103559a06522))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dynamic-volume
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dynamic-volume
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dynamic-volume
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dynamic-volume
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **TMTV:** Consider blend mode when adding segmentation representations. OHIF-2416, OHIF-2369 ([#5735](https://github.com/OHIF/Viewers/issues/5735)) ([06612fe](https://github.com/OHIF/Viewers/commit/06612fe177e2c31c33fa5c81c092b830a337cac2))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dynamic-volume
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dynamic-volume
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dynamic-volume
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone-dynamic-volume
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/extension-cornerstone-dynamic-volume",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "OHIF extension for 4D volumes data",
|
||||
"author": "OHIF",
|
||||
"license": "MIT",
|
||||
@@ -29,12 +29,12 @@
|
||||
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone": "3.12.0-beta.124",
|
||||
"@ohif/extension-default": "3.12.0-beta.124",
|
||||
"@ohif/i18n": "3.12.0-beta.124",
|
||||
"@ohif/ui": "3.12.0-beta.124",
|
||||
"dcmjs": "0.45.0",
|
||||
"@ohif/core": "3.12.6",
|
||||
"@ohif/extension-cornerstone": "3.12.6",
|
||||
"@ohif/extension-default": "3.12.6",
|
||||
"@ohif/i18n": "3.12.6",
|
||||
"@ohif/ui": "3.12.6",
|
||||
"dcmjs": "0.49.4",
|
||||
"dicom-parser": "1.8.21",
|
||||
"hammerjs": "2.0.8",
|
||||
"prop-types": "15.8.1",
|
||||
@@ -42,8 +42,8 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "7.28.2",
|
||||
"@cornerstonejs/core": "4.15.9",
|
||||
"@cornerstonejs/tools": "4.15.9",
|
||||
"@cornerstonejs/core": "4.15.29",
|
||||
"@cornerstonejs/tools": "4.15.29",
|
||||
"classnames": "2.5.1"
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,160 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **jump-to-contour-segment:** For contours like those from RSTRUCTs, use generic jumpToSegmentCenter if a segment center is available. ([#5785](https://github.com/OHIF/Viewers/issues/5785)) ([45739b3](https://github.com/OHIF/Viewers/commit/45739b31a2c72cb646c733929f733a8e180a616c))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **HistoryMemo:** Segmentation delete wasn't remembered ([#5775](https://github.com/OHIF/Viewers/issues/5775)) ([48f2f6f](https://github.com/OHIF/Viewers/commit/48f2f6fb13f9ba0aa03ad51afd2812466bcb2f58))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **jump-to-label-map:** Use `undefined` for viewportId for arrow navigation. ([#5774](https://github.com/OHIF/Viewers/issues/5774)) ([512aa3b](https://github.com/OHIF/Viewers/commit/512aa3b07f4c783040acd67e3fd2103559a06522))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **segmentation:** Use jumpToSegmentNext instead of jumpToSegmentCenter for arrow navigation. ([#5759](https://github.com/OHIF/Viewers/issues/5759)) ([02423c5](https://github.com/OHIF/Viewers/commit/02423c5bf3131006df92c8054994887d1811d821))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **TMTV:** Consider blend mode when adding segmentation representations. OHIF-2416, OHIF-2369 ([#5735](https://github.com/OHIF/Viewers/issues/5735)) ([06612fe](https://github.com/OHIF/Viewers/commit/06612fe177e2c31c33fa5c81c092b830a337cac2))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Navigate to contour should work ([#5718](https://github.com/OHIF/Viewers/issues/5718)) ([0fd517d](https://github.com/OHIF/Viewers/commit/0fd517d6ab583652a3667f9af49413648f2755db))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-cornerstone
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/extension-cornerstone",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "OHIF extension for Cornerstone",
|
||||
"author": "OHIF",
|
||||
"license": "MIT",
|
||||
@@ -40,10 +40,10 @@
|
||||
"@cornerstonejs/codec-libjpeg-turbo-8bit": "1.2.2",
|
||||
"@cornerstonejs/codec-openjpeg": "1.3.0",
|
||||
"@cornerstonejs/codec-openjph": "2.4.7",
|
||||
"@cornerstonejs/dicom-image-loader": "4.15.9",
|
||||
"@ohif/core": "3.12.0-beta.124",
|
||||
"@ohif/ui": "3.12.0-beta.124",
|
||||
"dcmjs": "0.45.0",
|
||||
"@cornerstonejs/dicom-image-loader": "4.15.29",
|
||||
"@ohif/core": "3.12.6",
|
||||
"@ohif/ui": "3.12.6",
|
||||
"dcmjs": "0.49.4",
|
||||
"dicom-parser": "1.8.21",
|
||||
"hammerjs": "2.0.8",
|
||||
"prop-types": "15.8.1",
|
||||
@@ -53,19 +53,20 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "7.28.2",
|
||||
"@cornerstonejs/adapters": "4.15.9",
|
||||
"@cornerstonejs/ai": "4.15.9",
|
||||
"@cornerstonejs/core": "4.15.9",
|
||||
"@cornerstonejs/labelmap-interpolation": "4.15.9",
|
||||
"@cornerstonejs/polymorphic-segmentation": "4.15.9",
|
||||
"@cornerstonejs/tools": "4.15.9",
|
||||
"@cornerstonejs/adapters": "4.15.29",
|
||||
"@cornerstonejs/ai": "4.15.29",
|
||||
"@cornerstonejs/core": "4.15.29",
|
||||
"@cornerstonejs/labelmap-interpolation": "4.15.29",
|
||||
"@cornerstonejs/polymorphic-segmentation": "4.15.29",
|
||||
"@cornerstonejs/tools": "4.15.29",
|
||||
"@icr/polyseg-wasm": "0.4.0",
|
||||
"@itk-wasm/morphological-contour-interpolation": "1.1.0",
|
||||
"@kitware/vtk.js": "34.15.1",
|
||||
"html2canvas": "1.4.1",
|
||||
"immutability-helper": "3.1.1",
|
||||
"lodash.compact": "3.0.1",
|
||||
"lodash.debounce": "4.0.8",
|
||||
"lodash.flatten": "4.4.0",
|
||||
"lodash.merge": "4.6.2",
|
||||
"lodash.zip": "4.2.0",
|
||||
"shader-loader": "1.3.1",
|
||||
"worker-loader": "3.0.8"
|
||||
|
||||
@@ -1608,7 +1608,7 @@ function commandsModule({
|
||||
? animationFunctionType
|
||||
: undefined;
|
||||
|
||||
segmentationService.jumpToSegmentCenter(
|
||||
segmentationService.jumpToSegmentNext(
|
||||
segmentationId,
|
||||
segmentIndex,
|
||||
undefined,
|
||||
|
||||
@@ -59,6 +59,7 @@ import utils from './utils';
|
||||
import { useMeasurementTracking } from './hooks/useMeasurementTracking';
|
||||
import { setUpSegmentationEventHandlers } from './utils/setUpSegmentationEventHandlers';
|
||||
import { setUpAnnotationEventHandlers } from './utils/setUpAnnotationEventHandlers';
|
||||
import update from 'immutability-helper';
|
||||
export * from './components';
|
||||
|
||||
const { imageRetrieveMetadataProvider } = cornerstone.utilities;
|
||||
@@ -75,7 +76,7 @@ const OHIFCornerstoneViewport = props => {
|
||||
);
|
||||
};
|
||||
|
||||
const stackRetrieveOptions = {
|
||||
const DEFAULT_STACK_RETRIEVE_OPTIONS = {
|
||||
retrieveOptions: {
|
||||
single: {
|
||||
streaming: true,
|
||||
@@ -84,6 +85,12 @@ const stackRetrieveOptions = {
|
||||
},
|
||||
};
|
||||
|
||||
/** Normalize to immutability-helper spec: plain object → $merge, otherwise use as-is. */
|
||||
const toUpdateSpec = (obj: object) =>
|
||||
obj != null && typeof obj === 'object' && Object.keys(obj).some(k => k.startsWith('$'))
|
||||
? obj
|
||||
: { $merge: (obj ?? {}) as object };
|
||||
|
||||
const unsubscriptions = [];
|
||||
/**
|
||||
*
|
||||
@@ -94,7 +101,11 @@ const cornerstoneExtension: Types.Extensions.Extension = {
|
||||
*/
|
||||
id,
|
||||
|
||||
onModeEnter: ({ servicesManager, commandsManager }: withAppTypes): void => {
|
||||
onModeEnter: ({
|
||||
servicesManager,
|
||||
commandsManager,
|
||||
extensionManager,
|
||||
}: withAppTypes): void => {
|
||||
const { cornerstoneViewportService, toolbarService, segmentationService } =
|
||||
servicesManager.services;
|
||||
|
||||
@@ -131,10 +142,17 @@ const cornerstoneExtension: Types.Extensions.Extension = {
|
||||
'volume',
|
||||
cornerstone.ProgressiveRetrieveImages.interleavedRetrieveStages
|
||||
);
|
||||
// The default stack loading option is to progressive load HTJ2K images
|
||||
// There are other possible options, but these need more thought about
|
||||
// how to define them.
|
||||
imageRetrieveMetadataProvider.add('stack', stackRetrieveOptions);
|
||||
|
||||
/**
|
||||
* Stack retrieve options: read from active data source configuration.
|
||||
* Pass an immutability-helper spec (e.g. { $merge: {...} } or { $set: {...} }) in
|
||||
* stackRetrieveOptions to customize. Plain object is treated as $merge for backward compat.
|
||||
* Set streaming: false for uncompressed DICOM that requires full file before decode.
|
||||
*/
|
||||
const sourceConfig = extensionManager?.getActiveDataSource?.()?.[0]?.getConfig?.() ?? {};
|
||||
const config = sourceConfig.stackRetrieveOptions ?? {};
|
||||
const stackOptions = update(DEFAULT_STACK_RETRIEVE_OPTIONS, toUpdateSpec(config)) as typeof DEFAULT_STACK_RETRIEVE_OPTIONS;
|
||||
imageRetrieveMetadataProvider.add('stack', stackOptions);
|
||||
},
|
||||
getPanelModule,
|
||||
onModeExit: ({ servicesManager }: withAppTypes): void => {
|
||||
|
||||
@@ -2117,7 +2117,9 @@ describe('SegmentationService', () => {
|
||||
service.removeSegment(segmentationId, segmentIndex);
|
||||
|
||||
expect(cstSegmentation.removeSegment).toHaveBeenCalledTimes(1);
|
||||
expect(cstSegmentation.removeSegment).toHaveBeenCalledWith(segmentationId, segmentIndex);
|
||||
expect(cstSegmentation.removeSegment).toHaveBeenCalledWith(segmentationId, segmentIndex, {
|
||||
recordHistory: true,
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ import {
|
||||
Enums as csToolsEnums,
|
||||
segmentation as cstSegmentation,
|
||||
Types as cstTypes,
|
||||
annotation as cstAnnotation,
|
||||
} from '@cornerstonejs/tools';
|
||||
|
||||
import { PubSubService, Types as OHIFTypes } from '@ohif/core';
|
||||
@@ -24,6 +25,9 @@ import { VOLUME_LOADER_SCHEME } from '../../constants';
|
||||
import { mapROIContoursToRTStructData } from './RTSTRUCT/mapROIContoursToRTStructData';
|
||||
import { SegmentationPresentation, SegmentationPresentationItem } from '../../types/Presentation';
|
||||
import { EasingFunctionEnum, EasingFunctionMap } from '../../utils/transitions';
|
||||
import { ViewReference } from '@cornerstonejs/core/types';
|
||||
|
||||
const { DefaultHistoryMemo } = csUtils.HistoryMemo;
|
||||
|
||||
const {
|
||||
Labelmap: LABELMAP,
|
||||
@@ -949,11 +953,75 @@ class SegmentationService extends PubSubService {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a memo that records the current state of a segment (segmentationId/segmentIndex)
|
||||
* so that undo can restore it via addSegment and redo can call removeSegment again
|
||||
* without recording history.
|
||||
*
|
||||
* @param segmentationId - The ID of the segmentation.
|
||||
* @param segmentIndex - The index of the segment (must still exist when called).
|
||||
* @param _options - Reserved (e.g. deleting) for future use.
|
||||
* @returns A Memo with restoreMemo(undo): undo => addSegment, redo => removeSegment (skipRecordingHistory).
|
||||
*/
|
||||
public createSegmentIndexMemo(
|
||||
segmentationId: string,
|
||||
segmentIndex: number,
|
||||
_options?: { deleting?: boolean }
|
||||
): csTypes.Memo | null {
|
||||
const csSegmentation = this.getCornerstoneSegmentation(segmentationId);
|
||||
const segment = csSegmentation?.segments?.[segmentIndex];
|
||||
if (!segment) {
|
||||
return null;
|
||||
}
|
||||
|
||||
let color: csTypes.Color | undefined;
|
||||
let visibility: boolean | undefined;
|
||||
const viewportIds = this.getViewportIdsWithSegmentation(segmentationId);
|
||||
if (viewportIds.length > 0) {
|
||||
const firstViewportId = viewportIds[0];
|
||||
const representations = this.getSegmentationRepresentations(firstViewportId, {
|
||||
segmentationId,
|
||||
});
|
||||
const repType = representations[0]?.type ?? LABELMAP;
|
||||
color = this.getSegmentColor(firstViewportId, segmentationId, segmentIndex);
|
||||
visibility = cstSegmentation.config.visibility.getSegmentIndexVisibility(
|
||||
firstViewportId,
|
||||
{ segmentationId, type: repType },
|
||||
segmentIndex
|
||||
);
|
||||
}
|
||||
|
||||
const segmentState = {
|
||||
segmentIndex,
|
||||
label: segment.label,
|
||||
isLocked: segment.locked,
|
||||
active: segment.active,
|
||||
color,
|
||||
visibility,
|
||||
};
|
||||
|
||||
const service = this;
|
||||
const memo: csTypes.Memo = {
|
||||
id: csUtils.uuidv4(),
|
||||
operationType: 'segmentIndex',
|
||||
restoreMemo(undo?: boolean) {
|
||||
if (undo === true) {
|
||||
service.addSegment(segmentationId, segmentState);
|
||||
} else {
|
||||
// Redo: remove the segment via cornerstone without recording history
|
||||
cstSegmentation.removeSegment(segmentationId, segmentIndex, { recordHistory: false });
|
||||
}
|
||||
},
|
||||
};
|
||||
return memo;
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes a segment from a segmentation and updates the active segment index if necessary.
|
||||
*
|
||||
* @param segmentationId - The ID of the segmentation containing the segment to remove.
|
||||
* @param segmentIndex - The index of the segment to remove.
|
||||
* @param options - Optional. skipRecordingHistory: if true, do not push undo memo (used when redoing).
|
||||
*
|
||||
* @remarks
|
||||
* This method performs the following actions:
|
||||
@@ -962,8 +1030,21 @@ class SegmentationService extends PubSubService {
|
||||
* 3. If the removed segment was the active segment, it updates the active segment index.
|
||||
*
|
||||
*/
|
||||
public removeSegment(segmentationId: string, segmentIndex: number): void {
|
||||
cstSegmentation.removeSegment(segmentationId, segmentIndex);
|
||||
public removeSegment(
|
||||
segmentationId: string,
|
||||
segmentIndex: number,
|
||||
options?: { skipRecordingHistory?: boolean }
|
||||
): void {
|
||||
let memo;
|
||||
if (!options?.skipRecordingHistory) {
|
||||
memo = this.createSegmentIndexMemo(segmentationId, segmentIndex, { deleting: true });
|
||||
DefaultHistoryMemo.startGroupRecording();
|
||||
cstSegmentation.removeSegment(segmentationId, segmentIndex, { recordHistory: true });
|
||||
DefaultHistoryMemo.push(memo);
|
||||
DefaultHistoryMemo.endGroupRecording();
|
||||
} else {
|
||||
cstSegmentation.removeSegment(segmentationId, segmentIndex, { recordHistory: false });
|
||||
}
|
||||
}
|
||||
|
||||
public setSegmentVisibility(
|
||||
@@ -1246,6 +1327,127 @@ class SegmentationService extends PubSubService {
|
||||
cstSegmentation.removeSegmentationRepresentations(viewportId, specifier);
|
||||
}
|
||||
|
||||
/**
|
||||
* Jumps to the next slice that contains the specified segment in the viewport.
|
||||
* For labelmaps, it jumps to the segment center. For contours, it cycles through
|
||||
* all slices that contain contour data for the segment.
|
||||
*
|
||||
* @param segmentationId - The ID of the segmentation
|
||||
* @param segmentIndex - The index of the segment to jump to
|
||||
* @param viewportId - Optional viewport ID. If not provided, applies to all viewports with this segmentation
|
||||
* @param highlightAlpha - Alpha value for highlighting (0-1)
|
||||
* @param highlightSegment - Whether to highlight the segment after jumping
|
||||
* @param animationLength - Length of highlight animation in milliseconds
|
||||
* @param highlightHideOthers - Whether to hide other segments during highlight
|
||||
* @param animationFunctionType - The easing function to use for animation
|
||||
*/
|
||||
public jumpToSegmentNext(
|
||||
segmentationId: string,
|
||||
segmentIndex: number,
|
||||
forViewportId?: string,
|
||||
direction = 1,
|
||||
highlightAlpha = 0.9,
|
||||
highlightSegment = true,
|
||||
animationLength = 750,
|
||||
highlightHideOthers = false,
|
||||
animationFunctionType: EasingFunctionEnum = EasingFunctionEnum.EASE_IN_OUT
|
||||
): void {
|
||||
const viewportIds = forViewportId
|
||||
? [forViewportId]
|
||||
: this.getViewportIdsWithSegmentation(segmentationId);
|
||||
|
||||
viewportIds.forEach(viewportId => {
|
||||
const representations = this.getSegmentationRepresentations(viewportId, {
|
||||
segmentationId,
|
||||
});
|
||||
|
||||
if (!representations || representations.length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
const representation = representations[0];
|
||||
const { type } = representation;
|
||||
|
||||
// For contours, check if we have a segment center.
|
||||
const center =
|
||||
type === CONTOUR ? this._getSegmentCenter(segmentationId, segmentIndex) : undefined;
|
||||
const canUseSegmentCenter = type !== CONTOUR || !!center;
|
||||
if (canUseSegmentCenter) {
|
||||
this.jumpToSegmentCenter(
|
||||
segmentationId,
|
||||
segmentIndex,
|
||||
viewportId,
|
||||
highlightAlpha,
|
||||
highlightSegment,
|
||||
animationLength,
|
||||
highlightHideOthers,
|
||||
animationFunctionType,
|
||||
center
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
const { viewport } = getEnabledElementByViewportId(viewportId);
|
||||
if (!viewport) {
|
||||
return;
|
||||
}
|
||||
|
||||
const viewRefs = this._getContourViewReferences(segmentationId, viewport, segmentIndex);
|
||||
if (!viewRefs) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Get the current slice index
|
||||
const currentSliceIndex = viewport.getCurrentImageIdIndex();
|
||||
let nearestSliceIndex = null;
|
||||
let loopSliceIndex = null;
|
||||
|
||||
for (const [sliceIndex] of viewRefs.entries()) {
|
||||
// Track loop index for wraparound (smallest for forward, largest for backward)
|
||||
if (direction > 0) {
|
||||
if (loopSliceIndex === null || sliceIndex < loopSliceIndex) {
|
||||
loopSliceIndex = sliceIndex;
|
||||
}
|
||||
} else {
|
||||
if (loopSliceIndex === null || sliceIndex > loopSliceIndex) {
|
||||
loopSliceIndex = sliceIndex;
|
||||
}
|
||||
}
|
||||
|
||||
if (direction > 0) {
|
||||
// Forward direction: find nearest slice after current
|
||||
if (sliceIndex <= currentSliceIndex) {
|
||||
continue;
|
||||
}
|
||||
if (nearestSliceIndex === null || sliceIndex < nearestSliceIndex) {
|
||||
nearestSliceIndex = sliceIndex;
|
||||
}
|
||||
} else {
|
||||
// Backward direction: find nearest slice before current
|
||||
if (sliceIndex >= currentSliceIndex) {
|
||||
continue;
|
||||
}
|
||||
if (nearestSliceIndex === null || sliceIndex > nearestSliceIndex) {
|
||||
nearestSliceIndex = sliceIndex;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Wraparound: if no slice found in direction, use loop index
|
||||
nearestSliceIndex = nearestSliceIndex ?? loopSliceIndex;
|
||||
if (nearestSliceIndex === null) {
|
||||
return;
|
||||
}
|
||||
const viewRef = viewRefs.get(nearestSliceIndex);
|
||||
viewport.setViewReference(viewRef);
|
||||
viewport.render();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Jumps the viewport to the center of hte given segment.
|
||||
* Only works for labelmaps, and may result in not showing any contours.
|
||||
*/
|
||||
public jumpToSegmentCenter(
|
||||
segmentationId: string,
|
||||
segmentIndex: number,
|
||||
@@ -1254,15 +1456,16 @@ class SegmentationService extends PubSubService {
|
||||
highlightSegment = true,
|
||||
animationLength = 750,
|
||||
highlightHideOthers = false,
|
||||
animationFunctionType: EasingFunctionEnum = EasingFunctionEnum.EASE_IN_OUT
|
||||
animationFunctionType: EasingFunctionEnum = EasingFunctionEnum.EASE_IN_OUT,
|
||||
center?: { image?: csTypes.Point3; world: csTypes.Point3 }
|
||||
): void {
|
||||
const center = this._getSegmentCenter(segmentationId, segmentIndex);
|
||||
if (!center) {
|
||||
const resolvedCenter = center ?? this._getSegmentCenter(segmentationId, segmentIndex);
|
||||
if (!resolvedCenter) {
|
||||
console.warn('No center found for segmentation', segmentationId, segmentIndex);
|
||||
return;
|
||||
}
|
||||
|
||||
const { world } = center as { world: csTypes.Point3 };
|
||||
const { world } = resolvedCenter as { world: csTypes.Point3 };
|
||||
|
||||
// need to find which viewports are displaying the segmentation
|
||||
const viewportIds = viewportId
|
||||
@@ -1943,6 +2146,62 @@ class SegmentationService extends PubSubService {
|
||||
segmentationId,
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* Gets slice indices for contour segmentations by checking view references from annotation metadata
|
||||
* @private
|
||||
*/
|
||||
protected _getContourViewReferences(
|
||||
segmentationId: string,
|
||||
viewport: csTypes.IViewport,
|
||||
segmentIndex?: number
|
||||
): Map<number, ViewReference> | undefined {
|
||||
const segmentation = cstSegmentation.state.getSegmentation(segmentationId);
|
||||
const contourData = segmentation.representationData[CONTOUR];
|
||||
|
||||
if (!contourData || !contourData.annotationUIDsMap) {
|
||||
return;
|
||||
}
|
||||
|
||||
const viewReferences = new Map<number, ViewReference>();
|
||||
// Iterate through the annotationUIDsMap
|
||||
contourData.annotationUIDsMap.forEach((annotationUIDs, currentSegmentIndex) => {
|
||||
// Filter by segment index if specified
|
||||
if (segmentIndex !== undefined && currentSegmentIndex !== segmentIndex) {
|
||||
return;
|
||||
}
|
||||
// Process each annotation UID
|
||||
annotationUIDs.forEach(annotationUID => {
|
||||
const annotation = cstAnnotation.state.getAnnotation(annotationUID);
|
||||
|
||||
if (!annotation?.metadata) {
|
||||
return;
|
||||
}
|
||||
const { metadata } = annotation;
|
||||
// Check if the viewport can view this annotation's view reference with navigation
|
||||
const isViewable = viewport.isReferenceViewable(metadata, {
|
||||
withNavigation: true,
|
||||
});
|
||||
|
||||
if (!isViewable) {
|
||||
return;
|
||||
}
|
||||
|
||||
const { sliceIndex } = metadata;
|
||||
if (sliceIndex === undefined) {
|
||||
console.warn("Can't find slice index:", metadata);
|
||||
return;
|
||||
}
|
||||
|
||||
viewReferences.set(sliceIndex, metadata);
|
||||
});
|
||||
});
|
||||
|
||||
if (viewReferences.size === 0) {
|
||||
return;
|
||||
}
|
||||
return viewReferences;
|
||||
}
|
||||
}
|
||||
|
||||
export default SegmentationService;
|
||||
|
||||
+1
-1
@@ -91,7 +91,7 @@ const segmentationRepresentationModifiedCallback = async (
|
||||
type,
|
||||
config: {
|
||||
blendMode:
|
||||
viewport.getBlendMode() === 1 ? BlendModes.LABELMAP_EDGE_PROJECTION_BLEND : undefined,
|
||||
viewport?.getBlendMode?.() === 1 ? BlendModes.LABELMAP_EDGE_PROJECTION_BLEND : undefined,
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
@@ -38,6 +38,7 @@ import { usePositionPresentationStore } from '../../stores/usePositionPresentati
|
||||
import { useSynchronizersStore } from '../../stores/useSynchronizersStore';
|
||||
import { useSegmentationPresentationStore } from '../../stores/useSegmentationPresentationStore';
|
||||
import getClosestOrientationFromIOP from '../../utils/isReferenceViewable';
|
||||
import { BlendModes } from '@cornerstonejs/core/enums';
|
||||
|
||||
const EVENTS = {
|
||||
VIEWPORT_DATA_CHANGED: 'event::cornerstoneViewportService:viewportDataChanged',
|
||||
@@ -1192,6 +1193,10 @@ class CornerstoneViewportService extends PubSubService implements IViewportServi
|
||||
segmentationId,
|
||||
predecessorImageId,
|
||||
type: representationType,
|
||||
config: {
|
||||
blendMode:
|
||||
viewport?.getBlendMode?.() === 1 ? BlendModes.LABELMAP_EDGE_PROJECTION_BLEND : undefined,
|
||||
},
|
||||
});
|
||||
|
||||
// store the segmentation presentation id in the viewport info
|
||||
@@ -1457,6 +1462,12 @@ class CornerstoneViewportService extends PubSubService implements IViewportServi
|
||||
segmentationService.addSegmentationRepresentation(viewport.id, {
|
||||
segmentationId,
|
||||
type: representationType,
|
||||
config: {
|
||||
blendMode:
|
||||
viewport?.getBlendMode?.() === 1
|
||||
? BlendModes.LABELMAP_EDGE_PROJECTION_BLEND
|
||||
: undefined,
|
||||
},
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -129,7 +129,7 @@ const CornerstoneViewportDownloadForm = ({
|
||||
downloadViewport.setVolumes([{ volumeId: volumeIds[0] }]);
|
||||
}
|
||||
|
||||
if (segmentationRepresentations.length > 0) {
|
||||
if (segmentationRepresentations?.length) {
|
||||
segmentationRepresentations.forEach(segRepresentation => {
|
||||
const { segmentationId, colorLUTIndex, type } = segRepresentation;
|
||||
if (type === Enums.SegmentationRepresentations.Labelmap) {
|
||||
|
||||
@@ -5,7 +5,7 @@ describe('handleSegmentChange', () => {
|
||||
getSegmentation: jest.fn(),
|
||||
getActiveSegment: jest.fn(),
|
||||
setActiveSegment: jest.fn(),
|
||||
jumpToSegmentCenter: jest.fn(),
|
||||
jumpToSegmentNext: jest.fn(),
|
||||
};
|
||||
|
||||
const mockSegmentation = {
|
||||
@@ -40,11 +40,12 @@ describe('handleSegmentChange', () => {
|
||||
});
|
||||
|
||||
it('should move to next segment when direction is positive and activeSegment is null', () => {
|
||||
const direction = 1;
|
||||
mockSegmentationService.getActiveSegment.mockReturnValue(null);
|
||||
|
||||
handleSegmentChange({
|
||||
...defaultParameters,
|
||||
direction: 1,
|
||||
direction,
|
||||
selectedSegmentObjectIndex: 0,
|
||||
});
|
||||
|
||||
@@ -58,19 +59,21 @@ describe('handleSegmentChange', () => {
|
||||
defaultParameters.segmentationId,
|
||||
2
|
||||
);
|
||||
expect(mockSegmentationService.jumpToSegmentCenter).toHaveBeenCalledWith(
|
||||
expect(mockSegmentationService.jumpToSegmentNext).toHaveBeenCalledWith(
|
||||
defaultParameters.segmentationId,
|
||||
2,
|
||||
defaultParameters.viewportId
|
||||
undefined,
|
||||
direction
|
||||
);
|
||||
});
|
||||
|
||||
it('should move to previous segment when direction is negative and activeSegment is null', () => {
|
||||
const direction = -1;
|
||||
mockSegmentationService.getActiveSegment.mockReturnValue(null);
|
||||
|
||||
handleSegmentChange({
|
||||
...defaultParameters,
|
||||
direction: -1,
|
||||
direction,
|
||||
selectedSegmentObjectIndex: 1,
|
||||
});
|
||||
|
||||
@@ -78,14 +81,16 @@ describe('handleSegmentChange', () => {
|
||||
defaultParameters.segmentationId,
|
||||
1
|
||||
);
|
||||
expect(mockSegmentationService.jumpToSegmentCenter).toHaveBeenCalledWith(
|
||||
expect(mockSegmentationService.jumpToSegmentNext).toHaveBeenCalledWith(
|
||||
defaultParameters.segmentationId,
|
||||
1,
|
||||
defaultParameters.viewportId
|
||||
undefined,
|
||||
direction
|
||||
);
|
||||
});
|
||||
|
||||
it('should update selectedSegmentObjectIndex when activeSegment is found', () => {
|
||||
const direction = 1;
|
||||
const mockActiveSegment = {
|
||||
segmentIndex: 2,
|
||||
};
|
||||
@@ -93,7 +98,7 @@ describe('handleSegmentChange', () => {
|
||||
|
||||
handleSegmentChange({
|
||||
...defaultParameters,
|
||||
direction: 1,
|
||||
direction,
|
||||
selectedSegmentObjectIndex: 0,
|
||||
});
|
||||
|
||||
@@ -101,19 +106,21 @@ describe('handleSegmentChange', () => {
|
||||
defaultParameters.segmentationId,
|
||||
3
|
||||
);
|
||||
expect(mockSegmentationService.jumpToSegmentCenter).toHaveBeenCalledWith(
|
||||
expect(mockSegmentationService.jumpToSegmentNext).toHaveBeenCalledWith(
|
||||
defaultParameters.segmentationId,
|
||||
3,
|
||||
defaultParameters.viewportId
|
||||
undefined,
|
||||
direction
|
||||
);
|
||||
});
|
||||
|
||||
it('should loop to first segment when going beyond last segment', () => {
|
||||
const direction = 1;
|
||||
mockSegmentationService.getActiveSegment.mockReturnValue(null);
|
||||
|
||||
handleSegmentChange({
|
||||
...defaultParameters,
|
||||
direction: 1,
|
||||
direction,
|
||||
selectedSegmentObjectIndex: 2,
|
||||
});
|
||||
|
||||
@@ -121,19 +128,21 @@ describe('handleSegmentChange', () => {
|
||||
defaultParameters.segmentationId,
|
||||
1
|
||||
);
|
||||
expect(mockSegmentationService.jumpToSegmentCenter).toHaveBeenCalledWith(
|
||||
expect(mockSegmentationService.jumpToSegmentNext).toHaveBeenCalledWith(
|
||||
defaultParameters.segmentationId,
|
||||
1,
|
||||
defaultParameters.viewportId
|
||||
undefined,
|
||||
direction
|
||||
);
|
||||
});
|
||||
|
||||
it('should loop to last segment when going before first segment', () => {
|
||||
const direction = -1;
|
||||
mockSegmentationService.getActiveSegment.mockReturnValue(null);
|
||||
|
||||
handleSegmentChange({
|
||||
...defaultParameters,
|
||||
direction: -1,
|
||||
direction,
|
||||
selectedSegmentObjectIndex: 0,
|
||||
});
|
||||
|
||||
@@ -141,19 +150,21 @@ describe('handleSegmentChange', () => {
|
||||
defaultParameters.segmentationId,
|
||||
3
|
||||
);
|
||||
expect(mockSegmentationService.jumpToSegmentCenter).toHaveBeenCalledWith(
|
||||
expect(mockSegmentationService.jumpToSegmentNext).toHaveBeenCalledWith(
|
||||
defaultParameters.segmentationId,
|
||||
3,
|
||||
defaultParameters.viewportId
|
||||
undefined,
|
||||
direction
|
||||
);
|
||||
});
|
||||
|
||||
it('should handle direction with value greater than 1', () => {
|
||||
const direction = 2;
|
||||
mockSegmentationService.getActiveSegment.mockReturnValue(null);
|
||||
|
||||
handleSegmentChange({
|
||||
...defaultParameters,
|
||||
direction: 2,
|
||||
direction,
|
||||
selectedSegmentObjectIndex: 0,
|
||||
});
|
||||
|
||||
@@ -161,19 +172,21 @@ describe('handleSegmentChange', () => {
|
||||
defaultParameters.segmentationId,
|
||||
3
|
||||
);
|
||||
expect(mockSegmentationService.jumpToSegmentCenter).toHaveBeenCalledWith(
|
||||
expect(mockSegmentationService.jumpToSegmentNext).toHaveBeenCalledWith(
|
||||
defaultParameters.segmentationId,
|
||||
3,
|
||||
defaultParameters.viewportId
|
||||
undefined,
|
||||
direction
|
||||
);
|
||||
});
|
||||
|
||||
it('should handle direction with value less than -1', () => {
|
||||
const direction = -2;
|
||||
mockSegmentationService.getActiveSegment.mockReturnValue(null);
|
||||
|
||||
handleSegmentChange({
|
||||
...defaultParameters,
|
||||
direction: -2,
|
||||
direction,
|
||||
selectedSegmentObjectIndex: 1,
|
||||
});
|
||||
|
||||
@@ -181,14 +194,16 @@ describe('handleSegmentChange', () => {
|
||||
defaultParameters.segmentationId,
|
||||
3
|
||||
);
|
||||
expect(mockSegmentationService.jumpToSegmentCenter).toHaveBeenCalledWith(
|
||||
expect(mockSegmentationService.jumpToSegmentNext).toHaveBeenCalledWith(
|
||||
defaultParameters.segmentationId,
|
||||
3,
|
||||
defaultParameters.viewportId
|
||||
undefined,
|
||||
direction
|
||||
);
|
||||
});
|
||||
|
||||
it('should handle single segment scenario with positive direction', () => {
|
||||
const direction = 1;
|
||||
const singleSegmentSegmentation = {
|
||||
segments: {
|
||||
'1': {
|
||||
@@ -203,7 +218,7 @@ describe('handleSegmentChange', () => {
|
||||
|
||||
handleSegmentChange({
|
||||
...defaultParameters,
|
||||
direction: 1,
|
||||
direction,
|
||||
selectedSegmentObjectIndex: 0,
|
||||
});
|
||||
|
||||
@@ -211,14 +226,16 @@ describe('handleSegmentChange', () => {
|
||||
defaultParameters.segmentationId,
|
||||
1
|
||||
);
|
||||
expect(mockSegmentationService.jumpToSegmentCenter).toHaveBeenCalledWith(
|
||||
expect(mockSegmentationService.jumpToSegmentNext).toHaveBeenCalledWith(
|
||||
defaultParameters.segmentationId,
|
||||
1,
|
||||
defaultParameters.viewportId
|
||||
undefined,
|
||||
direction
|
||||
);
|
||||
});
|
||||
|
||||
it('should handle single segment scenario with negative direction', () => {
|
||||
const direction = -1;
|
||||
const singleSegmentSegmentation = {
|
||||
segments: {
|
||||
'1': {
|
||||
@@ -233,7 +250,7 @@ describe('handleSegmentChange', () => {
|
||||
|
||||
handleSegmentChange({
|
||||
...defaultParameters,
|
||||
direction: -1,
|
||||
direction,
|
||||
selectedSegmentObjectIndex: 0,
|
||||
});
|
||||
|
||||
@@ -241,14 +258,16 @@ describe('handleSegmentChange', () => {
|
||||
defaultParameters.segmentationId,
|
||||
1
|
||||
);
|
||||
expect(mockSegmentationService.jumpToSegmentCenter).toHaveBeenCalledWith(
|
||||
expect(mockSegmentationService.jumpToSegmentNext).toHaveBeenCalledWith(
|
||||
defaultParameters.segmentationId,
|
||||
1,
|
||||
defaultParameters.viewportId
|
||||
undefined,
|
||||
direction
|
||||
);
|
||||
});
|
||||
|
||||
it('should handle activeSegment not found in segments', () => {
|
||||
const direction = 1;
|
||||
const mockActiveSegment = {
|
||||
segmentIndex: 99,
|
||||
};
|
||||
@@ -256,7 +275,7 @@ describe('handleSegmentChange', () => {
|
||||
|
||||
handleSegmentChange({
|
||||
...defaultParameters,
|
||||
direction: 1,
|
||||
direction,
|
||||
selectedSegmentObjectIndex: 0,
|
||||
});
|
||||
|
||||
@@ -264,19 +283,21 @@ describe('handleSegmentChange', () => {
|
||||
defaultParameters.segmentationId,
|
||||
1
|
||||
);
|
||||
expect(mockSegmentationService.jumpToSegmentCenter).toHaveBeenCalledWith(
|
||||
expect(mockSegmentationService.jumpToSegmentNext).toHaveBeenCalledWith(
|
||||
defaultParameters.segmentationId,
|
||||
1,
|
||||
defaultParameters.viewportId
|
||||
undefined,
|
||||
direction
|
||||
);
|
||||
});
|
||||
|
||||
it('should handle zero direction', () => {
|
||||
const direction = 0;
|
||||
mockSegmentationService.getActiveSegment.mockReturnValue(null);
|
||||
|
||||
handleSegmentChange({
|
||||
...defaultParameters,
|
||||
direction: 0,
|
||||
direction,
|
||||
selectedSegmentObjectIndex: 1,
|
||||
});
|
||||
|
||||
@@ -284,14 +305,16 @@ describe('handleSegmentChange', () => {
|
||||
defaultParameters.segmentationId,
|
||||
2
|
||||
);
|
||||
expect(mockSegmentationService.jumpToSegmentCenter).toHaveBeenCalledWith(
|
||||
expect(mockSegmentationService.jumpToSegmentNext).toHaveBeenCalledWith(
|
||||
defaultParameters.segmentationId,
|
||||
2,
|
||||
defaultParameters.viewportId
|
||||
undefined,
|
||||
direction
|
||||
);
|
||||
});
|
||||
|
||||
it('should handle segments with non-sequential indices', () => {
|
||||
const direction = 1;
|
||||
const nonSequentialSegmentation = {
|
||||
segments: {
|
||||
'5': {
|
||||
@@ -314,7 +337,7 @@ describe('handleSegmentChange', () => {
|
||||
|
||||
handleSegmentChange({
|
||||
...defaultParameters,
|
||||
direction: 1,
|
||||
direction,
|
||||
selectedSegmentObjectIndex: 0,
|
||||
});
|
||||
|
||||
@@ -322,14 +345,16 @@ describe('handleSegmentChange', () => {
|
||||
defaultParameters.segmentationId,
|
||||
10
|
||||
);
|
||||
expect(mockSegmentationService.jumpToSegmentCenter).toHaveBeenCalledWith(
|
||||
expect(mockSegmentationService.jumpToSegmentNext).toHaveBeenCalledWith(
|
||||
defaultParameters.segmentationId,
|
||||
10,
|
||||
defaultParameters.viewportId
|
||||
undefined,
|
||||
direction
|
||||
);
|
||||
});
|
||||
|
||||
it('should handle wrap around with non-sequential indices', () => {
|
||||
const direction = 1;
|
||||
const nonSequentialSegmentation = {
|
||||
segments: {
|
||||
'5': {
|
||||
@@ -348,7 +373,7 @@ describe('handleSegmentChange', () => {
|
||||
|
||||
handleSegmentChange({
|
||||
...defaultParameters,
|
||||
direction: 1,
|
||||
direction,
|
||||
selectedSegmentObjectIndex: 1,
|
||||
});
|
||||
|
||||
@@ -356,14 +381,16 @@ describe('handleSegmentChange', () => {
|
||||
defaultParameters.segmentationId,
|
||||
5
|
||||
);
|
||||
expect(mockSegmentationService.jumpToSegmentCenter).toHaveBeenCalledWith(
|
||||
expect(mockSegmentationService.jumpToSegmentNext).toHaveBeenCalledWith(
|
||||
defaultParameters.segmentationId,
|
||||
5,
|
||||
defaultParameters.viewportId
|
||||
undefined,
|
||||
direction
|
||||
);
|
||||
});
|
||||
|
||||
it('should handle empty segments object', () => {
|
||||
const direction = 1;
|
||||
const emptySegmentation = {
|
||||
segments: {},
|
||||
};
|
||||
@@ -373,7 +400,7 @@ describe('handleSegmentChange', () => {
|
||||
|
||||
handleSegmentChange({
|
||||
...defaultParameters,
|
||||
direction: 1,
|
||||
direction,
|
||||
selectedSegmentObjectIndex: 0,
|
||||
});
|
||||
|
||||
@@ -381,19 +408,21 @@ describe('handleSegmentChange', () => {
|
||||
defaultParameters.segmentationId,
|
||||
undefined
|
||||
);
|
||||
expect(mockSegmentationService.jumpToSegmentCenter).toHaveBeenCalledWith(
|
||||
expect(mockSegmentationService.jumpToSegmentNext).toHaveBeenCalledWith(
|
||||
defaultParameters.segmentationId,
|
||||
undefined,
|
||||
defaultParameters.viewportId
|
||||
undefined,
|
||||
direction
|
||||
);
|
||||
});
|
||||
|
||||
it('should handle large positive direction that wraps multiple times', () => {
|
||||
const direction = 5;
|
||||
mockSegmentationService.getActiveSegment.mockReturnValue(null);
|
||||
|
||||
handleSegmentChange({
|
||||
...defaultParameters,
|
||||
direction: 5,
|
||||
direction,
|
||||
selectedSegmentObjectIndex: 1,
|
||||
});
|
||||
|
||||
@@ -401,19 +430,21 @@ describe('handleSegmentChange', () => {
|
||||
defaultParameters.segmentationId,
|
||||
1
|
||||
);
|
||||
expect(mockSegmentationService.jumpToSegmentCenter).toHaveBeenCalledWith(
|
||||
expect(mockSegmentationService.jumpToSegmentNext).toHaveBeenCalledWith(
|
||||
defaultParameters.segmentationId,
|
||||
1,
|
||||
defaultParameters.viewportId
|
||||
undefined,
|
||||
direction
|
||||
);
|
||||
});
|
||||
|
||||
it('should handle large negative direction that wraps multiple times', () => {
|
||||
const direction = -5;
|
||||
mockSegmentationService.getActiveSegment.mockReturnValue(null);
|
||||
|
||||
handleSegmentChange({
|
||||
...defaultParameters,
|
||||
direction: -5,
|
||||
direction,
|
||||
selectedSegmentObjectIndex: 1,
|
||||
});
|
||||
|
||||
@@ -421,14 +452,16 @@ describe('handleSegmentChange', () => {
|
||||
defaultParameters.segmentationId,
|
||||
3
|
||||
);
|
||||
expect(mockSegmentationService.jumpToSegmentCenter).toHaveBeenCalledWith(
|
||||
expect(mockSegmentationService.jumpToSegmentNext).toHaveBeenCalledWith(
|
||||
defaultParameters.segmentationId,
|
||||
3,
|
||||
defaultParameters.viewportId
|
||||
undefined,
|
||||
direction
|
||||
);
|
||||
});
|
||||
|
||||
it('should handle activeSegment with segmentIndex 0', () => {
|
||||
const direction = 1;
|
||||
const mockActiveSegment = {
|
||||
segmentIndex: 0,
|
||||
};
|
||||
@@ -436,7 +469,7 @@ describe('handleSegmentChange', () => {
|
||||
|
||||
handleSegmentChange({
|
||||
...defaultParameters,
|
||||
direction: 1,
|
||||
direction,
|
||||
selectedSegmentObjectIndex: 0,
|
||||
});
|
||||
|
||||
@@ -444,21 +477,23 @@ describe('handleSegmentChange', () => {
|
||||
defaultParameters.segmentationId,
|
||||
1
|
||||
);
|
||||
expect(mockSegmentationService.jumpToSegmentCenter).toHaveBeenCalledWith(
|
||||
expect(mockSegmentationService.jumpToSegmentNext).toHaveBeenCalledWith(
|
||||
defaultParameters.segmentationId,
|
||||
1,
|
||||
defaultParameters.viewportId
|
||||
undefined,
|
||||
direction
|
||||
);
|
||||
});
|
||||
|
||||
it('should use different viewport and segmentation IDs', () => {
|
||||
const direction = 1;
|
||||
mockSegmentationService.getActiveSegment.mockReturnValue(null);
|
||||
|
||||
handleSegmentChange({
|
||||
...defaultParameters,
|
||||
segmentationId: 'different-segmentation-id',
|
||||
viewportId: 'different-viewport-id',
|
||||
direction: 1,
|
||||
direction,
|
||||
selectedSegmentObjectIndex: 0,
|
||||
});
|
||||
|
||||
@@ -470,10 +505,11 @@ describe('handleSegmentChange', () => {
|
||||
'different-segmentation-id',
|
||||
2
|
||||
);
|
||||
expect(mockSegmentationService.jumpToSegmentCenter).toHaveBeenCalledWith(
|
||||
expect(mockSegmentationService.jumpToSegmentNext).toHaveBeenCalledWith(
|
||||
'different-segmentation-id',
|
||||
2,
|
||||
'different-viewport-id'
|
||||
undefined,
|
||||
direction
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -41,6 +41,6 @@ export const handleSegmentChange = ({
|
||||
const segmentIndex = Object.values(segments)[newSelectedSegmentIndex]?.segmentIndex;
|
||||
|
||||
segmentationService.setActiveSegment(segmentationId, segmentIndex);
|
||||
segmentationService.jumpToSegmentCenter(segmentationId, segmentIndex, viewportId);
|
||||
segmentationService.jumpToSegmentNext(segmentationId, segmentIndex, undefined, direction);
|
||||
selectedSegmentObjectIndex = newSelectedSegmentIndex;
|
||||
};
|
||||
@@ -59,6 +59,12 @@ export async function updateSegmentationStats({
|
||||
Object.entries(stats).forEach(([segmentIndex, segmentStats]) => {
|
||||
const index = parseInt(segmentIndex);
|
||||
|
||||
if (!updatedSegmentation.segments[index]) {
|
||||
// This happens when a segment is being restored
|
||||
console.warn('Segment not found to update cached stats:', index);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!updatedSegmentation.segments[index].cachedStats) {
|
||||
updatedSegmentation.segments[index].cachedStats = {};
|
||||
hasUpdates = true;
|
||||
|
||||
@@ -3,6 +3,151 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-default
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-default
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-default
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-default
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-default
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-default
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-default
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **HistoryMemo:** Segmentation delete wasn't remembered ([#5775](https://github.com/OHIF/Viewers/issues/5775)) ([48f2f6f](https://github.com/OHIF/Viewers/commit/48f2f6fb13f9ba0aa03ad51afd2812466bcb2f58))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-default
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-default
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-default
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-default
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-default
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **TMTV:** Consider blend mode when adding segmentation representations. OHIF-2416, OHIF-2369 ([#5735](https://github.com/OHIF/Viewers/issues/5735)) ([06612fe](https://github.com/OHIF/Viewers/commit/06612fe177e2c31c33fa5c81c092b830a337cac2))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-default
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* the null value check issue in image spacing calculation ([#5726](https://github.com/OHIF/Viewers/issues/5726)) ([afe184e](https://github.com/OHIF/Viewers/commit/afe184ec78dcc8f780e64687e06670365beeb77e))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-default
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-default
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/extension-default",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "Common/default features and functionality for basic image viewing",
|
||||
"author": "OHIF Core Team",
|
||||
"license": "MIT",
|
||||
@@ -34,22 +34,23 @@
|
||||
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.12.0-beta.124",
|
||||
"@ohif/i18n": "3.12.0-beta.124",
|
||||
"dcmjs": "0.45.0",
|
||||
"@ohif/core": "3.12.6",
|
||||
"@ohif/i18n": "3.12.6",
|
||||
"dcmjs": "0.49.4",
|
||||
"dicomweb-client": "0.10.4",
|
||||
"prop-types": "15.8.1",
|
||||
"react": "18.3.1",
|
||||
"react-dom": "18.3.1",
|
||||
"react-i18next": "12.3.1",
|
||||
"react-window": "1.8.11",
|
||||
"webpack": "5.89.0",
|
||||
"webpack": "5.105.0",
|
||||
"webpack-merge": "5.10.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "7.28.2",
|
||||
"@cornerstonejs/calculate-suv": "1.1.0",
|
||||
"lodash.get": "4.4.2",
|
||||
"lodash.uniqby": "4.7.0"
|
||||
"lodash.uniqby": "4.7.0",
|
||||
"react-color": "2.19.3"
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,7 @@ import qs from 'query-string';
|
||||
|
||||
import getImageId from '../DicomWebDataSource/utils/getImageId';
|
||||
import getDirectURL from '../utils/getDirectURL';
|
||||
import { resolveConfigFetchPolicy, fetchConfigJson } from '../utils/secureConfigFetch';
|
||||
|
||||
const metadataProvider = OHIF.classes.MetadataProvider;
|
||||
|
||||
@@ -59,13 +60,18 @@ const findStudies = (key, value) => {
|
||||
return studies;
|
||||
};
|
||||
|
||||
function createDicomJSONApi(dicomJsonConfig) {
|
||||
function createDicomJSONApi(dicomJsonConfig, servicesManager) {
|
||||
const { userAuthenticationService } = servicesManager.services;
|
||||
const implementation = {
|
||||
initialize: async ({ query, url }) => {
|
||||
if (!url) {
|
||||
url = query.get('url');
|
||||
}
|
||||
let metaData = getMetaDataByURL(url);
|
||||
const evaluatedUrl = resolveConfigFetchPolicy(url, {
|
||||
allowedOrigins: dicomJsonConfig.dangerouslyAllowedOriginsForAuthenticatedEnvironments,
|
||||
userAuthenticationService,
|
||||
});
|
||||
let metaData = getMetaDataByURL(evaluatedUrl.normalizedUrl);
|
||||
|
||||
// if we have already cached the data from this specific url
|
||||
// We are only handling one StudyInstanceUID to run; however,
|
||||
@@ -76,8 +82,7 @@ function createDicomJSONApi(dicomJsonConfig) {
|
||||
});
|
||||
}
|
||||
|
||||
const response = await fetch(url);
|
||||
const data = await response.json();
|
||||
const data = await fetchConfigJson(evaluatedUrl);
|
||||
|
||||
let StudyInstanceUID;
|
||||
let SeriesInstanceUID;
|
||||
@@ -105,11 +110,11 @@ function createDicomJSONApi(dicomJsonConfig) {
|
||||
});
|
||||
|
||||
_store.urls.push({
|
||||
url,
|
||||
url: evaluatedUrl.normalizedUrl,
|
||||
studies: [...data.studies],
|
||||
});
|
||||
_store.studyInstanceUIDMap.set(
|
||||
url,
|
||||
evaluatedUrl.normalizedUrl,
|
||||
data.studies.map(study => study.StudyInstanceUID)
|
||||
);
|
||||
},
|
||||
@@ -252,6 +257,8 @@ function createDicomJSONApi(dicomJsonConfig) {
|
||||
console.warn(' DICOMJson store dicom not implemented');
|
||||
},
|
||||
},
|
||||
reject: {},
|
||||
deleteStudyMetadataPromise: () => {},
|
||||
getImageIdsForDisplaySet(displaySet) {
|
||||
const images = displaySet.images;
|
||||
const imageIds = [];
|
||||
@@ -297,8 +304,21 @@ function createDicomJSONApi(dicomJsonConfig) {
|
||||
},
|
||||
getStudyInstanceUIDs: ({ params, query }) => {
|
||||
const url = query.get('url');
|
||||
return _store.studyInstanceUIDMap.get(url);
|
||||
if (!url) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
const evaluatedUrl = resolveConfigFetchPolicy(url, {
|
||||
allowedOrigins: dicomJsonConfig.dangerouslyAllowedOriginsForAuthenticatedEnvironments,
|
||||
userAuthenticationService,
|
||||
});
|
||||
return _store.studyInstanceUIDMap.get(evaluatedUrl.normalizedUrl);
|
||||
} catch {
|
||||
return;
|
||||
}
|
||||
},
|
||||
getConfig: () => dicomJsonConfig,
|
||||
};
|
||||
return IWebApiDataSource.create(implementation);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { IWebApiDataSource } from '@ohif/core';
|
||||
import { createDicomWebApi } from '../DicomWebDataSource/index';
|
||||
import { resolveConfigFetchPolicy, fetchConfigJson } from '../utils/secureConfigFetch';
|
||||
|
||||
/**
|
||||
* This datasource is initialized with a url that returns a JSON object with a
|
||||
@@ -11,6 +12,7 @@ import { createDicomWebApi } from '../DicomWebDataSource/index';
|
||||
*/
|
||||
function createDicomWebProxyApi(dicomWebProxyConfig, servicesManager: AppTypes.ServicesManager) {
|
||||
const { name } = dicomWebProxyConfig;
|
||||
const { userAuthenticationService } = servicesManager.services;
|
||||
let dicomWebDelegate = undefined;
|
||||
|
||||
const implementation = {
|
||||
@@ -20,12 +22,14 @@ function createDicomWebProxyApi(dicomWebProxyConfig, servicesManager: AppTypes.S
|
||||
if (!url) {
|
||||
throw new Error(`No url for '${name}'`);
|
||||
} else {
|
||||
const response = await fetch(url);
|
||||
const data = await response.json();
|
||||
const evaluatedUrl = resolveConfigFetchPolicy(url, {
|
||||
allowedOrigins: dicomWebProxyConfig.dangerouslyAllowedOriginsForAuthenticatedEnvironments,
|
||||
userAuthenticationService,
|
||||
});
|
||||
const data = await fetchConfigJson(evaluatedUrl);
|
||||
if (!data.servers?.dicomWeb?.[0]) {
|
||||
throw new Error('Invalid configuration returned by url');
|
||||
}
|
||||
|
||||
dicomWebDelegate = createDicomWebApi(
|
||||
data.servers.dicomWeb[0].configuration || data.servers.dicomWeb[0],
|
||||
servicesManager
|
||||
@@ -54,9 +58,16 @@ function createDicomWebProxyApi(dicomWebProxyConfig, servicesManager: AppTypes.S
|
||||
store: {
|
||||
dicom: (...args) => dicomWebDelegate.store.dicom(...args),
|
||||
},
|
||||
deleteStudyMetadataPromise: (...args) => dicomWebDelegate.deleteStudyMetadataPromise(...args),
|
||||
getImageIdsForDisplaySet: (...args) => dicomWebDelegate.getImageIdsForDisplaySet(...args),
|
||||
getImageIdsForInstance: (...args) => dicomWebDelegate.getImageIdsForInstance(...args),
|
||||
reject: {
|
||||
series: (...args) => dicomWebDelegate?.reject?.series?.(...args),
|
||||
},
|
||||
deleteStudyMetadataPromise: (...args) => dicomWebDelegate?.deleteStudyMetadataPromise?.(...args),
|
||||
getImageIdsForDisplaySet: (...args) => dicomWebDelegate?.getImageIdsForDisplaySet?.(...args),
|
||||
getImageIdsForInstance: (...args) => dicomWebDelegate?.getImageIdsForInstance?.(...args),
|
||||
getConfig: (...args) =>
|
||||
dicomWebDelegate?.getConfig?.(...args) ?? {
|
||||
dicomUploadEnabled: false,
|
||||
},
|
||||
getStudyInstanceUIDs({ params, query }) {
|
||||
let studyInstanceUIDs = [];
|
||||
|
||||
|
||||
@@ -0,0 +1,115 @@
|
||||
// @ts-nocheck
|
||||
|
||||
function normalizeAllowedOrigins(allowedOrigins = []) {
|
||||
if (!Array.isArray(allowedOrigins)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
const configuredOrigins = allowedOrigins
|
||||
.filter(origin => typeof origin === 'string')
|
||||
.map(origin => origin.trim())
|
||||
.filter(Boolean);
|
||||
|
||||
return configuredOrigins
|
||||
.map(origin => {
|
||||
try {
|
||||
const parsedOrigin = new URL(origin);
|
||||
if (!['http:', 'https:'].includes(parsedOrigin.protocol)) {
|
||||
console.error(
|
||||
`[secureConfigFetch] Ignoring misconfigured allowed origin "${origin}". ` +
|
||||
'Entries must use http:// or https://.'
|
||||
);
|
||||
return null;
|
||||
}
|
||||
if (
|
||||
parsedOrigin.username ||
|
||||
parsedOrigin.password ||
|
||||
parsedOrigin.pathname !== '/' ||
|
||||
parsedOrigin.search ||
|
||||
parsedOrigin.hash
|
||||
) {
|
||||
console.error(
|
||||
`[secureConfigFetch] Ignoring misconfigured allowed origin "${origin}". ` +
|
||||
'Entries must be bare origins only (scheme + host + optional port), with no username/password, path, query, or hash.'
|
||||
);
|
||||
return null;
|
||||
}
|
||||
return parsedOrigin.origin;
|
||||
} catch {
|
||||
console.error(
|
||||
`[secureConfigFetch] Ignoring misconfigured allowed origin "${origin}". Entry is not a valid URL.`
|
||||
);
|
||||
return null;
|
||||
}
|
||||
})
|
||||
.filter(Boolean);
|
||||
}
|
||||
|
||||
function resolveConfigUrl(rawUrl) {
|
||||
if (!rawUrl || typeof rawUrl !== 'string') {
|
||||
throw new Error('Missing required "url" query parameter');
|
||||
}
|
||||
|
||||
try {
|
||||
return new URL(rawUrl, window.location.href);
|
||||
} catch {
|
||||
throw new Error('Invalid URL in "url" query parameter');
|
||||
}
|
||||
}
|
||||
|
||||
function resolveConfigFetchPolicy(rawUrl, policy = {}) {
|
||||
const { allowedOrigins = [], userAuthenticationService } = policy;
|
||||
const parsedUrl = resolveConfigUrl(rawUrl);
|
||||
const protocol = parsedUrl.protocol.toLowerCase();
|
||||
const isSameOrigin = parsedUrl.origin === window.location.origin;
|
||||
|
||||
if (!['http:', 'https:'].includes(protocol)) {
|
||||
throw new Error('Only HTTP(S) URLs are allowed for dynamic datasource configuration');
|
||||
}
|
||||
|
||||
if (parsedUrl.hash) {
|
||||
throw new Error('URL fragments are not allowed for dynamic datasource configuration');
|
||||
}
|
||||
|
||||
if (parsedUrl.username || parsedUrl.password) {
|
||||
throw new Error('URL userinfo is not allowed for dynamic datasource configuration');
|
||||
}
|
||||
|
||||
const isAuthenticated = Boolean(
|
||||
userAuthenticationService?.getAuthorizationHeader?.()?.Authorization
|
||||
);
|
||||
|
||||
if (isAuthenticated && !isSameOrigin) {
|
||||
const normalizedAllowedOrigins = normalizeAllowedOrigins(allowedOrigins);
|
||||
if (!normalizedAllowedOrigins.length || !normalizedAllowedOrigins.includes(parsedUrl.origin)) {
|
||||
throw new Error(
|
||||
`Blocked remote configuration origin "${parsedUrl.origin}" in authenticated environment`
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
parsedUrl,
|
||||
normalizedUrl: parsedUrl.toString(),
|
||||
isAuthenticated,
|
||||
isSameOrigin,
|
||||
};
|
||||
}
|
||||
|
||||
async function fetchConfigJson(normalizedPolicy) {
|
||||
const { normalizedUrl } = normalizedPolicy;
|
||||
const response = await fetch(normalizedUrl, {
|
||||
method: 'GET',
|
||||
mode: 'cors',
|
||||
credentials: 'same-origin',
|
||||
redirect: 'error',
|
||||
referrerPolicy: 'no-referrer',
|
||||
});
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error(`Failed to fetch dynamic datasource configuration (${response.status})`);
|
||||
}
|
||||
|
||||
return response.json();
|
||||
}
|
||||
export { resolveConfigFetchPolicy, fetchConfigJson };
|
||||
@@ -0,0 +1,163 @@
|
||||
// @ts-nocheck
|
||||
import { resolveConfigFetchPolicy, fetchConfigJson } from './secureConfigFetch';
|
||||
|
||||
describe('secureConfigFetch', () => {
|
||||
describe('resolveConfigFetchPolicy', () => {
|
||||
it('allows arbitrary origin in unauthenticated environments', () => {
|
||||
const result = resolveConfigFetchPolicy('https://untrusted.example.com/config.json', {
|
||||
userAuthenticationService: {
|
||||
getAuthorizationHeader: () => ({}),
|
||||
},
|
||||
});
|
||||
|
||||
expect(result.normalizedUrl).toBe('https://untrusted.example.com/config.json');
|
||||
expect(result.isAuthenticated).toBe(false);
|
||||
expect(result.isSameOrigin).toBe(false);
|
||||
});
|
||||
|
||||
it('blocks non-allowlisted origins in authenticated environments', () => {
|
||||
expect(() =>
|
||||
resolveConfigFetchPolicy('https://untrusted.example.com/config.json', {
|
||||
allowedOrigins: ['https://trusted.example.com'],
|
||||
userAuthenticationService: {
|
||||
getAuthorizationHeader: () => ({ Authorization: 'Bearer token123' }),
|
||||
},
|
||||
})
|
||||
).toThrow('Blocked remote configuration origin');
|
||||
});
|
||||
|
||||
it('allows allowlisted origin in authenticated environments', () => {
|
||||
const result = resolveConfigFetchPolicy('http://localhost:5000/config.json', {
|
||||
allowedOrigins: ['http://localhost:5000', 'https://trusted.example.com'],
|
||||
userAuthenticationService: {
|
||||
getAuthorizationHeader: () => ({ Authorization: 'Bearer token123' }),
|
||||
},
|
||||
});
|
||||
|
||||
expect(result.normalizedUrl).toBe('http://localhost:5000/config.json');
|
||||
expect(result.isAuthenticated).toBe(true);
|
||||
expect(result.isSameOrigin).toBe(false);
|
||||
});
|
||||
|
||||
it('blocks authenticated fetch when allowlist is missing', () => {
|
||||
expect(() =>
|
||||
resolveConfigFetchPolicy('https://noTrustList.example.com/config.json', {
|
||||
userAuthenticationService: {
|
||||
getAuthorizationHeader: () => ({ Authorization: 'Bearer token123' }),
|
||||
},
|
||||
})
|
||||
).toThrow('Blocked remote configuration origin');
|
||||
});
|
||||
|
||||
it('allows same-origin in authenticated environments without allowlist', () => {
|
||||
const result = resolveConfigFetchPolicy('/protected/config.json', {
|
||||
userAuthenticationService: {
|
||||
getAuthorizationHeader: () => ({ Authorization: 'Bearer token123' }),
|
||||
},
|
||||
});
|
||||
|
||||
expect(result.normalizedUrl).toBe(`${window.location.origin}/protected/config.json`);
|
||||
expect(result.isAuthenticated).toBe(true);
|
||||
expect(result.isSameOrigin).toBe(true);
|
||||
});
|
||||
|
||||
it('rejects embedded userinfo in config URLs', () => {
|
||||
expect(() =>
|
||||
resolveConfigFetchPolicy('https://user:pass@trusted.example.com/config.json', {
|
||||
allowedOrigins: ['https://trusted.example.com'],
|
||||
userAuthenticationService: {
|
||||
getAuthorizationHeader: () => ({ Authorization: 'Bearer token123' }),
|
||||
},
|
||||
})
|
||||
).toThrow('URL userinfo is not allowed for dynamic datasource configuration');
|
||||
});
|
||||
});
|
||||
|
||||
describe('fetchConfigJson', () => {
|
||||
const originalFetch = global.fetch;
|
||||
|
||||
beforeEach(() => {
|
||||
global.fetch = jest.fn();
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
jest.restoreAllMocks();
|
||||
global.fetch = originalFetch;
|
||||
});
|
||||
|
||||
it('uses hardened fetch options for unauthenticated cross-origin requests', async () => {
|
||||
global.fetch.mockResolvedValue({
|
||||
status: 200,
|
||||
ok: true,
|
||||
json: async () => ({ ok: true }),
|
||||
});
|
||||
|
||||
await fetchConfigJson({
|
||||
normalizedUrl: 'https://example.com/config.json',
|
||||
isAuthenticated: false,
|
||||
isSameOrigin: false,
|
||||
});
|
||||
|
||||
expect(global.fetch).toHaveBeenCalledWith(
|
||||
'https://example.com/config.json',
|
||||
expect.objectContaining({
|
||||
method: 'GET',
|
||||
mode: 'cors',
|
||||
credentials: 'same-origin',
|
||||
redirect: 'error',
|
||||
referrerPolicy: 'no-referrer',
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
it('uses hardened fetch options for unauthenticated same-origin requests', async () => {
|
||||
global.fetch.mockResolvedValue({
|
||||
status: 200,
|
||||
ok: true,
|
||||
json: async () => ({ ok: true }),
|
||||
});
|
||||
|
||||
await fetchConfigJson({
|
||||
normalizedUrl: `${window.location.origin}/protected/config.json`,
|
||||
isAuthenticated: false,
|
||||
isSameOrigin: true,
|
||||
});
|
||||
|
||||
expect(global.fetch).toHaveBeenCalledWith(
|
||||
`${window.location.origin}/protected/config.json`,
|
||||
expect.objectContaining({
|
||||
method: 'GET',
|
||||
mode: 'cors',
|
||||
credentials: 'same-origin',
|
||||
redirect: 'error',
|
||||
referrerPolicy: 'no-referrer',
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
it('uses hardened fetch options in authenticated environments', async () => {
|
||||
global.fetch.mockResolvedValue({
|
||||
status: 200,
|
||||
ok: true,
|
||||
json: async () => ({ ok: true }),
|
||||
});
|
||||
|
||||
await fetchConfigJson({
|
||||
normalizedUrl: 'https://trusted.example.com/config.json',
|
||||
isAuthenticated: true,
|
||||
isSameOrigin: false,
|
||||
});
|
||||
|
||||
expect(global.fetch).toHaveBeenCalledWith(
|
||||
'https://trusted.example.com/config.json',
|
||||
expect.objectContaining({
|
||||
method: 'GET',
|
||||
mode: 'cors',
|
||||
credentials: 'same-origin',
|
||||
redirect: 'error',
|
||||
referrerPolicy: 'no-referrer',
|
||||
})
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -24,7 +24,9 @@ export default function areAllImageSpacingEqual(
|
||||
return;
|
||||
}
|
||||
const lastIpp = toNumber(instances[instances.length - 1].ImagePositionPatient);
|
||||
|
||||
if (!lastIpp) {
|
||||
return;
|
||||
}
|
||||
const averageSpacingBetweenFrames =
|
||||
_getPerpendicularDistance(firstImagePositionPatient, lastIpp) / (instances.length - 1);
|
||||
|
||||
|
||||
@@ -3,6 +3,142 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-microscopy
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/extension-dicom-microscopy",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "OHIF extension for DICOM microscopy",
|
||||
"author": "Bill Wallace, md-prog",
|
||||
"license": "MIT",
|
||||
@@ -30,10 +30,10 @@
|
||||
"start": "yarn run dev"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.12.0-beta.124",
|
||||
"@ohif/extension-default": "3.12.0-beta.124",
|
||||
"@ohif/i18n": "3.12.0-beta.124",
|
||||
"@ohif/ui": "3.12.0-beta.124",
|
||||
"@ohif/core": "3.12.6",
|
||||
"@ohif/extension-default": "3.12.6",
|
||||
"@ohif/i18n": "3.12.6",
|
||||
"@ohif/ui": "3.12.6",
|
||||
"prop-types": "15.8.1",
|
||||
"react": "18.3.1",
|
||||
"react-dom": "18.3.1",
|
||||
|
||||
@@ -3,6 +3,148 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-pdf
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-pdf
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-pdf
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-pdf
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-pdf
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-pdf
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-pdf
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **HistoryMemo:** Segmentation delete wasn't remembered ([#5775](https://github.com/OHIF/Viewers/issues/5775)) ([48f2f6f](https://github.com/OHIF/Viewers/commit/48f2f6fb13f9ba0aa03ad51afd2812466bcb2f58))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-pdf
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-pdf
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-pdf
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-pdf
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-pdf
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **TMTV:** Consider blend mode when adding segmentation representations. OHIF-2416, OHIF-2369 ([#5735](https://github.com/OHIF/Viewers/issues/5735)) ([06612fe](https://github.com/OHIF/Viewers/commit/06612fe177e2c31c33fa5c81c092b830a337cac2))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-pdf
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-pdf
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-pdf
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-pdf
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/extension-dicom-pdf",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "OHIF extension for PDF display",
|
||||
"author": "OHIF",
|
||||
"license": "MIT",
|
||||
@@ -30,9 +30,9 @@
|
||||
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.12.0-beta.124",
|
||||
"@ohif/ui": "3.12.0-beta.124",
|
||||
"dcmjs": "0.45.0",
|
||||
"@ohif/core": "3.12.6",
|
||||
"@ohif/ui": "3.12.6",
|
||||
"dcmjs": "0.49.4",
|
||||
"dicom-parser": "1.8.21",
|
||||
"hammerjs": "2.0.8",
|
||||
"prop-types": "15.8.1",
|
||||
|
||||
@@ -3,6 +3,148 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-video
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-video
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-video
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-video
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-video
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-video
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-video
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **HistoryMemo:** Segmentation delete wasn't remembered ([#5775](https://github.com/OHIF/Viewers/issues/5775)) ([48f2f6f](https://github.com/OHIF/Viewers/commit/48f2f6fb13f9ba0aa03ad51afd2812466bcb2f58))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-video
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-video
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-video
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-video
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-video
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **TMTV:** Consider blend mode when adding segmentation representations. OHIF-2416, OHIF-2369 ([#5735](https://github.com/OHIF/Viewers/issues/5735)) ([06612fe](https://github.com/OHIF/Viewers/commit/06612fe177e2c31c33fa5c81c092b830a337cac2))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-video
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-video
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-video
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-dicom-video
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/extension-dicom-video",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "OHIF extension for video display",
|
||||
"author": "OHIF",
|
||||
"license": "MIT",
|
||||
@@ -30,9 +30,9 @@
|
||||
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.12.0-beta.124",
|
||||
"@ohif/ui": "3.12.0-beta.124",
|
||||
"dcmjs": "0.45.0",
|
||||
"@ohif/core": "3.12.6",
|
||||
"@ohif/ui": "3.12.6",
|
||||
"dcmjs": "0.49.4",
|
||||
"dicom-parser": "1.8.21",
|
||||
"hammerjs": "2.0.8",
|
||||
"prop-types": "15.8.1",
|
||||
|
||||
@@ -3,6 +3,151 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-measurement-tracking
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-measurement-tracking
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-measurement-tracking
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-measurement-tracking
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-measurement-tracking
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-measurement-tracking
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-measurement-tracking
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **HistoryMemo:** Segmentation delete wasn't remembered ([#5775](https://github.com/OHIF/Viewers/issues/5775)) ([48f2f6f](https://github.com/OHIF/Viewers/commit/48f2f6fb13f9ba0aa03ad51afd2812466bcb2f58))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **jump-to-label-map:** Use `undefined` for viewportId for arrow navigation. ([#5774](https://github.com/OHIF/Viewers/issues/5774)) ([512aa3b](https://github.com/OHIF/Viewers/commit/512aa3b07f4c783040acd67e3fd2103559a06522))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-measurement-tracking
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-measurement-tracking
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-measurement-tracking
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-measurement-tracking
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **TMTV:** Consider blend mode when adding segmentation representations. OHIF-2416, OHIF-2369 ([#5735](https://github.com/OHIF/Viewers/issues/5735)) ([06612fe](https://github.com/OHIF/Viewers/commit/06612fe177e2c31c33fa5c81c092b830a337cac2))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-measurement-tracking
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-measurement-tracking
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-measurement-tracking
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-measurement-tracking
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/extension-measurement-tracking",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "Tracking features and functionality for basic image viewing",
|
||||
"author": "OHIF Core Team",
|
||||
"license": "MIT",
|
||||
@@ -32,24 +32,24 @@
|
||||
"start": "yarn run dev"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@cornerstonejs/core": "4.15.9",
|
||||
"@cornerstonejs/tools": "4.15.9",
|
||||
"@ohif/core": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.12.0-beta.124",
|
||||
"@ohif/extension-default": "3.12.0-beta.124",
|
||||
"@ohif/ui": "3.12.0-beta.124",
|
||||
"@cornerstonejs/core": "4.15.29",
|
||||
"@cornerstonejs/tools": "4.15.29",
|
||||
"@ohif/core": "3.12.6",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.12.6",
|
||||
"@ohif/extension-default": "3.12.6",
|
||||
"@ohif/ui": "3.12.6",
|
||||
"classnames": "2.5.1",
|
||||
"dcmjs": "0.45.0",
|
||||
"dcmjs": "0.49.4",
|
||||
"lodash.debounce": "4.0.8",
|
||||
"prop-types": "15.8.1",
|
||||
"react": "18.3.1",
|
||||
"react-dom": "18.3.1",
|
||||
"webpack": "5.89.0",
|
||||
"webpack": "5.105.0",
|
||||
"webpack-merge": "5.10.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "7.28.2",
|
||||
"@ohif/ui": "3.12.0-beta.124",
|
||||
"@ohif/ui": "3.12.6",
|
||||
"@xstate/react": "3.2.2",
|
||||
"xstate": "4.38.3"
|
||||
}
|
||||
|
||||
@@ -3,6 +3,148 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **HistoryMemo:** Segmentation delete wasn't remembered ([#5775](https://github.com/OHIF/Viewers/issues/5775)) ([48f2f6f](https://github.com/OHIF/Viewers/commit/48f2f6fb13f9ba0aa03ad51afd2812466bcb2f58))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **TMTV:** Consider blend mode when adding segmentation representations. OHIF-2416, OHIF-2369 ([#5735](https://github.com/OHIF/Viewers/issues/5735)) ([06612fe](https://github.com/OHIF/Viewers/commit/06612fe177e2c31c33fa5c81c092b830a337cac2))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-test
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/extension-test",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "OHIF extension used inside e2e testing",
|
||||
"author": "OHIF",
|
||||
"license": "MIT",
|
||||
@@ -30,9 +30,9 @@
|
||||
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.12.0-beta.124",
|
||||
"@ohif/ui": "3.12.0-beta.124",
|
||||
"dcmjs": "0.45.0",
|
||||
"@ohif/core": "3.12.6",
|
||||
"@ohif/ui": "3.12.6",
|
||||
"dcmjs": "0.49.4",
|
||||
"dicom-parser": "1.8.21",
|
||||
"hammerjs": "2.0.8",
|
||||
"prop-types": "15.8.1",
|
||||
|
||||
@@ -3,6 +3,148 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **HistoryMemo:** Segmentation delete wasn't remembered ([#5775](https://github.com/OHIF/Viewers/issues/5775)) ([48f2f6f](https://github.com/OHIF/Viewers/commit/48f2f6fb13f9ba0aa03ad51afd2812466bcb2f58))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **TMTV:** Consider blend mode when adding segmentation representations. OHIF-2416, OHIF-2369 ([#5735](https://github.com/OHIF/Viewers/issues/5735)) ([06612fe](https://github.com/OHIF/Viewers/commit/06612fe177e2c31c33fa5c81c092b830a337cac2))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-tmtv
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/extension-tmtv",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "OHIF extension for Total Metabolic Tumor Volume",
|
||||
"author": "OHIF",
|
||||
"license": "MIT",
|
||||
@@ -30,9 +30,9 @@
|
||||
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.12.0-beta.124",
|
||||
"@ohif/ui": "3.12.0-beta.124",
|
||||
"dcmjs": "0.45.0",
|
||||
"@ohif/core": "3.12.6",
|
||||
"@ohif/ui": "3.12.6",
|
||||
"dcmjs": "0.49.4",
|
||||
"dicom-parser": "1.8.21",
|
||||
"hammerjs": "2.0.8",
|
||||
"prop-types": "15.8.1",
|
||||
|
||||
@@ -3,6 +3,154 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-ultrasound-pleura-bline
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-ultrasound-pleura-bline
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-ultrasound-pleura-bline
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-ultrasound-pleura-bline
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **security:** Update various dependencies to fix security vulnerabilities. Release 3.12.2 ([#6024](https://github.com/OHIF/Viewers/issues/6024)) ([75a24a3](https://github.com/OHIF/Viewers/commit/75a24a33935bda8779da30ef9b725b387d80723d))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-ultrasound-pleura-bline
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-ultrasound-pleura-bline
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **HistoryMemo:** Segmentation delete wasn't remembered ([#5775](https://github.com/OHIF/Viewers/issues/5775)) ([48f2f6f](https://github.com/OHIF/Viewers/commit/48f2f6fb13f9ba0aa03ad51afd2812466bcb2f58))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **jump-to-label-map:** Use `undefined` for viewportId for arrow navigation. ([#5774](https://github.com/OHIF/Viewers/issues/5774)) ([512aa3b](https://github.com/OHIF/Viewers/commit/512aa3b07f4c783040acd67e3fd2103559a06522))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-ultrasound-pleura-bline
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-ultrasound-pleura-bline
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-ultrasound-pleura-bline
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-ultrasound-pleura-bline
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **TMTV:** Consider blend mode when adding segmentation representations. OHIF-2416, OHIF-2369 ([#5735](https://github.com/OHIF/Viewers/issues/5735)) ([06612fe](https://github.com/OHIF/Viewers/commit/06612fe177e2c31c33fa5c81c092b830a337cac2))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-ultrasound-pleura-bline
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-ultrasound-pleura-bline
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-ultrasound-pleura-bline
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/extension-ultrasound-pleura-bline
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/extension-ultrasound-pleura-bline",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "",
|
||||
"author": "Rodrigo Basilio",
|
||||
"license": "MIT",
|
||||
@@ -37,22 +37,21 @@
|
||||
"react-i18next": "12.3.1",
|
||||
"react-router": "6.30.3",
|
||||
"react-router-dom": "6.30.3",
|
||||
"webpack": "5.95.0",
|
||||
"webpack": "5.105.0",
|
||||
"webpack-merge": "5.10.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "7.28.2",
|
||||
"@cornerstonejs/core": "4.15.9",
|
||||
"@cornerstonejs/tools": "4.15.9",
|
||||
"@ohif/core": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone": "3.12.0-beta.124",
|
||||
"@ohif/extension-default": "3.12.0-beta.124",
|
||||
"@ohif/i18n": "3.12.0-beta.124",
|
||||
"@ohif/ui-next": "3.12.0-beta.124"
|
||||
"@cornerstonejs/core": "4.15.29",
|
||||
"@cornerstonejs/tools": "4.15.29",
|
||||
"@ohif/core": "3.12.6",
|
||||
"@ohif/extension-cornerstone": "3.12.6",
|
||||
"@ohif/extension-default": "3.12.6",
|
||||
"@ohif/i18n": "3.12.6",
|
||||
"@ohif/ui-next": "3.12.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.28.0",
|
||||
"@babel/eslint-parser": "7.28.0",
|
||||
"@babel/plugin-syntax-dynamic-import": "7.8.3",
|
||||
"@babel/plugin-transform-arrow-functions": "7.27.1",
|
||||
"@babel/plugin-transform-class-properties": "7.27.1",
|
||||
@@ -62,19 +61,16 @@
|
||||
"@babel/plugin-transform-regenerator": "7.28.1",
|
||||
"@babel/plugin-transform-runtime": "7.28.0",
|
||||
"@babel/plugin-transform-typescript": "7.28.0",
|
||||
"@babel/preset-env": "7.28.0",
|
||||
"@babel/preset-env": "7.29.5",
|
||||
"@babel/preset-react": "7.27.1",
|
||||
"@babel/preset-typescript": "7.27.1",
|
||||
"@svgr/webpack": "8.1.0",
|
||||
"babel-loader": "8.4.1",
|
||||
"babel-plugin-module-resolver": "5.0.2",
|
||||
"clean-webpack-plugin": "3.0.0",
|
||||
"copy-webpack-plugin": "9.1.0",
|
||||
"cross-env": "7.0.3",
|
||||
"dotenv": "8.6.0",
|
||||
"eslint": "8.57.1",
|
||||
"eslint-loader": "2.2.1",
|
||||
"webpack": "5.95.0",
|
||||
"webpack": "5.105.0",
|
||||
"webpack-cli": "5.1.4",
|
||||
"webpack-merge": "5.10.0"
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"packages": ["extensions/*", "platform/*", "modes/*", "addOns/externals/*"],
|
||||
"npmClient": "yarn"
|
||||
}
|
||||
@@ -3,6 +3,142 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic-dev-mode
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic-dev-mode
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic-dev-mode
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic-dev-mode
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic-dev-mode
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic-dev-mode
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic-dev-mode
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic-dev-mode
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic-dev-mode
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic-dev-mode
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic-dev-mode
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic-dev-mode
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic-dev-mode
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic-dev-mode
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic-dev-mode
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic-dev-mode
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic-dev-mode
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic-dev-mode
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/mode-basic-dev-mode",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "Basic OHIF Viewer Using Cornerstone",
|
||||
"author": "OHIF",
|
||||
"license": "MIT",
|
||||
@@ -31,19 +31,19 @@
|
||||
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.12.0-beta.124",
|
||||
"@ohif/extension-default": "3.12.0-beta.124",
|
||||
"@ohif/extension-dicom-pdf": "3.12.0-beta.124",
|
||||
"@ohif/extension-dicom-video": "3.12.0-beta.124"
|
||||
"@ohif/core": "3.12.6",
|
||||
"@ohif/extension-cornerstone": "3.12.6",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.12.6",
|
||||
"@ohif/extension-default": "3.12.6",
|
||||
"@ohif/extension-dicom-pdf": "3.12.6",
|
||||
"@ohif/extension-dicom-video": "3.12.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "7.28.2",
|
||||
"i18next": "17.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"webpack": "5.95.0",
|
||||
"webpack": "5.105.0",
|
||||
"webpack-merge": "5.10.0"
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,142 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-test
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-test
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/mode-test",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "Basic mode for testing",
|
||||
"author": "OHIF",
|
||||
"license": "MIT",
|
||||
@@ -34,21 +34,21 @@
|
||||
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.12.0-beta.124",
|
||||
"@ohif/extension-default": "3.12.0-beta.124",
|
||||
"@ohif/extension-dicom-pdf": "3.12.0-beta.124",
|
||||
"@ohif/extension-dicom-video": "3.12.0-beta.124",
|
||||
"@ohif/extension-measurement-tracking": "3.12.0-beta.124",
|
||||
"@ohif/extension-test": "3.12.0-beta.124"
|
||||
"@ohif/core": "3.12.6",
|
||||
"@ohif/extension-cornerstone": "3.12.6",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.12.6",
|
||||
"@ohif/extension-default": "3.12.6",
|
||||
"@ohif/extension-dicom-pdf": "3.12.6",
|
||||
"@ohif/extension-dicom-video": "3.12.6",
|
||||
"@ohif/extension-measurement-tracking": "3.12.6",
|
||||
"@ohif/extension-test": "3.12.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "7.28.2",
|
||||
"i18next": "17.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"webpack": "5.95.0",
|
||||
"webpack": "5.105.0",
|
||||
"webpack-merge": "5.10.0"
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,142 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-basic
|
||||
|
||||
+10
-10
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/mode-basic",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "A basic mode used to build other modes on top of",
|
||||
"author": "OHIF Contributors",
|
||||
"license": "MIT",
|
||||
@@ -21,20 +21,20 @@
|
||||
"yarn": ">=1.16.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone-dicom-rt": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone-dicom-seg": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.12.0-beta.124",
|
||||
"@ohif/extension-default": "3.12.0-beta.124",
|
||||
"@ohif/extension-dicom-pdf": "3.12.0-beta.124",
|
||||
"@ohif/extension-dicom-video": "3.12.0-beta.124"
|
||||
"@ohif/core": "3.12.6",
|
||||
"@ohif/extension-cornerstone": "3.12.6",
|
||||
"@ohif/extension-cornerstone-dicom-rt": "3.12.6",
|
||||
"@ohif/extension-cornerstone-dicom-seg": "3.12.6",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.12.6",
|
||||
"@ohif/extension-default": "3.12.6",
|
||||
"@ohif/extension-dicom-pdf": "3.12.6",
|
||||
"@ohif/extension-dicom-video": "3.12.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "7.28.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"webpack": "5.95.0",
|
||||
"webpack": "5.105.0",
|
||||
"webpack-merge": "5.10.0"
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
@@ -3,6 +3,142 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-longitudinal
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-longitudinal
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-longitudinal
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-longitudinal
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-longitudinal
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-longitudinal
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-longitudinal
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-longitudinal
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-longitudinal
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-longitudinal
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-longitudinal
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-longitudinal
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-longitudinal
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-longitudinal
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-longitudinal
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-longitudinal
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-longitudinal
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-longitudinal
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/mode-longitudinal",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "Longitudinal Workflow",
|
||||
"author": "OHIF",
|
||||
"license": "MIT",
|
||||
@@ -34,23 +34,23 @@
|
||||
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone-dicom-rt": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone-dicom-seg": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.12.0-beta.124",
|
||||
"@ohif/extension-default": "3.12.0-beta.124",
|
||||
"@ohif/extension-dicom-pdf": "3.12.0-beta.124",
|
||||
"@ohif/extension-dicom-video": "3.12.0-beta.124",
|
||||
"@ohif/extension-measurement-tracking": "3.12.0-beta.124",
|
||||
"@ohif/mode-basic": "3.12.0-beta.124"
|
||||
"@ohif/core": "3.12.6",
|
||||
"@ohif/extension-cornerstone": "3.12.6",
|
||||
"@ohif/extension-cornerstone-dicom-rt": "3.12.6",
|
||||
"@ohif/extension-cornerstone-dicom-seg": "3.12.6",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.12.6",
|
||||
"@ohif/extension-default": "3.12.6",
|
||||
"@ohif/extension-dicom-pdf": "3.12.6",
|
||||
"@ohif/extension-dicom-video": "3.12.6",
|
||||
"@ohif/extension-measurement-tracking": "3.12.6",
|
||||
"@ohif/mode-basic": "3.12.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "7.28.2",
|
||||
"i18next": "17.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"webpack": "5.95.0",
|
||||
"webpack": "5.105.0",
|
||||
"webpack-merge": "5.10.0"
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,142 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-microscopy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-microscopy
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/mode-microscopy",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "OHIF mode for DICOM microscopy",
|
||||
"author": "OHIF",
|
||||
"license": "MIT",
|
||||
@@ -35,8 +35,8 @@
|
||||
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.12.0-beta.124",
|
||||
"@ohif/extension-dicom-microscopy": "3.12.0-beta.124"
|
||||
"@ohif/core": "3.12.6",
|
||||
"@ohif/extension-dicom-microscopy": "3.12.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "7.28.2",
|
||||
|
||||
@@ -3,6 +3,142 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-preclinical-4d
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-preclinical-4d
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-preclinical-4d
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-preclinical-4d
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-preclinical-4d
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-preclinical-4d
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-preclinical-4d
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-preclinical-4d
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-preclinical-4d
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-preclinical-4d
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-preclinical-4d
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-preclinical-4d
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-preclinical-4d
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-preclinical-4d
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-preclinical-4d
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-preclinical-4d
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-preclinical-4d
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-preclinical-4d
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/mode-preclinical-4d",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "4D Workflow",
|
||||
"author": "OHIF",
|
||||
"license": "MIT",
|
||||
@@ -33,18 +33,18 @@
|
||||
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone-dicom-seg": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone-dynamic-volume": "3.12.0-beta.124",
|
||||
"@ohif/extension-default": "3.12.0-beta.124",
|
||||
"@ohif/extension-tmtv": "3.12.0-beta.124"
|
||||
"@ohif/core": "3.12.6",
|
||||
"@ohif/extension-cornerstone": "3.12.6",
|
||||
"@ohif/extension-cornerstone-dicom-seg": "3.12.6",
|
||||
"@ohif/extension-cornerstone-dynamic-volume": "3.12.6",
|
||||
"@ohif/extension-default": "3.12.6",
|
||||
"@ohif/extension-tmtv": "3.12.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "7.28.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"webpack": "5.95.0",
|
||||
"webpack": "5.105.0",
|
||||
"webpack-merge": "5.10.0"
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,145 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-segmentation
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-segmentation
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-segmentation
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-segmentation
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **security:** Update various dependencies to fix security vulnerabilities. Release 3.12.2 ([#6024](https://github.com/OHIF/Viewers/issues/6024)) ([75a24a3](https://github.com/OHIF/Viewers/commit/75a24a33935bda8779da30ef9b725b387d80723d))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-segmentation
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-segmentation
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-segmentation
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-segmentation
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-segmentation
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-segmentation
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-segmentation
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-segmentation
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-segmentation
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-segmentation
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-segmentation
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-segmentation
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-segmentation
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/mode-segmentation",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "OHIF segmentation mode which enables labelmap segmentation read/edit/export",
|
||||
"author": "@ohif",
|
||||
"license": "MIT",
|
||||
@@ -35,15 +35,15 @@
|
||||
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone-dicom-rt": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone-dicom-seg": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.12.0-beta.124",
|
||||
"@ohif/extension-default": "3.12.0-beta.124",
|
||||
"@ohif/extension-dicom-pdf": "3.12.0-beta.124",
|
||||
"@ohif/extension-dicom-video": "3.12.0-beta.124",
|
||||
"@ohif/mode-basic": "3.12.0-beta.124"
|
||||
"@ohif/core": "3.12.6",
|
||||
"@ohif/extension-cornerstone": "3.12.6",
|
||||
"@ohif/extension-cornerstone-dicom-rt": "3.12.6",
|
||||
"@ohif/extension-cornerstone-dicom-seg": "3.12.6",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.12.6",
|
||||
"@ohif/extension-default": "3.12.6",
|
||||
"@ohif/extension-dicom-pdf": "3.12.6",
|
||||
"@ohif/extension-dicom-video": "3.12.6",
|
||||
"@ohif/mode-basic": "3.12.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "7.28.2",
|
||||
@@ -51,7 +51,6 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.28.0",
|
||||
"@babel/eslint-parser": "7.28.0",
|
||||
"@babel/plugin-syntax-dynamic-import": "7.8.3",
|
||||
"@babel/plugin-transform-arrow-functions": "7.27.1",
|
||||
"@babel/plugin-transform-class-properties": "7.27.1",
|
||||
@@ -60,7 +59,7 @@
|
||||
"@babel/plugin-transform-regenerator": "7.28.1",
|
||||
"@babel/plugin-transform-runtime": "7.28.0",
|
||||
"@babel/plugin-transform-typescript": "7.28.0",
|
||||
"@babel/preset-env": "7.28.0",
|
||||
"@babel/preset-env": "7.29.5",
|
||||
"@babel/preset-react": "7.27.1",
|
||||
"@babel/preset-typescript": "7.27.1",
|
||||
"@svgr/webpack": "8.1.0",
|
||||
@@ -69,9 +68,7 @@
|
||||
"copy-webpack-plugin": "9.1.0",
|
||||
"cross-env": "7.0.3",
|
||||
"dotenv": "8.6.0",
|
||||
"eslint": "8.57.1",
|
||||
"eslint-loader": "2.2.1",
|
||||
"webpack": "5.95.0",
|
||||
"webpack": "5.105.0",
|
||||
"webpack-cli": "5.1.4",
|
||||
"webpack-merge": "5.10.0"
|
||||
}
|
||||
|
||||
@@ -3,6 +3,142 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-tmtv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-tmtv
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/mode-tmtv",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "Total Metabolic Tumor Volume Workflow",
|
||||
"author": "OHIF",
|
||||
"license": "MIT",
|
||||
@@ -34,20 +34,20 @@
|
||||
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.12.0-beta.124",
|
||||
"@ohif/extension-default": "3.12.0-beta.124",
|
||||
"@ohif/extension-dicom-pdf": "3.12.0-beta.124",
|
||||
"@ohif/extension-dicom-video": "3.12.0-beta.124",
|
||||
"@ohif/extension-measurement-tracking": "3.12.0-beta.124"
|
||||
"@ohif/core": "3.12.6",
|
||||
"@ohif/extension-cornerstone": "3.12.6",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.12.6",
|
||||
"@ohif/extension-default": "3.12.6",
|
||||
"@ohif/extension-dicom-pdf": "3.12.6",
|
||||
"@ohif/extension-dicom-video": "3.12.6",
|
||||
"@ohif/extension-measurement-tracking": "3.12.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "7.28.2",
|
||||
"i18next": "17.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"webpack": "5.95.0",
|
||||
"webpack": "5.105.0",
|
||||
"webpack-merge": "5.10.0"
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,154 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-ultrasound-pleura-bline
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-ultrasound-pleura-bline
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-ultrasound-pleura-bline
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-ultrasound-pleura-bline
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **security:** Update various dependencies to fix security vulnerabilities. Release 3.12.2 ([#6024](https://github.com/OHIF/Viewers/issues/6024)) ([75a24a3](https://github.com/OHIF/Viewers/commit/75a24a33935bda8779da30ef9b725b387d80723d))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-ultrasound-pleura-bline
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-ultrasound-pleura-bline
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **HistoryMemo:** Segmentation delete wasn't remembered ([#5775](https://github.com/OHIF/Viewers/issues/5775)) ([48f2f6f](https://github.com/OHIF/Viewers/commit/48f2f6fb13f9ba0aa03ad51afd2812466bcb2f58))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **jump-to-label-map:** Use `undefined` for viewportId for arrow navigation. ([#5774](https://github.com/OHIF/Viewers/issues/5774)) ([512aa3b](https://github.com/OHIF/Viewers/commit/512aa3b07f4c783040acd67e3fd2103559a06522))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-ultrasound-pleura-bline
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-ultrasound-pleura-bline
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-ultrasound-pleura-bline
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-ultrasound-pleura-bline
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **TMTV:** Consider blend mode when adding segmentation representations. OHIF-2416, OHIF-2369 ([#5735](https://github.com/OHIF/Viewers/issues/5735)) ([06612fe](https://github.com/OHIF/Viewers/commit/06612fe177e2c31c33fa5c81c092b830a337cac2))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-ultrasound-pleura-bline
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-ultrasound-pleura-bline
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-ultrasound-pleura-bline
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/mode-ultrasound-pleura-bline
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/mode-ultrasound-pleura-bline",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "Allows users to annotate ultrasound images with pleura B-line annotations.",
|
||||
"author": "OHIF",
|
||||
"license": "MIT",
|
||||
@@ -34,16 +34,15 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "7.28.2",
|
||||
"@cornerstonejs/core": "4.15.9",
|
||||
"@cornerstonejs/tools": "4.15.9",
|
||||
"@ohif/core": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.12.0-beta.124",
|
||||
"@ohif/extension-ultrasound-pleura-bline": "3.12.0-beta.124",
|
||||
"@cornerstonejs/core": "4.15.29",
|
||||
"@cornerstonejs/tools": "4.15.29",
|
||||
"@ohif/core": "3.12.6",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.12.6",
|
||||
"@ohif/extension-ultrasound-pleura-bline": "3.12.6",
|
||||
"i18next": "17.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.28.0",
|
||||
"@babel/eslint-parser": "7.28.0",
|
||||
"@babel/plugin-syntax-dynamic-import": "7.8.3",
|
||||
"@babel/plugin-transform-arrow-functions": "7.27.1",
|
||||
"@babel/plugin-transform-class-properties": "7.27.1",
|
||||
@@ -52,7 +51,7 @@
|
||||
"@babel/plugin-transform-regenerator": "7.28.1",
|
||||
"@babel/plugin-transform-runtime": "7.28.0",
|
||||
"@babel/plugin-transform-typescript": "7.28.0",
|
||||
"@babel/preset-env": "7.28.0",
|
||||
"@babel/preset-env": "7.29.5",
|
||||
"@babel/preset-react": "7.27.1",
|
||||
"@babel/preset-typescript": "7.27.1",
|
||||
"@svgr/webpack": "8.1.0",
|
||||
@@ -61,9 +60,7 @@
|
||||
"copy-webpack-plugin": "9.1.0",
|
||||
"cross-env": "7.0.3",
|
||||
"dotenv": "8.6.0",
|
||||
"eslint": "8.57.1",
|
||||
"eslint-loader": "2.2.1",
|
||||
"webpack": "5.95.0",
|
||||
"webpack": "5.105.0",
|
||||
"webpack-cli": "5.1.4",
|
||||
"webpack-merge": "5.10.0"
|
||||
}
|
||||
|
||||
+25
-11
@@ -49,7 +49,7 @@
|
||||
"install:update-lockfile": "yarn install && bun install --config=./bunfig.update-lockfile.toml",
|
||||
"install:yarn:frozen-lockfile": "echo Deprecated - use install:frozen && yarn install --frozen-lockfile",
|
||||
"install:frozen": "yarn install --frozen-lockfile",
|
||||
"audit": "bun audit --ignore=GHSA-5j98-mcp5-4vw2",
|
||||
"audit": "bun audit --ignore=GHSA-3ppc-4f35-3m26 --ignore=GHSA-7r86-cg39-jmmj --ignore=GHSA-23c5-xmqv-rm74 --ignore=GHSA-c2c7-rcm5-vvqj --ignore=GHSA-mp2f-45pm-3cg9",
|
||||
"preinstall": "node preinstall.js",
|
||||
"start": "yarn run dev",
|
||||
"test": "yarn run test:unit",
|
||||
@@ -97,22 +97,20 @@
|
||||
"@babel/plugin-transform-regenerator": "7.28.1",
|
||||
"@babel/plugin-transform-runtime": "7.28.0",
|
||||
"@babel/plugin-transform-typescript": "7.28.0",
|
||||
"@babel/preset-env": "7.28.0",
|
||||
"@babel/preset-env": "7.29.5",
|
||||
"@babel/preset-react": "7.27.1",
|
||||
"@babel/preset-typescript": "7.27.1",
|
||||
"@istanbuljs/nyc-config-typescript": "1.0.2",
|
||||
"@pmmmwh/react-refresh-webpack-plugin": "0.5.17",
|
||||
"babel-loader": "8.4.1",
|
||||
"babel-plugin-istanbul": "7.0.0",
|
||||
"babel-plugin-istanbul": "7.0.1",
|
||||
"babel-plugin-transform-import-meta": "2.3.3",
|
||||
"cross-env": "7.0.3",
|
||||
"css-loader": "6.11.0",
|
||||
"cypress": "14.5.2",
|
||||
"cypress-file-upload": "5.0.8",
|
||||
"file-loader": "6.2.0",
|
||||
"istanbul": "0.4.5",
|
||||
"nyc": "17.1.0",
|
||||
"patch-package": "8.0.0",
|
||||
"playwright-test-coverage": "1.2.12",
|
||||
"postcss-loader": "6.2.1",
|
||||
"prettier": "3.6.2",
|
||||
@@ -139,22 +137,38 @@
|
||||
"commander": "8.3.0",
|
||||
"cross-env": "7.0.3",
|
||||
"cross-spawn": "7.0.6",
|
||||
"dcmjs": "0.45.0",
|
||||
"path-to-regexp": "0.1.12",
|
||||
"dcmjs": "0.49.4",
|
||||
"path-to-regexp": "0.1.13",
|
||||
"nth-check": "2.1.1",
|
||||
"trim-newlines": "5.0.0",
|
||||
"glob-parent": "6.0.2",
|
||||
"trim": "1.0.1",
|
||||
"package-json": "8.1.1",
|
||||
"rollup": "2.79.2",
|
||||
"rollup": "2.80.0",
|
||||
"body-parser": "1.20.3",
|
||||
"axios": "1.12.0",
|
||||
"axios": "1.17.0",
|
||||
"core-js": "3.45.1",
|
||||
"@babel/runtime-corejs2": "7.26.10",
|
||||
"tapable": "2.2.2",
|
||||
"@cornerstonejs/codec-openjpeg": "1.3.0",
|
||||
"node-forge": "1.3.2",
|
||||
"qs": "6.14.1"
|
||||
"node-forge": "1.4.0",
|
||||
"qs": "6.14.1",
|
||||
"lodash": "4.18.1",
|
||||
"lodash-es": "4.18.1",
|
||||
"diff": "5.2.2",
|
||||
"webpack": "5.105.0",
|
||||
"tar": "7.5.11",
|
||||
"serialize-javascript": "7.0.4",
|
||||
"svgo": "3.3.3",
|
||||
"flatted": "3.4.2",
|
||||
"handlebars": "4.7.9",
|
||||
"protobufjs": "7.6.1",
|
||||
"@babel/plugin-transform-modules-systemjs": "7.29.4",
|
||||
"tmp": "0.2.7",
|
||||
"form-data": "4.0.6",
|
||||
"ws": "8.21.0",
|
||||
"shell-quote": "1.8.4",
|
||||
"sigstore": "4.1.1"
|
||||
},
|
||||
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
|
||||
}
|
||||
@@ -3,6 +3,151 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/app
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/app
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/app
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/app
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @ohif/app
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/app
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/app
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **HistoryMemo:** Segmentation delete wasn't remembered ([#5775](https://github.com/OHIF/Viewers/issues/5775)) ([48f2f6f](https://github.com/OHIF/Viewers/commit/48f2f6fb13f9ba0aa03ad51afd2812466bcb2f58))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **jump-to-label-map:** Use `undefined` for viewportId for arrow navigation. ([#5774](https://github.com/OHIF/Viewers/issues/5774)) ([512aa3b](https://github.com/OHIF/Viewers/commit/512aa3b07f4c783040acd67e3fd2103559a06522))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/app
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/app
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/app
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/app
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **TMTV:** Consider blend mode when adding segmentation representations. OHIF-2416, OHIF-2369 ([#5735](https://github.com/OHIF/Viewers/issues/5735)) ([06612fe](https://github.com/OHIF/Viewers/commit/06612fe177e2c31c33fa5c81c092b830a337cac2))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/app
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/app
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/app
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/app
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
[build.environment]
|
||||
# If 'production', `yarn install` does not install devDependencies
|
||||
NODE_ENV = "development"
|
||||
NODE_VERSION = "20.18.1"
|
||||
NODE_VERSION = "20.19.0"
|
||||
YARN_VERSION = "1.22.5"
|
||||
RUBY_VERSION = "2.6.2"
|
||||
YARN_FLAGS = "--no-ignore-optional --pure-lockfile"
|
||||
|
||||
+22
-22
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/app",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"productVersion": "3.4.0",
|
||||
"description": "OHIF Viewer",
|
||||
"author": "OHIF Contributors",
|
||||
@@ -53,33 +53,33 @@
|
||||
"@cornerstonejs/codec-libjpeg-turbo-8bit": "1.2.2",
|
||||
"@cornerstonejs/codec-openjpeg": "1.3.0",
|
||||
"@cornerstonejs/codec-openjph": "2.4.7",
|
||||
"@cornerstonejs/dicom-image-loader": "4.15.9",
|
||||
"@cornerstonejs/dicom-image-loader": "4.15.29",
|
||||
"@emotion/serialize": "1.3.3",
|
||||
"@ohif/core": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone-dicom-rt": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone-dicom-seg": "3.12.0-beta.124",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.12.0-beta.124",
|
||||
"@ohif/extension-default": "3.12.0-beta.124",
|
||||
"@ohif/extension-dicom-microscopy": "3.12.0-beta.124",
|
||||
"@ohif/extension-dicom-pdf": "3.12.0-beta.124",
|
||||
"@ohif/extension-dicom-video": "3.12.0-beta.124",
|
||||
"@ohif/extension-test": "3.12.0-beta.124",
|
||||
"@ohif/extension-ultrasound-pleura-bline": "3.12.0-beta.124",
|
||||
"@ohif/i18n": "3.12.0-beta.124",
|
||||
"@ohif/mode-basic-dev-mode": "3.12.0-beta.124",
|
||||
"@ohif/mode-longitudinal": "3.12.0-beta.124",
|
||||
"@ohif/mode-microscopy": "3.12.0-beta.124",
|
||||
"@ohif/mode-test": "3.12.0-beta.124",
|
||||
"@ohif/mode-ultrasound-pleura-bline": "3.12.0-beta.124",
|
||||
"@ohif/ui": "3.12.0-beta.124",
|
||||
"@ohif/ui-next": "3.12.0-beta.124",
|
||||
"@ohif/core": "3.12.6",
|
||||
"@ohif/extension-cornerstone": "3.12.6",
|
||||
"@ohif/extension-cornerstone-dicom-rt": "3.12.6",
|
||||
"@ohif/extension-cornerstone-dicom-seg": "3.12.6",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.12.6",
|
||||
"@ohif/extension-default": "3.12.6",
|
||||
"@ohif/extension-dicom-microscopy": "3.12.6",
|
||||
"@ohif/extension-dicom-pdf": "3.12.6",
|
||||
"@ohif/extension-dicom-video": "3.12.6",
|
||||
"@ohif/extension-test": "3.12.6",
|
||||
"@ohif/extension-ultrasound-pleura-bline": "3.12.6",
|
||||
"@ohif/i18n": "3.12.6",
|
||||
"@ohif/mode-basic-dev-mode": "3.12.6",
|
||||
"@ohif/mode-longitudinal": "3.12.6",
|
||||
"@ohif/mode-microscopy": "3.12.6",
|
||||
"@ohif/mode-test": "3.12.6",
|
||||
"@ohif/mode-ultrasound-pleura-bline": "3.12.6",
|
||||
"@ohif/ui": "3.12.6",
|
||||
"@ohif/ui-next": "3.12.6",
|
||||
"@svgr/webpack": "8.1.0",
|
||||
"@types/react": "18.3.23",
|
||||
"classnames": "2.5.1",
|
||||
"core-js": "3.45.1",
|
||||
"cornerstone-math": "0.1.10",
|
||||
"dcmjs": "0.45.0",
|
||||
"dcmjs": "0.49.4",
|
||||
"detect-gpu": "4.0.50",
|
||||
"dicom-parser": "1.8.21",
|
||||
"dotenv-webpack": "1.8.0",
|
||||
|
||||
@@ -251,6 +251,12 @@ window.config = {
|
||||
configuration: {
|
||||
friendlyName: 'dicomweb delegating proxy',
|
||||
name: 'dicomwebproxy',
|
||||
// Security controls for runtime ?url=... datasource loading:
|
||||
// In authenticated environments, runtime ?url origins must be allowlisted:
|
||||
// dangerouslyAllowedOriginsForAuthenticatedEnvironments: [
|
||||
// 'https://config.example.com',
|
||||
// 'http://localhost:5000',
|
||||
// ],
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -259,6 +265,12 @@ window.config = {
|
||||
configuration: {
|
||||
friendlyName: 'dicom json',
|
||||
name: 'json',
|
||||
// Security controls for runtime ?url=... datasource loading:
|
||||
// In authenticated environments, runtime ?url origins must be allowlisted:
|
||||
// dangerouslyAllowedOriginsForAuthenticatedEnvironments: [
|
||||
// 'https://config.example.com',
|
||||
// 'http://localhost:5000',
|
||||
// ],
|
||||
},
|
||||
},
|
||||
{
|
||||
|
||||
@@ -3,6 +3,145 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/cli
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/cli
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/cli
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/cli
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **security:** Update various dependencies to fix security vulnerabilities. Release 3.12.2 ([#6024](https://github.com/OHIF/Viewers/issues/6024)) ([75a24a3](https://github.com/OHIF/Viewers/commit/75a24a33935bda8779da30ef9b725b387d80723d))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/cli
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/cli
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/cli
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
**Note:** Version bump only for package @ohif/cli
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/cli
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/cli
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/cli
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/cli
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/cli
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/cli
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/cli
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/cli
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/cli
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/cli",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "A CLI to bootstrap new OHIF extension or mode",
|
||||
"type": "module",
|
||||
"main": "src/index.js",
|
||||
@@ -21,7 +21,7 @@
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/core": "7.28.0",
|
||||
"axios": "1.12.0",
|
||||
"axios": "1.13.5",
|
||||
"chalk": "5.4.1",
|
||||
"execa": "8.0.1",
|
||||
"gitignore": "0.7.0",
|
||||
|
||||
@@ -41,20 +41,16 @@
|
||||
"@babel/plugin-transform-regenerator": "^7.16.7",
|
||||
"@babel/plugin-transform-runtime": "7.28.0",
|
||||
"@babel/plugin-transform-typescript": "^7.28.0",
|
||||
"@babel/preset-env": "7.28.0",
|
||||
"@babel/preset-env": "7.29.5",
|
||||
"@babel/preset-react": "^7.27.1",
|
||||
"@babel/preset-typescript": "^7.27.1",
|
||||
"@babel/plugin-transform-private-property-in-object": "^7.27.1",
|
||||
"@babel/eslint-parser": "7.28.0",
|
||||
"babel-loader": "^8.2.4",
|
||||
"@svgr/webpack": "^8.1.0",
|
||||
"babel-plugin-module-resolver": "^5.0.0",
|
||||
"clean-webpack-plugin": "^4.0.0",
|
||||
"copy-webpack-plugin": "^10.2.0",
|
||||
"cross-env": "^7.0.3",
|
||||
"dotenv": "^14.1.0",
|
||||
"eslint": "^8.39.0",
|
||||
"eslint-loader": "^2.0.0",
|
||||
"webpack": "5.89.0",
|
||||
"webpack-merge": "^5.7.3",
|
||||
"webpack-cli": "^5.0.2"
|
||||
|
||||
@@ -32,18 +32,15 @@
|
||||
"@babel/plugin-transform-regenerator": "^7.16.7",
|
||||
"@babel/plugin-transform-runtime": "7.28.0",
|
||||
"@babel/plugin-transform-typescript": "^7.28.0",
|
||||
"@babel/preset-env": "7.28.0",
|
||||
"@babel/preset-env": "7.29.5",
|
||||
"@babel/preset-react": "^7.27.1",
|
||||
"@babel/preset-typescript": "^7.27.1",
|
||||
"@babel/eslint-parser": "7.28.0",
|
||||
"babel-loader": "^8.0.0-beta.4",
|
||||
"@svgr/webpack": "^8.1.0",
|
||||
"clean-webpack-plugin": "^4.0.0",
|
||||
"copy-webpack-plugin": "^10.2.0",
|
||||
"cross-env": "^7.0.3",
|
||||
"dotenv": "^14.1.0",
|
||||
"eslint": "^8.39.0",
|
||||
"eslint-loader": "^2.0.0",
|
||||
"webpack": "5.89.0",
|
||||
"webpack-merge": "^5.7.3",
|
||||
"webpack-cli": "^5.0.2"
|
||||
|
||||
@@ -3,6 +3,151 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/core
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/core
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/core
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/core
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @ohif/core
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/core
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/core
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **HistoryMemo:** Segmentation delete wasn't remembered ([#5775](https://github.com/OHIF/Viewers/issues/5775)) ([48f2f6f](https://github.com/OHIF/Viewers/commit/48f2f6fb13f9ba0aa03ad51afd2812466bcb2f58))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **jump-to-label-map:** Use `undefined` for viewportId for arrow navigation. ([#5774](https://github.com/OHIF/Viewers/issues/5774)) ([512aa3b](https://github.com/OHIF/Viewers/commit/512aa3b07f4c783040acd67e3fd2103559a06522))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/core
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/core
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/core
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/core
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **TMTV:** Consider blend mode when adding segmentation representations. OHIF-2416, OHIF-2369 ([#5735](https://github.com/OHIF/Viewers/issues/5735)) ([06612fe](https://github.com/OHIF/Viewers/commit/06612fe177e2c31c33fa5c81c092b830a337cac2))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/core
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/core
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/core
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/core
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/core",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "Generic business logic for web-based medical imaging applications",
|
||||
"author": "OHIF Core Team",
|
||||
"license": "MIT",
|
||||
@@ -37,15 +37,15 @@
|
||||
"@cornerstonejs/codec-libjpeg-turbo-8bit": "1.2.2",
|
||||
"@cornerstonejs/codec-openjpeg": "1.3.0",
|
||||
"@cornerstonejs/codec-openjph": "2.4.7",
|
||||
"@cornerstonejs/core": "4.15.9",
|
||||
"@cornerstonejs/dicom-image-loader": "4.15.9",
|
||||
"@ohif/ui": "3.12.0-beta.124",
|
||||
"cornerstone-math": "0.1.9",
|
||||
"@cornerstonejs/core": "4.15.29",
|
||||
"@cornerstonejs/dicom-image-loader": "4.15.29",
|
||||
"@ohif/ui": "3.12.6",
|
||||
"cornerstone-math": "0.1.10",
|
||||
"dicom-parser": "1.8.21"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "7.28.2",
|
||||
"dcmjs": "0.45.0",
|
||||
"dcmjs": "0.49.4",
|
||||
"dicomweb-client": "0.10.4",
|
||||
"gl-matrix": "3.4.3",
|
||||
"immutability-helper": "3.1.1",
|
||||
|
||||
@@ -102,6 +102,8 @@ enum MeasurementChangeType {
|
||||
|
||||
export type MeasurementFilter = (measurement) => boolean;
|
||||
|
||||
const sourceMissing = new Set();
|
||||
|
||||
/**
|
||||
* MeasurementService class that supports source management and measurement management.
|
||||
* Sources can be any library that can provide "annotations" (e.g. cornerstone-tools, cornerstone, etc.)
|
||||
@@ -497,7 +499,10 @@ class MeasurementService extends PubSubService {
|
||||
mapping => mapping.annotationType === annotationType
|
||||
);
|
||||
if (!sourceMapping) {
|
||||
console.log('No source mapping', source.uid, annotationType, source);
|
||||
if (!sourceMissing.has(source.uid) ) {
|
||||
console.log('No source mapping', source.uid, annotationType, source);
|
||||
sourceMissing.add(source.uid);
|
||||
}
|
||||
this.addUnmappedMeasurement(sourceAnnotationDetail, source);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -3,6 +3,145 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package ohif-docs
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package ohif-docs
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package ohif-docs
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package ohif-docs
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package ohif-docs
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package ohif-docs
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package ohif-docs
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package ohif-docs
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
**Note:** Version bump only for package ohif-docs
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package ohif-docs
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package ohif-docs
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package ohif-docs
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package ohif-docs
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package ohif-docs
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Navigate to contour should work ([#5718](https://github.com/OHIF/Viewers/issues/5718)) ([0fd517d](https://github.com/OHIF/Viewers/commit/0fd517d6ab583652a3667f9af49413648f2755db))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package ohif-docs
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package ohif-docs
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
|
||||
|
||||
@@ -312,6 +312,18 @@ reasons:
|
||||
However, if you would like to get compressed data in a specific transfer syntax, you can modify the `acceptHeader` configuration or
|
||||
`requestTransferSyntaxUID` configuration.
|
||||
|
||||
### Data Source: stackRetrieveOptions
|
||||
At the data source configuration level, you can set `stackRetrieveOptions` to customize Cornerstone stack image retrieval. Merged with defaults; only specify overrides. For example, set `streaming: false` when the data source returns uncompressed DICOM (e.g. `application/octet-stream` only) to avoid black image on load:
|
||||
|
||||
```js
|
||||
configuration: {
|
||||
acceptHeader: ['application/octet-stream'],
|
||||
stackRetrieveOptions: {
|
||||
retrieveOptions: { single: { streaming: false } },
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
We use environment variables at build and dev time to change the Viewer's
|
||||
|
||||
@@ -66,6 +66,56 @@ http://localhost:3000/viewer?StudyInstanceUIDs=1.2.3.4.5.6.6.7&token=e123125jsdf
|
||||
|
||||
|
||||
|
||||
## Securing dynamic datasource URLs
|
||||
When using `dicomwebproxy` or `dicomjson` data sources with a runtime `?url=...` query parameter,
|
||||
configure explicit trust boundaries to prevent credential exfiltration.
|
||||
|
||||
Use these datasource configuration options:
|
||||
|
||||
- `dangerouslyAllowedOriginsForAuthenticatedEnvironments`: Origin allowlist used only when the viewer is running in an authenticated environment. Entries may use `http://` or `https://` and can include localhost origins.
|
||||
|
||||
Allowed entry format for `dangerouslyAllowedOriginsForAuthenticatedEnvironments`:
|
||||
|
||||
- Must be a bare origin only: `scheme://host[:port]`
|
||||
- `http://` and `https://` are both allowed
|
||||
- Localhost is allowed when explicitly listed (for example, `http://localhost:5000`)
|
||||
- Must not include username/password, path, query string, or hash
|
||||
- Invalid entries are ignored and logged as misconfigured
|
||||
|
||||
Policy summary:
|
||||
|
||||
- In unauthenticated environments, any HTTP(S) `?url=` origin is allowed.
|
||||
- In authenticated environments, same-origin `?url=` values are allowed by default.
|
||||
- In authenticated environments, cross-origin `?url=` values must be present in `dangerouslyAllowedOriginsForAuthenticatedEnvironments`, otherwise loading fails closed.
|
||||
- In unauthenticated environments, cross-origin config URLs are fetched with:
|
||||
- `method: 'GET'`
|
||||
- `mode: 'cors'`
|
||||
- `credentials: 'omit'`
|
||||
- `redirect: 'error'`
|
||||
- `referrerPolicy: 'no-referrer'`
|
||||
- In unauthenticated environments, same-origin config URLs use a plain `fetch()` call (browser default `credentials: 'same-origin'`).
|
||||
- Same-origin config URLs are fetched using simple fetch behavior (so same-origin session/cookie auth is preserved).
|
||||
- In authenticated environments, allowlisted cross-origin config URLs are fetched using simple fetch behavior.
|
||||
- Returned datasource configuration payloads are consumed as-is (no additional URL/config scrubbing).
|
||||
|
||||
Example:
|
||||
|
||||
```js
|
||||
dataSources: [
|
||||
{
|
||||
namespace: '@ohif/extension-default.dataSourcesModule.dicomwebproxy',
|
||||
sourceName: 'dicomwebproxy',
|
||||
configuration: {
|
||||
name: 'dicomwebproxy',
|
||||
dangerouslyAllowedOriginsForAuthenticatedEnvironments: [
|
||||
'https://config.example.com',
|
||||
'http://localhost:5000',
|
||||
],
|
||||
},
|
||||
},
|
||||
]
|
||||
```
|
||||
|
||||
## Implicit Flow vs Authorization Code Flow
|
||||
|
||||
The Viewer supports both the Implicit Flow and the Authorization Code Flow. The Implicit Flow is the default currently, as it is easier to set up and use. However, you can opt for better security by using the Authorization Code Flow. To do so, add `useAuthorizationCodeFlow` to the configuration and change the `response_type` from `id_token token` to `code`.
|
||||
|
||||
@@ -56,6 +56,7 @@ setActiveSegmentation(viewportId, segmentationId)
|
||||
getSegmentations()
|
||||
getSegmentation(segmentationId)
|
||||
jumpToSegmentCenter(segmentationId, segmentIndex, viewportId)
|
||||
jumpToSegmentNext(segmentationId, segmentIndex, forViewportId?, direction?, highlightAlpha?, highlightSegment?, animationLength?, highlightHideOthers?, animationFunctionType?)
|
||||
highlightSegment(segmentationId, segmentIndex, viewportId)
|
||||
```
|
||||
|
||||
@@ -174,3 +175,59 @@ segmentationService.setSegmentColor(
|
||||
[255, 0, 0, 255] // RGBA
|
||||
);
|
||||
```
|
||||
|
||||
### Navigation
|
||||
|
||||
#### jumpToSegmentNext
|
||||
|
||||
Jumps to the next or previous slice that contains the specified segment in the viewport. This method handles both labelmap and contour segmentations:
|
||||
- For **labelmaps**: Jumps to the segment center
|
||||
- For **contours**: Cycles through all slices that contain contour data for the segment in the specified direction
|
||||
|
||||
```typescript
|
||||
segmentationService.jumpToSegmentNext(
|
||||
segmentationId: string,
|
||||
segmentIndex: number,
|
||||
forViewportId?: string, // Optional viewport ID. If not provided, applies to all viewports with this segmentation
|
||||
direction?: number, // 1 for forward (default), -1 for backward
|
||||
highlightAlpha?: number, // Alpha value for highlighting (0-1), default: 0.9
|
||||
highlightSegment?: boolean, // Whether to highlight the segment after jumping, default: true
|
||||
animationLength?: number, // Length of highlight animation in milliseconds, default: 750
|
||||
highlightHideOthers?: boolean, // Whether to hide other segments during highlight, default: false
|
||||
animationFunctionType?: EasingFunctionEnum // The easing function to use for animation, default: EASE_IN_OUT
|
||||
)
|
||||
```
|
||||
|
||||
**Navigation Behavior:**
|
||||
- **Forward (direction = 1)**: Finds the next slice after the current one that contains the segment. If no slice is found after the current one, wraps around to the first slice with the segment.
|
||||
- **Backward (direction = -1)**: Finds the previous slice before the current one that contains the segment. If no slice is found before the current one, wraps around to the last slice with the segment.
|
||||
|
||||
**Example Usage:**
|
||||
|
||||
```typescript
|
||||
// Jump to next slice with segment 1
|
||||
segmentationService.jumpToSegmentNext(
|
||||
segmentationId,
|
||||
1, // segmentIndex
|
||||
'viewport-1'
|
||||
);
|
||||
|
||||
// Jump to previous slice with segment 2, with custom highlighting
|
||||
segmentationService.jumpToSegmentNext(
|
||||
segmentationId,
|
||||
2, // segmentIndex
|
||||
'viewport-1',
|
||||
-1, // backward direction
|
||||
0.95, // highlightAlpha
|
||||
true, // highlightSegment
|
||||
1000, // animationLength in ms
|
||||
true // highlightHideOthers
|
||||
);
|
||||
|
||||
// Apply to all viewports with this segmentation
|
||||
segmentationService.jumpToSegmentNext(
|
||||
segmentationId,
|
||||
1 // segmentIndex
|
||||
// forViewportId omitted - applies to all viewports
|
||||
);
|
||||
```
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ohif-docs",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"docusaurus": "docusaurus",
|
||||
@@ -97,6 +97,12 @@
|
||||
"url-loader": "4.1.1"
|
||||
},
|
||||
"resolutions": {
|
||||
"qs": "6.14.1"
|
||||
"qs": "6.14.1",
|
||||
"lodash": "4.17.23",
|
||||
"webpack": "5.105.0",
|
||||
"sharp": "0.34.5",
|
||||
"serialize-javascript": "7.0.4",
|
||||
"rollup": "2.80.0",
|
||||
"svgo": "3.3.3"
|
||||
}
|
||||
}
|
||||
+344
-355
File diff suppressed because it is too large.
Load diff
@@ -3,6 +3,142 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/i18n
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/i18n
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/i18n
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/i18n
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @ohif/i18n
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/i18n
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/i18n
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/i18n
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
**Note:** Version bump only for package @ohif/i18n
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/i18n
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/i18n
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/i18n
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/i18n
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/i18n
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/i18n
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/i18n
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/i18n
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/i18n
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/i18n",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "Internationalization library for The OHIF Viewer",
|
||||
"author": "OHIF",
|
||||
"license": "MIT",
|
||||
|
||||
@@ -3,6 +3,142 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui-next
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui-next
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui-next
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui-next
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui-next
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui-next
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui-next
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui-next
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui-next
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui-next
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui-next
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui-next
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui-next
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui-next
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui-next
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui-next
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui-next
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui-next
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/ui-next",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "Next version of OHIF Viewers UI, more customizable using shadcn/ui",
|
||||
"main": "dist/ohif-ui-next.umd.js",
|
||||
"module": "src/index.ts",
|
||||
|
||||
@@ -3,6 +3,142 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.12.6](https://github.com/OHIF/Viewers/compare/v3.12.5...v3.12.6) (2026-07-07)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.5](https://github.com/OHIF/Viewers/compare/v3.12.4...v3.12.5) (2026-06-17)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.4](https://github.com/OHIF/Viewers/compare/v3.12.3...v3.12.4) (2026-06-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.3](https://github.com/OHIF/Viewers/compare/v3.12.2...v3.12.3) (2026-05-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.12.2](https://github.com/OHIF/Viewers/compare/v3.12.1...v3.12.2) (2026-05-18)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.135...v3.12.0) (2026-02-06)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.135](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.134...v3.12.0-beta.135) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.134](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.133...v3.12.0-beta.134) (2026-02-05)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.133](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.132...v3.12.0-beta.133) (2026-02-04)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.132](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.131...v3.12.0-beta.132) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.131](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.130...v3.12.0-beta.131) (2026-01-30)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.130](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.129...v3.12.0-beta.130) (2026-01-28)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.129](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.128...v3.12.0-beta.129) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.128](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.127...v3.12.0-beta.128) (2026-01-27)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.127](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.126...v3.12.0-beta.127) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.126](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.125...v3.12.0-beta.126) (2026-01-22)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.125](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.124...v3.12.0-beta.125) (2026-01-21)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.12.0-beta.124](https://github.com/OHIF/Viewers/compare/v3.12.0-beta.123...v3.12.0-beta.124) (2026-01-16)
|
||||
|
||||
**Note:** Version bump only for package @ohif/ui
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ohif/ui",
|
||||
"version": "3.12.0-beta.124",
|
||||
"version": "3.12.6",
|
||||
"description": "A set of React components for Medical Imaging Viewers",
|
||||
"author": "OHIF Contributors",
|
||||
"license": "MIT",
|
||||
@@ -58,8 +58,7 @@
|
||||
"react-test-renderer": "18.3.1",
|
||||
"react-window": "1.8.11",
|
||||
"react-with-direction": "1.4.0",
|
||||
"swiper": "8.4.7",
|
||||
"webpack": "5.95.0"
|
||||
"webpack": "5.105.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.28.0",
|
||||
|
||||
+11
-11
@@ -2,31 +2,30 @@ import { defineConfig, devices } from '@playwright/test';
|
||||
|
||||
export default defineConfig({
|
||||
testDir: './tests',
|
||||
globalSetup: './tests/globalSetup.ts',
|
||||
fullyParallel: !!process.env.CI,
|
||||
forbidOnly: !!process.env.CI,
|
||||
retries: process.env.CI ? 3 : 0,
|
||||
retries: process.env.CI ? 1 : 0,
|
||||
maxFailures: process.env.CI ? 10 : undefined,
|
||||
workers: process.env.CI ? 6 : undefined,
|
||||
snapshotPathTemplate: './tests/screenshots{/projectName}/{testFilePath}/{arg}{ext}',
|
||||
outputDir: './tests/test-results',
|
||||
reporter: [
|
||||
[
|
||||
process.env.CI ? 'json' : 'html',
|
||||
process.env.CI
|
||||
? { outputFile: './tests/playwright-report.json' }
|
||||
: { outputFolder: './tests/playwright-report' },
|
||||
],
|
||||
],
|
||||
reporter: [['html', { outputFolder: './tests/playwright-report' }]],
|
||||
globalTimeout: 800_000,
|
||||
timeout: 800_000,
|
||||
use: {
|
||||
baseURL: 'http://localhost:3335',
|
||||
trace: 'on-first-retry',
|
||||
video: 'on-first-retry',
|
||||
video: 'retain-on-failure',
|
||||
testIdAttribute: 'data-cy',
|
||||
actionTimeout: 10_000,
|
||||
launchOptions: {
|
||||
// do not hide the scrollbars so that we can assert their look-and-feel
|
||||
ignoreDefaultArgs: ['--hide-scrollbars'],
|
||||
// Use the runner's EGL GPU stack for WebGL. Without this, Chromium falls
|
||||
// back to software GL on the self-hosted (nashua) runner and cornerstone
|
||||
// rendering produces wrong/blank frames, failing every screenshot test.
|
||||
args: ['--use-gl=egl'],
|
||||
},
|
||||
},
|
||||
|
||||
@@ -49,7 +48,8 @@ export default defineConfig({
|
||||
//},
|
||||
],
|
||||
webServer: {
|
||||
command: 'cross-env APP_CONFIG=config/e2e.js COVERAGE=true OHIF_PORT=3335 nyc yarn start',
|
||||
command:
|
||||
'cross-env APP_CONFIG=config/e2e.js COVERAGE=true OHIF_PORT=3335 OHIF_OPEN=false nyc yarn start',
|
||||
url: 'http://localhost:3335',
|
||||
reuseExistingServer: !process.env.CI,
|
||||
timeout: 360_000,
|
||||
|
||||
Loaded 100 of 146 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user