Select contour from the mrml scene

Hello everyone,

I’m using the 3D slicer version 4.10.0 and I want to select a specific contour in my module:


However, in the mrml scene I can’t get any ID for the contours:


So, the following code doesn’t work:


Any idea how to fix this?

Thank you in advance.

There is a specific widget for segment selection: qMRMLSegmentSelectorWidget.

Thanks a lot!

I used the connection: self.inputSegmentationSelector.connect(“currentSegmentChanged(QString)”, self.onContourChange)

And now I want to calculate the center of mass of the selected contour. So I used the following code:

modelNode = slicer.mrmlScene.GetNodesByName((str(targetContour)))
pointCoordinates = slicer.util.arrayFromModelPoints(modelNode) # point coordinates of targetContour

but I’m having the error:

File “C:\Program Files\Slicer 4.10.0\bin\Python\slicer\”, line 795, in arrayFromModelPoints
pointData = modelNode.GetPolyData().GetPoints().GetData()
AttributeError: ‘vtkCommonCorePython.vtkCollection’ object has no attribute ‘GetPolyData’

You get the error because you pass a segmentation node to a function that requires a model node.

What you are tryibg to achieve? Jumping to selected fiducial feature is already implemented. See for example in segment list widget (

I would like to select a specific segment in 3D slicer like this:


And then I want to calculate the center of mass of the CTV1. So in order to use the function: getCenterOfMass(contour)

what I need to do?