Open-source package for fast generalised geodesic distance transform
Muhammad led the development of FastGeodis, an open-source package that provides efficient implementations for computing Geodesic and Euclidean distance transforms (or a mixture of both), targetting efficient utilisation of CPU and GPU hardware. This package is able to handle 2D as well as 3D data, where it achieves up to a 20x speedup on a CPU and up to a 74x speedup on a GPU as compared to an existing open-source library that uses a non-parallelisable single-thread CPU implementation. Further in-depth comparison of performance improvements is discussed in the FastGeodis documentation.
Our publication in Journal of Open Source Software details the summary, statement of need, and high-level implementation details of our FastGeodis package. The FastGeodis package is implemented using PyTorch (Paszke et al., 2019), utilising OpenMP for CPU- and CUDA for GPU-parallelisation of the algorithm. It is accessible as a Python package that can be installed across different operating systems and devices. Comprehensive documentation and a range of examples are provided for understanding the usage of the package on 2D and 3D data using CPUs or GPUs. Two- and three-dimensional examples are provided for Geodesic, Euclidean, and Signed Geodesic distance transforms as well as for computing Geodesic Symmetric Filtering (GSF), the essential first step in implementing the interactive segmentation method described in Criminisi et al. (2008). A further in-depth overview of the implemented algorithm, along with evaluation on common 2D/3D data input sizes, is provided in the FastGeodis [documentation]((https://fastgeodis.readthedocs.io/).