Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Many Toolbar items do nothing/crash while MPR mode is enabled. Suggest hiding them. #3126

Closed
BrandonDatUHN opened this issue Jan 23, 2023 · 2 comments
Labels
Awaiting Reproduction Can we reproduce the reported bug?

Comments

@BrandonDatUHN
Copy link

Repository URL
https://github.com/OHIF/Viewers/tree/v3-stable
Version number
3.3.0
Build number
0
Browser
Chrome 109.0.0
OS
Windows 10

From OHIF demo viewer https://v3-demo.ohif.org/viewer?StudyInstanceUIDs=1.3.6.1.4.1.32722.99.99.270210390546167243599316128636641521105

Load MPR mode.

With MPR open many of the toolbar icons don't do anything.

Reset - Works
Rotate Right - Does nothing
Flip Horizontally - Does nothing
Stack Image Sync- Does nothing
Reference Line- Does nothing
Stack Scroll - works
Invert - Does nothing
Probe - works
Cine - button loads cine at the top of each frame but will crash if played
Angle - works
Magnify - Does nothing
Rectangle - works
Dicom Tag Browser - works

It might be best to hide the ones that do nothing to not confuse users.

Cine Mode in MPR doesn't make much sense but because it currently crashes might be best to remove.

@BrandonDatUHN BrandonDatUHN added Awaiting Reproduction Can we reproduce the reported bug? Community: Report 🐛 labels Jan 23, 2023
@cheyvaert-medexprim
Copy link

cheyvaert-medexprim commented Feb 16, 2023

Hello, we have nearly the same problems here except the referenceLines (it may have been fixed since) and the resetview that's does not seem to work each time.

Here what I noted:

click on MPR on a reconstructible view: work
chrome console message: 'Crosshairs' is not registered with this toolGroup.

click on crosshairs: work
message: (note: appears 3 times) Failed to update measurement: Error: Failed to map '[email protected]' measurement for annotationType Crosshairs: Cannot read properties of undefined (reading 'toMeasurementSchema')
at e.value (MeasurementService.js:532:13)
at annotationToMeasurement (MeasurementService.js:243:19)
at Object.i (initMeasurementService.js:102:7)
at Object.dispatchEvent (eventTarget.js:37:22)
at a (triggerEvent.js:10:15)
at f (annotationState.js:31:5)
at IE.initializeViewport (CrosshairsTool.js:82:13)
at IE.computeToolCenter (CrosshairsTool.js:100:61)
at IE.onSetToolActive (CrosshairsTool.js:1063:14)
at KA.setToolActive (ToolGroup.js:183:26)
i @ initMeasurementService.js:104
dispatchEvent @ eventTarget.js:37
a @ triggerEvent.js:10
f @ annotationState.js:31
IE.initializeViewport @ CrosshairsTool.js:82
IE.computeToolCenter @ CrosshairsTool.js:100
onSetToolActive @ CrosshairsTool.js:1063
setToolActive @ ToolGroup.js:183
setToolActive @ commandsModule.ts:188
value @ CommandsManager.js:161
(anonymous) @ ToolBarService.ts:91
value @ ToolBarService.ts:89
onInteraction @ Toolbar.tsx:58
onClick @ ToolbarButton.tsx:56
onClick @ IconButton.tsx:120
He @ react-dom.production.min.js:52
ze @ react-dom.production.min.js:52
(anonymous) @ react-dom.production.min.js:53
Or @ react-dom.production.min.js:100
Pr @ react-dom.production.min.js:101
(anonymous) @ react-dom.production.min.js:113
ke @ react-dom.production.min.js:292
(anonymous) @ react-dom.production.min.js:50
Nr @ react-dom.production.min.js:105
Jt @ react-dom.production.min.js:75
$t @ react-dom.production.min.js:74
t.unstable_runWithPriority @ scheduler.production.min.js:18
qa @ react-dom.production.min.js:122
Le @ react-dom.production.min.js:292
Kt @ react-dom.production.min.js:73

click n°2 on crosshair: crosshairs still displayed and same message

