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