From f2d77e04c8c8d9a510ee142d6f5ccbd9a5af9212 Mon Sep 17 00:00:00 2001 From: Jenna <54910137+jiehyunjkim@users.noreply.github.com> Date: Mon, 29 Sep 2025 02:05:17 -0400 Subject: [PATCH] update tolerance/threshold --- js/annotator.js | 4 +++- js/viewer.js | 32 +++++++++++++++++++++----------- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/js/annotator.js b/js/annotator.js index 8f92ca4..7295e47 100644 --- a/js/annotator.js +++ b/js/annotator.js @@ -37,7 +37,9 @@ H.Annotator = function () { H.Annotator.prototype.grow = function(i, j, k) { let intensity = this.getVolumePixel(i, j, k); - let mn = intensity * (this.threshold_tolerance / 100); + // More restrictive bounds to prevent growing into bone/tissues + let tolerance_factor = this.threshold_tolerance / 100; + let mn = intensity * (1 - tolerance_factor); // Lower bound: intensity - tolerance let mx = intensity + this.threshold; H.D.nv.drawPt(...[i,j,k], H.D.label); diff --git a/js/viewer.js b/js/viewer.js index e0b4243..0129ac5 100644 --- a/js/viewer.js +++ b/js/viewer.js @@ -67,16 +67,27 @@ H.Viewer.prototype.setupWLSlider = function(v) { // setup WL slider var slider = document.getElementById('wlslider'); - noUiSlider.create(slider, { - start: [v.global_min, v.global_max], - behaviour: 'drag', - connect: true, + // Reuse existing slider if present; update its range for the new volume + if (slider.noUiSlider) { + slider.noUiSlider.updateOptions({ range: { - 'min': v.global_min, - 'max': v.global_max - }, - - }); + 'min': v.global_min, + 'max': v.global_max + } + }, false); + H.V.sliderWL = slider; + } else { + noUiSlider.create(slider, { + start: [v.global_min, v.global_max], + behaviour: 'drag', + connect: true, + range: { + 'min': v.global_min, + 'max': v.global_max + }, + + }) + }; H.V.sliderWL = slider; @@ -130,5 +141,4 @@ H.Viewer.prototype.reset = function() { var wl = H.V.getWLFromMinMax(130, 1500); // HU BONE! H.V.updateWL(wl[0], wl[1], true); // propagate to UI + volume -}; - +}; \ No newline at end of file