We use a combination of Python with NIPS through libvips to prepare our image collection for IIIF.
We’ve chosen to go with pyramidal TIF format instead of JPEG2000, the main reason being the fact that you still need a commercial license of Kakadu software for JPEG2000 processing to be efficient and we rather aim to use as many open and free tools as possible instead.
Our original images are kept untouched, because they are considered as our digital “negatives”, we make a duplicate in pyramidal TIF format and as a result we can use compression on these pyramidal TIFs to save on storage space a bit without a noticeable difference in image quality.
Some tests were done to see if we could accelerate the conversion of our images, libvips claims to use multiple cores, but to be absolutely sure the hardware resources were used at their full potential, the conversion script was rewritten with a python library for parallel processing.
Timed tests of the normal script and the parallel script on the same batches of images frequently resulted in a speed gain between 20-50%, depending on the amount of images to process and their sizes.
The resulting pyramidal TIFs are saved to a temporary folder where another script will pick them up and place them in the correct subfolders based on their identification codes.