A Quick Update regarding Mosaic:
It took me some time to come back and update my Mosaic-generating script to support multiprocessing. I knew it would provide a significant speed update but the results got me floored … somewhat.
Lenna test image was scaled up to 16,800x16,800 px and a pool of 2,819 test tiles was buffered.
The new multiprocessing Mosaic builder splits the image into 12 parts vertically. The 12 is the number of cores my system has and goes on using MSE to compare a portion of that section of tiles to find the best match and apply it to the image. And once the subprocesses are complete they are reassembled back into one large image. There are 28,224 tiles to check against 2,819 images or 79,563,456 possible combinations.
The Multiprocessing script took 14 minutes 51 seconds while the old script took over an hour or 80 minutes 37 seconds. That’s 5.4 times faster. Which is not 12 times what I expected but still a lot faster.
The next step is to use CUDA to make it run even faster.