I have been using the isodose module to make isodose models. It worked in 4.8 but with 4.10 the 2D isolines do not display correctly - they do not change properly as I scroll through the slices - the lines do not change shape the just start to disappear as on the red and yellow windows…
I have also had issues with the volume segment editor module. Even using a simple tool such as paint it does not render properly with all kinds of odd lines…
…and if I persevere the program freezes or crashes.
I have tried the latest nightly, I have tried unistalling and reinstalling without any additional modules etc - and I have also tried using the experimental rendering method. Nothing seems to make any difference.
Yes the the isodoses and segmentations are now working perfectly. The only thing I’ve not managed to fix is a widget I made to render a surface volume at precise dose levels using a slider.
First, in set up I create a volume display node
# Display node for 3D volumes
volRenLogic = slicer.modules.volumerendering.logic()
volumeDisplayNode = volRenLogic.CreateVolumeRenderingDisplayNode()
slicer.mrmlScene.AddNode(volumeDisplayNode)
volumeDisplayNode.UnRegister(volRenLogic)
self.threeDVolumeDisplayNode = volumeDisplayNode
Later, after calculating my doses, I set the parameters for the 3D display updating the display node whenever the foreNode changed
# and volume render the dose
volRenLogic = slicer.modules.volumerendering.logic()
volRenLogic.UpdateDisplayNodeFromVolumeNode(self.threeDVolumeDisplayNode, foreNode)
# sets the window parameters for the 3D volume where the volume is rendered
layoutManager = slicer.app.layoutManager()
threeDWidget = layoutManager.threeDWidget(0)
controller = threeDWidget.threeDController()
threeDView = threeDWidget.threeDView()
controller.set3DAxisVisible(False)
controller.set3DAxisLabelVisible(False)
controller.setOrientationMarkerType(2)
controller.setOrthographicModeEnabled(True)
controller.spinView(True)
threeDView.lookFromViewAxis(ctk.ctkAxesWidget.Anterior)
threeDView.resetCamera(False, True, True)
threeDView.resetFocalPoint()
I then changed the threshold of the volume using a slider bar / dose selector…
this all worked beautifully in 4.8 but not in 4.10. I’m not really sure what’s going on – I can get a (I’m not sure if it’s the same) volume display node to appear if I go to volume rendering and choose the node it was created from, but my slider no longer affects it. If I play with it too much the whole thing crashes.
I’m sure this is to do with differences in how volume rendering is now handled and I suspect that I should be doing something simpler - but I’m struggling to figure exactly what it is I need to change. Perhaps there is some documentation that I’ve missed that someone could point me towards?