Skip to content

Commit 0c60bce

Browse files
committed
BUG: Fixes for the line profiler widget
Address definitions in JS and Python.
1 parent 45e0d93 commit 0c60bce

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

itkwidgets/widget_line_profiler.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,12 +157,14 @@ def line_profile(image, order=2, plotter=None, # noqa: C901
157157
plotter = 'ipympl'
158158

159159
if plotter == 'plotly':
160+
import plotly.graph_objs as go
160161
layout = go.Layout(
161162
xaxis=dict(title='Distance'),
162163
yaxis=dict(title='Intensity')
163164
)
164165
fig = go.FigureWidget(layout=layout)
165166
elif plotter == 'bqplot':
167+
import bqplot
166168
x_scale = bqplot.LinearScale()
167169
y_scale = bqplot.LinearScale()
168170
x_axis = bqplot.Axis(

js/lib/viewer.js

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -286,8 +286,10 @@ const createRenderingPipeline = (
286286
const lowerLeft = viewportPosition.getComputedWorldValue(renderer)
287287
viewportPosition.setValue(1.0, 1.0, 0.0)
288288
const upperRight = viewportPosition.getComputedWorldValue(renderer)
289-
const roi = domWidgetView.model.get('roi').slice()
290-
const largestRoi = domWidgetView.model.get('_largest_roi')
289+
const modelRoi = domWidgetView.model.get('roi')
290+
const roi = !!modelRoi.slice ? modelRoi: new Float32Array(modelRoi.buffer)
291+
const modelLargestRoi = domWidgetView.model.get('_largest_roi')
292+
const largestRoi = !!modelLargestRoi.slice ? modelLargestRoi: new Float32Array(modelLargestRoi.buffer)
291293
const padFactor = 0.5
292294
const xPadding = (upperRight[0] - lowerLeft[0]) * padFactor
293295
let yPadding = (upperRight[1] - lowerLeft[1]) * padFactor
@@ -943,7 +945,9 @@ const ViewerView = widgets.DOMWidgetView.extend({
943945
this.model.save_changes()
944946
}, 50)
945947
// If view-up has not been set, set initial value to itk-vtk-viewer default
946-
const viewUp = this.model.get('camera').slice(6, 9)
948+
const camera = this.model.get('camera')
949+
const cameraData = !!camera.slice ? camera: new Float32Array(camera.buffer)
950+
const viewUp = cameraData.slice(6, 9)
947951
if (!viewUp[0] && !viewUp[1] && !viewUp[2]) {
948952
onCameraChanged()
949953
} else {
@@ -1365,10 +1369,11 @@ const ViewerView = widgets.DOMWidgetView.extend({
13651369
camera_changed: function () {
13661370
const camera = this.model.get('camera')
13671371
if (this.model.hasOwnProperty('itkVtkViewer')) {
1372+
const cameraData = !!camera.slice ? camera: new Float32Array(camera.buffer)
13681373
const viewProxy = this.model.itkVtkViewer.getViewProxy()
1369-
viewProxy.setCameraPosition(...camera.subarray(0, 3))
1370-
viewProxy.setCameraFocalPoint(...camera.subarray(3, 6))
1371-
viewProxy.setCameraViewUp(...camera.subarray(6, 9))
1374+
viewProxy.setCameraPosition(...cameraData.subarray(0, 3))
1375+
viewProxy.setCameraFocalPoint(...cameraData.subarray(3, 6))
1376+
viewProxy.setCameraViewUp(...cameraData.subarray(6, 9))
13721377
viewProxy.getCamera().computeDistance()
13731378
viewProxy.renderLater()
13741379
}

0 commit comments

Comments
 (0)