I have a geometric object composed of individual voxels that I've identified as a 'cluster.' The cluster was identified using a flood-fill algorithm assuming face-connectedness. I have an analysis that I'd like to do on this cluster (and other much larger clusters) which is NP-hard. This algorithm can only handle up to $N_{points}$.
So, I'd like to break up the volume into the minimum number of parts (i.e. $M_{parts}$) such that no chunk/part has more than $N_{points}$. The caveat, however, is that I'd like to intelligently cut up my cluster such that I minimize the number of holes that I create and destroy. These holes are relevant for my analysis algorithm.
For instance, there is an obvious bottleneck on the lower right side of the image. That would be a perfect location to cut.
Obviously, this is challenging because I'm trying to optimize three competing variables: size, number of holes and number of chunks.
QUESTION : Are there any canonical algorithms to do such a task?
