In the Endoscopy module it is possible to choose a MarkupsCurve as the “Input Fiducials”. However, nothing happens when clicking on “Create path”. In addition, I have seven cameras with the same name, so I’m not really sure which one to use. Anyway, when I click on “Create path”, the Python console shows the following:
Traceback (most recent call last):
File "/home/torquil/usr/slicer/lib/Slicer-4.13/qt-scripted-modules/Endoscopy.py", line 222, in onCreatePathButtonClicked
result = EndoscopyComputePath(fiducialsNode)
File "/home/torquil/usr/slicer/lib/Slicer-4.13/qt-scripted-modules/Endoscopy.py", line 394, in __init__
self.calculatePath()
File "/home/torquil/usr/slicer/lib/Slicer-4.13/qt-scripted-modules/Endoscopy.py", line 414, in calculatePath
t, p, remainder = self.step(segment, t, remainder)
TypeError: 'NoneType' object is not iterable
Btw, I’m using 3D Slicer 4.13.0-2020-11-24 r29485 / 5a52b58 on Linux.
That’s great! I tried it by copying Endoscopy.py to my existing installation. Slicer now generates an endoscopy flight from a markups curve. However, would it be possible to set the “dl”-parameter manually? I found that by reducing it from dl = 0.5 to dl = 0.1 (on line 354 in Endoscopy.py after your modifications) I could achieve the smoothness of the endoscopy flight that I wanted. Could the “dl”-parameter be user adjustable in the Endoscopy module?
Endoscopy is a very simple Python scripted module and so you can a slicer.qMRMLSliderWidget() to control the sampling distance very easily. If it works well then send us a pull request so that we can add it to Slicer core. Thank you!
The error is fixed in latest Slicer Preview Release but packaging seems to be broken right now, so you can download a preview release from a few days ago and overwrite Endoscopy.py with the latest version.
Can we switch to the new server? It would be a better investment of your time to get the new server up and running instead of trying to prop up the old one.