How to initialize 100 DataNode for a new created SequenceNode without adding into the scene?

Hi everyone,

I am trying to write my first extension module related to sequence annotation but am stuck at the SequenceNode initialization step.

I have a SequenceBrowser with one SequenceNode containning 100 vtkMRMLScalarVolumeNode.
I would like to add a new SequenceNode using 100 MarkUp PointList, i.e., vtkMRMLMarkupsFiducialNode.

How can I fill up the newly created SequenceNode with 100 empty PointList without adding any PointList to the scene file?
How can I instance an empty PointList without adding to the scene, and what are the possible functions I can use to fill up the newly created SequenceNode?

Thank you very much in advance!

So glad I made it by myself !! :grin:
Empty node_PointList: slicer.vtkMRMLMarkupsFiducialNode()
Fill Sequence: nodeSeq_Annotation.SetDataNodeAtValue(node_EmptyPointList, str_IndexValue_Time)

#  Fill up the SequenceNode with all empty 'PointList'
num_DataNodes = nodeSeqBrowser.GetNumberOfItems()
nodeSeq_Image = nodeSeqBrowser.GetSequenceNode(slicer.util.getNode('Existing_ProxyNodeName'))
for idx_DataNode in range(num_DataNodes):
    str_IndexValue_Time = nodeSeq_Image.GetNthIndexValue(idx_DataNode)
    nodeSeq_Annotation.SetDataNodeAtValue(slicer.vtkMRMLMarkupsFiducialNode(), str_IndexValue_Time)
3 Likes