Current status
All computations are run through a single worker thread operating on a single CPU core. There is no parallelisation at all.
Issue
Certain sections could be parallelised, such as the algorithms that deal with voxel type assignment. Each voxel is evaluated effectively independently, so that would be an obvious place to implement parallelisation.
Proposed change
An option would be to use OpenMP to allow using multiple CPU cores at the same time.
Improvement
This change would improve the performance time of parallelised sections by up to a factor equal to the number of CPU cores.