¿Cómo comprobar si un archivo es un archivo de imagen válido?

Actualmente estoy usando PIL. from PIL import Image try: im=Image.open(filename) # do stuff except IOError: # filename not an image file Sin embargo, aunque esto cubre suficientemente la mayoría de los casos, algunos archivos de imagen como xcf, svg y psd no se detectan. Los archivos psd...