vtkCurvatures yields unreasonably large values along borders

@normanius Based on the comments here, I have created a class that generates the Gaussian and Mean curvatures, adjusting curvature for edge variations.

Please see: CurvaturesAdjustEdges for Python and CurvaturesAdjustEdges for C++.

If you run the Python example with your data as follows:

    reader = vtk.vtkXMLPolyDataReader()
    reader.SetFileName('./curvature.vtp')
    reader.Update()
    source = reader.GetOutput()

    cc = ComputeCurvatures(source)
    cc.set_gauss_curvature_bounds(-0.5, 1.0)
    cc.gauss_bounds_on()

    cc.update()

    # Uncomment the following lines if you want to write out the polydata.
    writer = vtk.vtkXMLPolyDataWriter()
    writer.SetFileName('Source.vtp')
    writer.SetInputData(source)
    writer.SetDataModeToAscii()
    writer.Write()

I get this result:

1 Like