Hi Stefan,
thanks for the link, this sounds just like the behavior I observed (even though the discussion turns towards other, seemingly solved problems). I found a solution that seems to work for me and does not show undesired behavior after initial testing.
My minor change is described in https://phabricator.mitk.org/T11113 with code available at https://github.com/maleike/MITK/commits/T11113-create-proper-geometry-for-small-meshes
If anybody sees an inconvenience with my change, I am happy to hear about it!
Regards,
Daniel
"Dinkelacker, Stefan" <s.dinkelac...@dkfz-heidelberg.de> hat am 21. August 2017 um 21:27 geschrieben:Hi Daniel,
maybe also of interest for the discussion: https://phabricator.mitk.org/T11113
Best,
StefanVon: Daniel Maleike <c...@maleike.de>
Gesendet: Montag, 21. August 2017 17:58
An: mitk-users@lists.sourceforge.net
Betreff: [mitk-users] Loading tiny triangle mesh violates assertion in SlicedGoemtry3DDear MITK users,
I came across a violated assertion in SlicedGeomtry3D and wanted to see if anybody has seen similar problems with very small (tiny extent) data sets. Has anybody already considered possible solutions or expected behavior?
When you load attached polygon file (triangles of very small extent) into Workbench, you will find that SliceNavigationController tries to initialize a SlicedGeometry3D [1]. SlicedGeometry3D will then calculate that it requires 0 slices [2] (which seems suspicious).
A couple of lines later, SliceNavigationController initializes a ProportionalTimeGeometry using the previously generated SlicedGeometry3D. ProportionalTimeGeometry will then clone the specified SlicedGeometry3D and run into the violated assertion at [3] which requires non-empty sliced geometries.I am not yet sure which is right: should SlicedGeometry just stop initialization when it finds itself with zero slices? Or should cloning of evenly-spaced geometries with 0 planes be accepted? Or should SlicedGeometry always create at least one slice unless the extent is really zero?
If anybody has thoughts on this behavior, I'd be happy to discuss. I would like to avoid the violated assertion and ideally also be able to see something when loading this data set.
Kind regards,
Daniel[1] for the attached file: call to InitializePlanes in line 279 of mitkSliceNavigationController.cpp
[2] mitkSlicedGeometry3D.cpp line 253
[3] mitkSlicedGeometry3D.cpp line 51
------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________ mitk-users mailing list mitk-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mitk-users