A Hybrid Shared-Memory Parallel Max-Tree Algorithm for Extreme Dynamic-Range Images

Ugo Moschini*, Arnold Meijster, Michael Wilkinson

*Corresponding author for this work

Research output: Contribution to journalArticleAcademicpeer-review

15 Citations (Scopus)
121 Downloads (Pure)


Max-trees, or component trees, are graph structures that represent the connected components of an image in a hierarchical way. Nowadays, many application fields rely on images with high-dynamic range or floating point values. Efficient sequential algorithms exist to build trees and compute attributes for images of any bit depth. However, we show that the current parallel algorithms perform poorly already with integers at bit depths higher than 16 bits per pixel. We propose a parallel method combining the two worlds of flooding and merging max-tree algorithms. First, a pilot max-tree of a quantized version of the image is built in parallel using a flooding method. Later, this structure is used in a parallel leaf-to-root approach to compute efficiently the final max-tree and to drive the merging of the sub-trees computed by the threads. We present an analysis of the performance both on simulated and actual 2D images and 3D volumes. Execution times are about 20 x better than the fastest sequential algorithm and speed-up goes up to 30-40 on 64 threads.

Original languageEnglish
Pages (from-to)513-526
Number of pages14
JournalIeee transactions on pattern analysis and machine intelligence
Issue number3
Publication statusPublished - Mar-2018


  • Connected filters
  • hierarchical image representation
  • parallel algorithms

Cite this