Fiber Clustering Acceleration With a Modified Kmeans++ Algorithm Using Data Parallelism - Goicovich, Isaac; Olivares, Paulo; Román, Claudio; Vázquez, Andrea; Poupon, Cyril; Mangin, Jean-François; Guevara, Pamela; Hernández, Cecilia (Frontiers in Neuroinformatics, 2021)
Fiber clustering methods are typically used in brain research to study the organization of white matter bundles from large diffusion MRI tractography datasets. These methods enable exploratory bundle inspection using visualization and other methods that require identifying brain white matter structures in individuals or a population. Some applications, such as real-time visualization and inter-subject clustering, need fast and high-quality intra-subject clustering algorithms. This work proposes a parallel algorithm using a General Purpose Graphics Processing Unit (GPGPU) for fiber clustering based on the FFClust algorithm. The proposed GPGPU implementation exploits data parallelism using both multicore and GPU fine-grained parallelism present in commodity architectures, including current laptops and desktop computers. Our approach implements all FFClust steps in parallel, improving execution times in all of them. In addition, our parallel approach includes a parallel Kmeans++ algorithm implementation and defines a new variant of Kmeans++ to reduce the impact of choosing outliers as initial centroids. The results show that our approach provides clustering quality results very similar to FFClust, and it requires an execution time of 3.5 seconds for processing about a million fibers, achieving a speedup of 11.5 times compared to FFClust.