import tempfile import subprocess import PIL.Image def convert(infile): pto = tempfile.NamedTemporaryFile() image = tempfile.NamedTemporaryFile(suffix="." + infile.split(".")[-1].split("/")[-1]) with open(infile, "rb") as inimage: image.write(inimage.read()) erect = ["erect2cubic", f"--erect={image.name}", f"--ptofile={pto.name}", "--filespec=PNG_m"] subprocess.run(erect) tiles = tempfile.TemporaryDirectory() nona = ["nona", pto.name, "-o", tiles.name + "/out"] subprocess.run(nona) return PIL.Image.open(tiles.name + "/out0005.png")