vtkMRMLMarkupsNode is an abstract base class. You cannot instantiate it, but only a concrete child class. See the list of child classes in the inheritance diagram.
@lassoan i am now able to put markup points programmatically but since the number of points I am displaying is too large I have to rename them manually from eg Markuppoint_1 to 1 for better visibility,is there a way to show the points without their names?
@mukund_shah I haven’t found a way to turn off the label completely with fiducials but you can set the text scale to zero with markup_node.GetDisplayNode().SetTextScale(0). Example:
import numpy as np
markup_node = slicer.mrmlScene.AddNewNodeByClass("vtkMRMLMarkupsFiducialNode")
slicer.util.updateMarkupsControlPointsFromArray(markup_node, np.random.rand(10,3))
markup_node.GetDisplayNode().SetTextScale(0)