turn right: nothing, no message
flip horizontally: nothing, no message
stack image sync: nothing, message:
Viewport is not a stack, cannot sync images yet
(anonymous) @ toggleStackImageSync.ts:69
(anonymous) @ toggleStackImageSync.ts:65
toggleStackImageSync @ commandsModule.ts:420
value @ CommandsManager.js:161
(anonymous) @ ToolBarService.ts:126
value @ ToolBarService.ts:117
onInteraction @ Toolbar.tsx:58
onClick @ SplitButton.tsx:104
onClick @ ListMenu.tsx:15
He @ react-dom.production.min.js:52
ze @ react-dom.production.min.js:52
(anonymous) @ react-dom.production.min.js:53
Or @ react-dom.production.min.js:100
Pr @ react-dom.production.min.js:101
(anonymous) @ react-dom.production.min.js:113
ke @ react-dom.production.min.js:292
(anonymous) @ react-dom.production.min.js:50
Nr @ react-dom.production.min.js:105
Jt @ react-dom.production.min.js:75
$t @ react-dom.production.min.js:74
t.unstable_runWithPriority @ scheduler.production.min.js:18
qa @ react-dom.production.min.js:122
Le @ react-dom.production.min.js:292
Kt @ react-dom.production.min.js:73

referenceLine: works, message:
initMeasurementService.js:104 Failed to update measurement: Error: Failed to map '[email protected]' measurement for annotationType ReferenceLines: Cannot read properties of undefined (reading 'toMeasurementSchema')
at e.value (MeasurementService.js:532:13)
at annotationToMeasurement (MeasurementService.js:243:19)
at Object.i (initMeasurementService.js:102:7)
at Object.dispatchEvent (eventTarget.js:37:22)
at a (triggerEvent.js:10:15)
at f (annotationState.js:31:5)
at DE._init (ReferenceLinesTool.js:51:17)
at DE.onSetToolEnabled (ReferenceLinesTool.js:68:18)
at KA.setToolEnabled (ToolGroup.js:225:26)
at toggleReferenceLines (commandsModule.ts:446:17)
i @ initMeasurementService.js:104
dispatchEvent @ eventTarget.js:37
a @ triggerEvent.js:10
f @ annotationState.js:31
DE._init @ ReferenceLinesTool.js:51
DE.onSetToolEnabled @ ReferenceLinesTool.js:68
setToolEnabled @ ToolGroup.js:225
toggleReferenceLines @ commandsModule.ts:446
value @ CommandsManager.js:161
(anonymous) @ ToolBarService.ts:126
value @ ToolBarService.ts:117
onInteraction @ Toolbar.tsx:58
onClick @ SplitButton.tsx:104
onClick @ ListMenu.tsx:15
He @ react-dom.production.min.js:52
ze @ react-dom.production.min.js:52
(anonymous) @ react-dom.production.min.js:53
Or @ react-dom.production.min.js:100
Pr @ react-dom.production.min.js:101
(anonymous) @ react-dom.production.min.js:113
ke @ react-dom.production.min.js:292
(anonymous) @ react-dom.production.min.js:50
Nr @ react-dom.production.min.js:105
Jt @ react-dom.production.min.js:75
$t @ react-dom.production.min.js:74
t.unstable_runWithPriority @ scheduler.production.min.js:18
qa @ react-dom.production.min.js:122
Le @ react-dom.production.min.js:292
Kt @ react-dom.production.min.js:73

scroll the MPR view after click on reference line: work, message

Maybe be not exactly at the same evet but when i click at the menu: react-dom.production.min.js:77 Unable to preventDefault inside passive event listener invocation.
preventDefault @ react-dom.production.min.js:77
onInteraction @ ViewportGrid.tsx:358
p @ ViewportPane.tsx:47
He @ react-dom.production.min.js:52
ze @ react-dom.production.min.js:52
(anonymous) @ react-dom.production.min.js:53
Or @ react-dom.production.min.js:100
Pr @ react-dom.production.min.js:101
(anonymous) @ react-dom.production.min.js:113
ke @ react-dom.production.min.js:292
(anonymous) @ react-dom.production.min.js:50
Nr @ react-dom.production.min.js:105
Jt @ react-dom.production.min.js:75
$t @ react-dom.production.min.js:74
t.unstable_runWithPriority @ scheduler.production.min.js:18
Xt @ react-dom.production.min.js:73

probe/inverrt/sonde: does not nothing

