MITK should be made compatible with the latest VTK 9.0 . For now this is a wishlist item but we should investigate and document the effort to evaluate if this is something we could achieve for MITK 2020
Description
Status | Assigned | Task | ||
---|---|---|---|---|
Resolved | kislinsk | T27461 Update MITK to use VTK 9 | ||
Resolved | kislinsk | T27931 Use OpenMesh for remeshing instead of ACVD |
Event Timeline
VTK 9 changed core components like vtkCellArray that require a thorough adaption of existing code (including external projects like ACVD).
Status: Workbench with WorkbenchRelease configuration excluding ACVD/Remeshing starts on Windows. Does not solve T26981: [Segmentation] Multiple Segmentations under one parent node aren't displayed. :/
Fixed a bug where images appeared brighter as they should as soon as the 3d renderer rendered its first image. Only thing missing now is ACVD I guess.
Migrating ACVD to VTK 9 is not a trivial task as it heavily depends on VTK's data structures that fundamentally changed between VTK 8 and VTK 9. I already spent some hours and managed to compile ACVD but I still get runtime errors related to all the indexing in data structures. Given that ACVD is maintained by only a single person and most of the upgrades over the past years were contributions, I really think that we should look for alternatives to replace ACVD. Its choice to be deeply entangled with VTK for mesh processing added a lot of complexity and I really want to get rid of the additional VTK dependency. There were some advancements over the past years in terms of remeshing/mesh decimation and I already found solid CMake-based, license-friendly alternatives like OpenMesh.
Found very old isolated code (everything related to mitk::Mesh), that I would like to drop instead of migrate. Seems to be from the time when Visual C++ 6.0 was a thing. :D
All build configuration now works on Windows, Ubuntu, and macOS. OpenMesh also integrated but the remeshing/decimation is not yet implemented to replace the old functionality of ACVD.