Dear VTK experts,
I am trying to use a vtkDistancePolyDataFilter out of python (using vtk==8.1.2 pkg). This seems to work fine for triangle meshes.
reader1 = vtk.vtkPolyDataReader()
reader1.SetFileName('E:/temp/meshEstimated.vtk')
reader1.Update()
meshEstimated = reader1.GetOutput()
reader2 = vtk.vtkPolyDataReader()
reader2.SetFileName('E:/temp/meshGT.vtk')
reader2.Update()
meshGT = reader2.GetOutput()
# compute distance between both meshes
distanceFilter = vtk.vtkDistancePolyDataFilter()
distanceFilter.SignedDistanceOff()
distanceFilter.SetInputData(0, meshEstimated)
distanceFilter.SetInputData(1, meshGT)
distanceFilter.Update()
However the same piece of code fails with contours (i.e. points connected by line segments, not triangles) as the filter complains there are supposedly no points / cells to operate on (see also error msg from VTK/vtkDistancePolyDataFilter.cxx at master · Kitware/VTK · GitHub).
I am able to get 100+ number of points and cells and also can render the same object - why does the vtkDistancePolyDataFilter not work in this case? How can I debug / fix / work this around? Swapping the order of which the contours as input to the distance filter or inputting two times the same always gives me the same result …