seung-lab / connected-components-3d

Connected components on discrete and continuous multilabel 3D & 2D images. Handles 26, 18, and 6 connected variants; periodic boundaries (4, 8, & 6)
GNU Lesser General Public License v3.0
359 stars 43 forks source link

perf(relabel): collapse union-find into simple array remap #45

Closed william-silversmith closed 3 years ago

william-silversmith commented 3 years ago

8 connected

On YACCLAB fingerprints, ~185 MPx/sec -> ~280 MPx/sec (1.5x)! On YACCLAB medical, improvement from ~240 MPx/sec -> ~280 MPx/sec (1.17x)

26 connected

On pinky40subvol, 90.83 MVx/sec -> 118.28 MVx/sec (1.30x) On random array (0 to 10,000), 52.09 MVx/sec -> 50.70 MVx/sec (0.97x) On test_v0 102.57 -> 128.59 MVx/sec (1.25x)