cine: crash (title: Something went wrong message: Something went wrongfalse.

Sorry, something went wrong there. Try again.)
message:
Error: playClip: element must be a stack viewport, volume viewport playClip not yet implemented
at TS (playClip.js:19:15)
at Object.playClip [as _playClip] (initCineService.ts:5:12)
at Object.playClip (CineService.js:34:32)
at Object.playClip (CineProvider.tsx:84:15)
at ee (TrackedCornerstoneViewport.tsx:86:19)
at TrackedCornerstoneViewport.tsx:143:5
at Bu (react-dom.production.min.js:262:359)
at t.unstable_runWithPriority (scheduler.production.min.js:18:343)
at qa (react-dom.production.min.js:122:325)
at Nu (react-dom.production.min.js:261:308)
ls @ react-dom.production.min.js:216
n.payload @ react-dom.production.min.js:217
mo @ react-dom.production.min.js:130
Zi @ react-dom.production.min.js:184
Ws @ react-dom.production.min.js:269
Tu @ react-dom.production.min.js:250
Ou @ react-dom.production.min.js:250
Mu @ react-dom.production.min.js:250
yu @ react-dom.production.min.js:243
(anonymous) @ react-dom.production.min.js:123
t.unstable_runWithPriority @ scheduler.production.min.js:18
qa @ react-dom.production.min.js:122
za @ react-dom.production.min.js:123
Wa @ react-dom.production.min.js:122
Bu @ react-dom.production.min.js:263
t.unstable_runWithPriority @ scheduler.production.min.js:18
qa @ react-dom.production.min.js:122
Nu @ react-dom.production.min.js:261
(anonymous) @ react-dom.production.min.js:261
k @ scheduler.production.min.js:16
S.port1.onmessage @ scheduler.production.min.js:12
ErrorBoundary.tsx:73 Grid Error Boundary Error: playClip: element must be a stack viewport, volume viewport playClip not yet implemented
at TS (playClip.js:19:15)
at Object.playClip [as _playClip] (initCineService.ts:5:12)
at Object.playClip (CineService.js:34:32)
at Object.playClip (CineProvider.tsx:84:15)
at ee (TrackedCornerstoneViewport.tsx:86:19)
at TrackedCornerstoneViewport.tsx:143:5
at Bu (react-dom.production.min.js:262:359)
at t.unstable_runWithPriority (scheduler.production.min.js:18:343)
at qa (react-dom.production.min.js:122:325)
at Nu (react-dom.production.min.js:261:308) {componentStack: '\n at b (https://XXXXX/viewer-ohif/…hif/app.bundle.289cff9e71078f732315.js:2:4314797)'} Grid
onError @ ErrorBoundary.tsx:73
n.componentDidCatch @ react-error-boundary.esm.js:65
o.componentDidCatch.n.callback @ react-dom.production.min.js:217
po @ react-dom.production.min.js:131
As @ react-dom.production.min.js:220
Ru @ react-dom.production.min.js:259
t.unstable_runWithPriority @ scheduler.production.min.js:18
qa @ react-dom.production.min.js:122
xu @ react-dom.production.min.js:252
yu @ react-dom.production.min.js:243
(anonymous) @ react-dom.production.min.js:123
t.unstable_runWithPriority @ scheduler.production.min.js:18
qa @ react-dom.production.min.js:122
za @ react-dom.production.min.js:123
Wa @ react-dom.production.min.js:122
Bu @ react-dom.production.min.js:263
t.unstable_runWithPriority @ scheduler.production.min.js:18
qa @ react-dom.production.min.js:122
Nu @ react-dom.production.min.js:261
(anonymous) @ react-dom.production.min.js:261
k @ scheduler.production.min.js:16
S.port1.onmessage @ scheduler.production.min.js:12
RenderingEngine.js:536 Uncaught DOMException: Failed to execute 'drawImage' on 'CanvasRenderingContext2D': The image argument is a canvas element with a width or height of 0.
at xv._renderViewportFromVtkCanvasToOnscreenCanvas (https://XXXXX/viewer-ohif/app.bundle.289cff9e71078f732315.js:2:4544057)
at xv.renderViewportUsingCustomOrVtkPipeline (https://XXXXX/viewer-ohif/app.bundle.289cff9e71078f732315.js:2:4543802)
at _renderFlaggedViewports (https://XXXXX/viewer-ohif/app.bundle.289cff9e71078f732315.js:2:4535403)
_renderViewportFromVtkCanvasToOnscreenCanvas @ RenderingEngine.js:536
renderViewportUsingCustomOrVtkPipeline @ RenderingEngine.js:528
_renderFlaggedViewports @ RenderingEngine.js:39
requestAnimationFrame (async)
_render @ RenderingEngine.js:489
_setViewportsToBeRenderedNextFrame @ RenderingEngine.js:485
render @ RenderingEngine.js:174
_resizeVTKViewports @ RenderingEngine.js:273
resize @ RenderingEngine.js:145
disableElement @ RenderingEngine.js:112
value @ CornerstoneViewportService.ts:162
(anonymous) @ OHIFCornerstoneViewport.tsx:221
Bu @ react-dom.production.min.js:262
t.unstable_runWithPriority @ scheduler.production.min.js:18
qa @ react-dom.production.min.js:122
Nu @ react-dom.production.min.js:261
yu @ react-dom.production.min.js:243
(anonymous) @ react-dom.production.min.js:123
t.unstable_runWithPriority @ scheduler.production.min.js:18
qa @ react-dom.production.min.js:122
za @ react-dom.production.min.js:123
Wa @ react-dom.production.min.js:122
Bu @ react-dom.production.min.js:263
t.unstable_runWithPriority @ scheduler.production.min.js:18
qa @ react-dom.production.min.js:122
Nu @ react-dom.production.min.js:261
(anonymous) @ react-dom.production.min.js:261
k @ scheduler.production.min.js:16
S.port1.onmessage @ scheduler.production.min.js:12

angle: works, message: Failed to update measurement: Error: Failed to map '[email protected]' measurement for annotationType Angle: Cannot read properties of undefined (reading 'toMeasurementSchema')
at e.value (MeasurementService.js:532:13)
at annotationToMeasurement (MeasurementService.js:243:19)
at Object.i (initMeasurementService.js:102:7)
at Object.dispatchEvent (eventTarget.js:37:22)
at a (triggerEvent.js:10:15)
at f (annotationState.js:31:5)
at xE.addNewAnnotation (AngleTool.js:68:13)
at HTMLDivElement.ng (mouseDownActivate.js:16:39)
at a (triggerEvent.js:10:15)
at HTMLDivElement.ip (mouseDownListener.js:76:9)
i @ initMeasurementService.js:104
dispatchEvent @ eventTarget.js:37
a @ triggerEvent.js:10
f @ annotationState.js:31
addNewAnnotation @ AngleTool.js:68
ng @ mouseDownActivate.js:16
a @ triggerEvent.js:10
ip @ mouseDownListener.js:76
initMeasurementService.js:104 Failed to update measurement: Error: Failed to map '[email protected]' measurement for annotationType Angle: Cannot read properties of undefined (reading 'toMeasurementSchema')
at e.value (MeasurementService.js:532:13)
at annotationToMeasurement (MeasurementService.js:243:19)
at Object.i (initMeasurementService.js:102:7)
at Object.dispatchEvent (eventTarget.js:37:22)
at a (triggerEvent.js:10:15)
at HTMLDivElement._mouseUpCallback (AngleTool.js:164:17)
at a (triggerEvent.js:10:15)
at HTMLDocument.tp (mouseDownListener.js:119:5)
i @ initMeasurementService.js:104
dispatchEvent @ eventTarget.js:37
a @ triggerEvent.js:10
_mouseUpCallback @ AngleTool.js:164
a @ triggerEvent.js:10
tp @ mouseDownListener.js:119

rectangle: works, message: Failed to update measurement: Error: Failed to map '[email protected]' measurement for annotationType RectangleROI: Cannot read properties of undefined (reading 'toMeasurementSchema')
at e.value (MeasurementService.js:532:13)
at annotationToMeasurement (MeasurementService.js:243:19)
at Object.i (initMeasurementService.js:102:7)
at Object.dispatchEvent (eventTarget.js:37:22)
at a (triggerEvent.js:10:15)
at HTMLDivElement._mouseUpCallback (RectangleROITool.js:177:17)
at a (triggerEvent.js:10:15)
at HTMLDocument.tp (mouseDownListener.js:119:5)
i @ initMeasurementService.js:104
dispatchEvent @ eventTarget.js:37
a @ triggerEvent.js:10
_mouseUpCallback @ RectangleROITool.js:177
a @ triggerEvent.js:10
tp @ mouseDownListener.js:119

dicom tags: work, message: lots of "unrecognized value" message

@sedghi
Copy link
Member

sedghi commented Oct 13, 2023

Yeah we are planning on showing relevant tools #3608

@sedghi sedghi closed this as completed Oct 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Awaiting Reproduction Can we reproduce the reported bug?
Projects
None yet
Development

No branches or pull requests

3 participants