Selecting random points of a PolyData (Stratified sampling)

Ok I will do it. But wanted to inform that the size is not a problem. It crashes for a small mesh also.
I also wanted to confirm if the input should be a mesh or pointset. As per the document, it should take pointset but I checked and the method works for a polydata sphere, however if you convert the polydata to pointset then it crashes for the same input sphere.

Following example code for demonstration:

import vtk

def readvtk(filename):
    a = vtk.vtkPolyDataReader()
    a.SetFileName(filename)
    a.Update()
    m1 = a.GetOutput()
    return m1

sphere = vtk.vtkSphereSource()
sphere.SetThetaResolution(200)
sphere.SetPhiResolution(100)
sphere.SetRadius(1.0)
sphere.Update()
sphere = sphere.GetOutput()

points = sphere.GetPoints()


pointset = vtk.vtkPointSet()
pointset.SetPoints(points)

print(pointset.GetNumberOfPoints())

f = vtk.vtkPoissonDiskSampler()

if 1:
    print('Using pointset')
    # pointset as input will fail
    f.SetInputData(pointset)
else:
    print('Using polydata')
    # polydata as input works
    f.SetInputData(sphere)

f.SetRadius(0.1)
f.Update()

output = f.GetOutput()

print(output.GetNumberOfPoints())