Hi, I am trying to draw a polygon on the axial viewer given the coordinates of some fiducial points. I am using a model created from a polydata object so I can easily export it for my analysis.
I used this code in a scripted module and the polygon is correctly displayed in the 3D view but I don’t know how to display it in the red view as well, which is what I need. Is that possible?
I’ve attached a screenshot at the end.
fidList = slicer.util.getNode(‘F’)
if not fidList:
print “No points found”
return
numFids = fidList.GetNumberOfFiducials()
You can only see the intersection of the polydata with a slice, so the polydata has to be a 3D surface (theoretically it could be possible to have a 2D surface that is exactly aligned with the slice viewer, but in practice perfect alignment is often impossible to achieve).
Fortunately, the Markups to model module in SlicerIGT extension does extactly that. It has several options for generating closed surface from a set of markups. It can do simple convex hull or smoothed contour with various options for making it more robust or accurate.
Thanks a lot for the reply.
Now I can show the polygon in all the viewers using the IGT extension.
However I could not figure out how to use vtkMRMLMarkupsToModelNode in my module. How do I set input and output?
Thank you. I am creating a model (closed surface) based on points using Markups to Model module. The results are satisfactory. Is there any related literatures I could refer to? (for reference when describing algorithms in the scientific paper). Hope for some suggestions. Your help is highly appreciated!