Page MenuHomePhabricator

Reinit fails for relatively small objects
Closed, ResolvedPublic

Assigned To
Authored By
Bert
Mar 19 2018, 9:44 AM
Referenced Files
F990734: cube_2.0.stl
Mar 23 2018, 11:46 AM
F987464: before_reinit.PNG
Mar 19 2018, 9:44 AM
F987467: after_reinit.PNG
Mar 19 2018, 9:44 AM
F987469: osi.vtu
Mar 19 2018, 9:44 AM
F987470: clipping_demonstration.PNG
Mar 19 2018, 9:44 AM

Description

When loading Unstructured Grids the Reinit Method fails: The object is not centered and the Geometry/Bounding Box does not fit the actual mesh data. This Bug was first noted in context with the mitk::RenderingManager::InitializeViews(const BaseGeometry * geometry, ...) where it leads to the same effect when used with a geometry instance assigned to a mitk::UnstructuredGrid data instance. This behaviour was first identified in MITK 2016.11.99-c9f20630 and reproduced in the corresponding MITK Workbench version. It can also be reproduced in MITK Workbench 2016.11.0. Note that "Global Reinit" is not affected.

To reproduce the Bug (tested in MITK Workbench 2016.11.0):
1.) Start MITK Workbench
2.) Click "Open File" and select "ois.vtu" (Download here:

)
3.) When asked about the File reading options, use the default ("Vtk Unstructured Grid Files") and click "Ok"
4.) The grid should show up in the 3D view and look like
before_reinit.PNG (732×793 px, 137 KB)

5.) In the Data Manager select the node "osi", click right and select "Reinit" from the context menu
6.) The 3D view should look like
after_reinit.PNG (870×883 px, 35 KB)

7.) Rotate and move the camera to a view like in
clipping_demonstration.PNG (707×888 px, 74 KB)
to verify the clipping effect on the mesh with some invisible clipping plane and the incorrect alignment of the bound indicators (red, green and blue rectangles) relative to the mesh

Event Timeline

kislinsk triaged this task as Normal priority.Mar 19 2018, 10:01 AM
kislinsk edited projects, added MITK (2018-04); removed MITK.
kislinsk renamed this task from Reinit fails for Unstructured Mesh to Reinit fails for relatively small objects.Mar 23 2018, 11:45 AM
kislinsk added a subscriber: kislinsk.

Could reproduce with a cube surface with edge length 2:

We should find the difference between surfaces that work and surfaces that doesn't work. At first I thought that it is the extent in both negative and positive absolute coordinates vs. surfaces with only positive absolute coordinates but I found counter examples...

Reinit broke somewhere between the 2016.03 and 2016.11 releases.

Reinit should work now (again). It is also possible now to reinit multiple selected nodes.