Issue with BreachWarning in Slicer 4.11

I’m using the latest stable Slicer 4.11.20210226 with NDI electromagnetic tracking system on Win10. Once models created, calibrated, and a tracking system successfully connected to the phantom coordinates with all transformations, I’m trying to use a BreachWarning to measure the distance between a needle tip and object. At the first attempt, the models in the Inputs’ “Model to watch:” and “Tool tip (to RAS) transform:” can be chosen. But, after that, if I’m trying to chose the other model in drop-down menus, the mouse cursor just jumping itself, which prevents choosing any other model. However, if the scene saved and reopen, the drop-down menus are working fine, allow changing the models accordingly. But, the real-time distance measurement doesn’t work and the measurement is showing only when the “Display line to closest point” check box is marked or unmarked. Or, when the slider in the “Line to closest point text size” is moved to any position.
Two short videos, related to these issues, uploaded.
I’ve had the same problem when rolled back to Slicer 4.10.2.
But, there is no similar issue in 4.10.1.
Any suggestions or workaround on dealing with these problems would be greatly appreciated because we need to use a new ver. 4.11.


I could not reproduce this issue. Could you save the scene as a .mrb file, upload it somewhere, and post the link here?

Andras,
please find the link here:

Thanks!

I could reproduce the issue and the problem seem to be due to some problems how annotation ruler node is loaded from a saved scene.

I’ve updated BreachWarning module to use markups line node instead, which should fix the problem.

That would be great.
Will you push a fix, meaning to build a new revision for ver.4.11?
Thanks a lot for the tremendous support!

It is already available in the latest Slicer Preview Release.

Thank you very much!
The distance measurement in BreachWarning is working now in real time.

Sorry to tell about another issue in the latest release - Slicer doesn’t start after the PortPlacement extension installed. Should be opened a new topic?

Thanks for the update. Please create a new topic to ask about PortPlacement extension.

Just an update - in the latest release 4.13 rev.29889 deployed today Slicer reboots fine after the PortPlacement installed. No issue with that.

Can’t find Matlab extension. Is it deprecated in 4.13 and in further versions?

I’ve pushed a fix to make MatlabBridge compatible with Slicer-4.13 (it may take a few days for the extension to show up, as the extensions server is being replaced).

That said, you may consider MatlabBridge deprecated. The MatlabBridge made a lot of sense 10+ years ago when we developed it, but now you are probably much better off using Python instead. Python is a general-purpose programming language with magnitudes larger community and more packages. Moreover, since Slicer has an embedded Python interpreter, you can use Python (and any Python packages) in Slicer very conveniently - without the need for installing any additional runtime or dealing with licensing hassles of Matlab.

Thanks a lot for the MatlabBridge fix!
In today’s release it works like a charm.

Totally agree about the Python and this is what I’m trying to work on. And, using MatlabBridge is very helpful for now.

Actually, we want to use EM tracking system to quickly record location of each catheter inserted into the tumor model in reference to each other catheter, and generate a map similar to shown here.
Could you suggest a simple solution to achieve this goal with the Slicer? Thank you.

Seems the solution for my previous request is described here:
http://perk.cs.queensu.ca/contents/needle-navigation-and-catheter-reconstruction-breast-brachytherapy-using-open-source

There is no MarkupsToModel extension in 4.13.0-2021-05-11.
Are you planning to deploy it?

Thank you so much for keeping the Slicer project up and running!

This is a temporary issue due to server upgrades - see details here.

Thanks for the update.
MarkupsToModel is available now and just installed within today’s 4.13 release.

1 Like

To calculate the distance from the other EM sensor, I added the second BreachWarning set (like BreachWarning_1). Unfortunately, the same issue appeared as it was described in the original post (May 4th).
Adding even more than 2 additional Breachwarmings in Slicer 4.10.1 works fine.
Can you please fix the issue in the recent Slicer 4.13?
Thank you in advance!

I’ve tested this and I could add multiple BrachWarning nodes and all the line updates worked well in a recent Slicer-4.13 release. You need to create the scene with this recent Slicer version (you cannot use a scene that was created in Slicer-4.10 because I’ve updated the module to use markups line node instead of annotation ruler). If you have any scene that does not work well then save it as an .mrb file and send it and I’ll investigate.

I created a new scene from the scratch in today’s release 4.13.0-2021-06-02 r29939 / 4d13db4, and was able to add more BreachWarnings to the scene.
Unfortunately, when trying to change the model in the drop-down menu, the same behavior of the BreachWarning appears as it was in the original post


.
Looks like that just one small fix should be applied :wink:

The glitch that you saw was due to the incoming transforms keep triggering update of the GUI from the scene (so it always reverted the selection to the current selection stored in the scene). An easy workaround is to stop the OpenIGTLink connection while setting up the scene.

I have now added some extra checks to the module to prevent these continuous updates, so latest Slicer Stable Release and latest Slicer Preview Release will not have this issue starting from tomorrow.

Works fine now. Thank you!

1 Like