1. A method executed by a processor of a computing device, the method comprising: receiving a set of images, the set of images comprising a base image and a target image that is to be registered with the base image, the target image comprising a plurality of pixels; dividing the target image into a plurality of arbitrarily-shaped disjoint regions; selecting a set of disjoint regions from the plurality of arbitrarily-shaped disjoint regions, wherein selecting the set of disjoint regions comprises: computing, for each disjoint region in the plurality of disjoint regions, a respective selection metric value; and selecting a threshold number of disjoint regions with highest selection metric values as the set of disjoint regions; and optimizing a metric over the set of arbitrarily-shaped disjoint regions to compute a transform, the transform usable to register the target image with the base image.