Skip to content

Commit 51faf45

Browse files
committed
docs(ImageViewer): animate scalarBar ticks with window level adjust
Fix the ImageViewer example application to update the vtkScalarBarActor when the window/level values are changed by the user's mouse click-drag operation. This update/fix will help us demonstrate the continuous update/animate capability of vtkScalarBarActor.
1 parent bde580a commit 51faf45

File tree

1 file changed

+18
-7
lines changed
  • Examples/Applications/ImageViewer

1 file changed

+18
-7
lines changed

Examples/Applications/ImageViewer/index.js

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -146,18 +146,29 @@ function createUI(renderWindow, interactorStyle, imageSlice) {
146146
windowLevel.appendChild(levelLabel);
147147
windowLevel.appendChild(levelSelector);
148148

149+
function updateWindowLevel() {
150+
const cw = Number(windowSelector.value);
151+
const cl = Number(levelSelector.value);
152+
imageSlice.getProperty().setColorWindow(cw);
153+
imageSlice.getProperty().setColorLevel(cl);
154+
const minRange = cl - cw * 0.5;
155+
const maxRange = cl + cw * 0.5;
156+
lookupTable.setMappingRange(minRange, maxRange);
157+
lookupTable.updateRange();
158+
renderWindow.getInteractor().render();
159+
}
149160
function updateWindowLevelSelectors() {
150-
windowSelector.value = imageSlice.getProperty().getColorWindow();
151-
levelSelector.value = imageSlice.getProperty().getColorLevel();
161+
windowSelector.value = Number(
162+
imageSlice.getProperty().getColorWindow()
163+
).toFixed(0);
164+
levelSelector.value = Number(
165+
imageSlice.getProperty().getColorLevel()
166+
).toFixed(0);
167+
updateWindowLevel();
152168
}
153169
updateWindowLevelSelectors();
154170
interactorStyle.onInteractionEvent(updateWindowLevelSelectors);
155171

156-
function updateWindowLevel() {
157-
imageSlice.getProperty().setColorWindow(Number(windowSelector.value));
158-
imageSlice.getProperty().setColorLevel(Number(levelSelector.value));
159-
renderWindow.getInteractor().render();
160-
}
161172
windowSelector.addEventListener('input', updateWindowLevel);
162173
levelSelector.addEventListener('input', updateWindowLevel);
163174

0 commit comments

Comments
 (0)