Vtk-js: Tube filter glitch

Created on 29 Jul 2020  路  16Comments  路  Source: Kitware/vtk-js

Hi, the tube filter in VTK.js behaves different than in c++.
In the following image, green is from VTK.js and gray from Paraview 5.8.0
image

Here is the code I used to reproduce in VTK.js: (the polydata line is embedded in the JS)
tube-code.txt

Is this a problem with my poly data? code? vtk.js?
Thank you so much :)
Emile

filters confirmed bug 馃悶

Most helpful comment

@EmileSonneveld here is the result with the latest fix of tube filter

image

@jourdain i propose to close the issue

All 16 comments

@sankhesh do you know more? I saw that you contributed a lot to this :)

@EmileSonneveld I'll take a look and let you know

@EmileSonneveld I extracted the data from the text file you uploaded into a vtp file. Essentially just copying everything from the VTKFile section to the vtp file.

Next, I ran it through the tubesviewer vtk-js application and paraview. The results are as in the screenshots below:

TubesViewer

Screenshot from 2020-08-04 14-53-48

ParaView

paraview-tube

There is definitely an issue where the last line/cell is ignored by the vtk-js tube filter but I don't see the spike(?) that you show in the picture.

That spike is indeed mysterious. I had 2 exports with the spike on a different location. IIRC, I got it when exporting to STL, but not for VTI.

IIRC, I got it when exporting to STL,

That would indicate an issue with the STL export and not tube filter.

Any fix possible for this one? Or an easy workaround?

Since the issue is in the STL export code, you'd have to debug that. Or use a different geometry export format (e.g. OBJ).

The problem occurs before the STL export. STL export could have a second issue, but that can only be investigated after the tube filter is fixed.

What is the issue in the tube filter? Based on https://github.com/Kitware/vtk-js/issues/1546#issuecomment-668769269 and https://github.com/Kitware/vtk-js/issues/1546#issuecomment-668795612, there is no spike in the output of the tube filter. It only happens when when you export to STL, right? Could you share more details about your workflow?

The problem you encountered in https://github.com/Kitware/vtk-js/issues/1546#issuecomment-668769269 is the real issue. The polyline is a closed loop, but when passing it trough the tube filter, there is a piece missing from the mesh. 馃槈

The spike is a different story. I did export the broken result out of VTK.js to investigate and compare with the result from VTK c++. The vtk.js export introduces a spike, but I guess it will go away when fixing the initial issue.

Do you think the missing piece in the tube filter is fixable?
If needed, we can make some contracts and pay for the development.

Thanks for clarifying. Yes, we could fix the tube filter. Mind sharing your email address so we can discuss contracting off-list?

Older VTK.js versions don't have this problem. The regression is probably not because of a change in the tube filter code.

"vtk.js": "^12.1.2", // No problem
"vtk.js": "^13.0.0", // Problem
"vtk.js": "^14.16.5", // Problem

FYI @floryst

@EmileSonneveld I cannot reproduce your versioning differences with what sankesh did in https://github.com/Kitware/vtk-js/issues/1546#issuecomment-668769269. v12.0.0, v12.1.2, and v13.0.0 all exhibit the issue in https://github.com/Kitware/vtk-js/issues/1546#issuecomment-668769269.

I checked the commits as well, and none of them between v12.1.2 and v13.0.0 touch tube filter code.

@EmileSonneveld can you try the lastest version and see if does resolve the issue? then close the issue?

@EmileSonneveld here is the result with the latest fix of tube filter

image

@jourdain i propose to close the issue

Was this page helpful?
0 / 5 - 0 ratings

Related issues

rjsgml5698 picture rjsgml5698  路  4Comments

rjsgml5698 picture rjsgml5698  路  6Comments

aylward picture aylward  路  4Comments

aminechir picture aminechir  路  3Comments

mix3d picture mix3d  路  6Comments