Source code for galaxy.datatypes.util.image_util

"""
Provides utilities for working with image files.
"""
import logging, imghdr

try:
    import Image as PIL
except ImportError:
    try:
        from PIL import Image as PIL
    except:
        PIL = None

log = logging.getLogger(__name__)

[docs]def image_type( filename, image=None ): format = '' if PIL is not None: if image is not None: format = image.format else: try: im = PIL.open( filename ) format = im.format im.close() except: return False else: format = imghdr.what( filename ) if format is not None: format = format.upper() else: return False return format
[docs]def check_image_type( filename, types, image=None ): format = image_type( filename, image ) # First check if we can use PIL if format in types: return True return False
[docs]def get_image_ext ( file_path, image ): #determine ext format = image_type( file_path, image ) if format in [ 'JPG','JPEG' ]: return 'jpg' if format == 'PNG': return 'png' if format == 'TIFF': return 'tiff' if format == 'BMP': return 'bmp' if format == 'GIF': return 'gif' if format == 'IM': return 'im' if format == 'PCD': return 'pcd' if format == 'PCX': return 'pcx' if format == 'PPM': return 'ppm' if format == 'PSD': return 'psd' if format == 'XBM': return 'xbm' if format == 'XPM': return 'xpm' if format == 'RGB': return 'rgb' if format == 'PBM': return 'pbm' if format == 'PGM': return 'pgm' return None