For medical mesh segmentation the method
ExplodeAtUnweldedEdges() is crucial to me (in combination with Unweld & Weld). Unfortunately this method is really slow on huge meshes. A 300.000 MeshFaces mesh takes 3.2 minutes on my 3.2/3.7Ghz i7 3039 machine. 3.2 seconds would be bearable…
So, is there any chance that this method could run in parallel? Or is there anything else I can do to speed it up? The source code can reveal if there’s some exponential stuff going on there, or whatever reason for it being so slow. Knowing why could give hints about how I could (perhaps) prepare my meshes to reduce the processing time. 3.2 minutes is way way off for my use case.
Any other approach to achieve a similar segmentation functionality?
[Edit] - I tried to split the 300.000 face mesh into two and disjoint them in parallel (just a simple Mesh parallel loop) and reduced the time to 54sec. 2 x 54 sec = 1:52 min is a significant reduction from 3.2 minues (single mesh, single thread). This could be an indication, although not certain, that there’s some kind of O(N^2) phenomenon going on in the
ExplodeAtUnweldedEdges() method. Anyone?