<s> from __future__ import absolute_import <EOL> import math <EOL> import os . path <EOL> import requests <EOL> try : <EOL> from cStringIO import StringIO <EOL> except ImportError : <EOL> from StringIO import StringIO <EOL> import numpy as np <EOL> import PIL . Image <EOL> import scipy . misc <EOL> from . import is_url , HTTP_TIMEOUT , errors <EOL> SUPPORTED_EXTENSIONS = ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) <EOL> def load_image ( path ) : <EOL> """<STR_LIT>""" <EOL> image = None <EOL> if is_url ( path ) : <EOL> try : <EOL> r = requests . get ( path , <EOL> allow_redirects = False , <EOL> timeout = HTTP_TIMEOUT ) <EOL> r . raise_for_status ( ) <EOL> stream = StringIO ( r . content ) <EOL> image = PIL . Image . open ( stream ) <EOL> except requests . exceptions . RequestException as e : <EOL> raise errors . LoadImageError , e . message <EOL> except IOError as e : <EOL> raise errors . LoadImageError , e . message <EOL> elif os . path . exists ( path ) : <EOL> try : <EOL> image = PIL . Image . open ( path ) <EOL> image . load ( ) <EOL> except IOError as e : <EOL> raise errors . LoadImageError , '<STR_LIT>' % e . message <EOL> else : <EOL> raise errors . LoadImageError , '<STR_LIT>' % path <EOL> if image . mode in [ '<STR_LIT:L>' , '<STR_LIT>' ] : <EOL> return image <EOL> elif image . mode in [ '<STR_LIT:1>' ] : <EOL> return image . convert ( '<STR_LIT:L>' ) <EOL> elif image . mode in [ '<STR_LIT>' ] : <EOL> new = PIL . Image . new ( '<STR_LIT:L>' , image . size , <NUM_LIT:255> ) <EOL> new . paste ( image , mask = image . convert ( '<STR_LIT>' ) ) <EOL> return new <EOL> elif image . mode in [ '<STR_LIT>' , '<STR_LIT>' ] : <EOL> return image . convert ( '<STR_LIT>' ) <EOL> elif image . mode in [ '<STR_LIT:P>' , '<STR_LIT>' ] : <EOL> new = PIL . Image . new ( '<STR_LIT>' , image . size , ( <NUM_LIT:255> , <NUM_LIT:255> , <NUM_LIT:255> ) ) <EOL> new . paste ( image , mask = image . convert ( '<STR_LIT>' ) ) <EOL> return new <EOL> else : <EOL> raise errors . LoadImageError , '<STR_LIT>' % image . mode <EOL> def upscale ( image , ratio ) : <EOL> """<STR_LIT>""" <EOL> if not isinstance ( image , np . ndarray ) : <EOL> raise ValueError ( '<STR_LIT>' ) <EOL> if ratio < <NUM_LIT:1> : <EOL> raise ValueError ( '<STR_LIT>' % ratio ) <EOL> width = int ( math . floor ( image . shape [ <NUM_LIT:1> ] * ratio ) ) <EOL> height = int ( math . floor ( image . shape [ <NUM_LIT:0> ] * ratio ) ) <EOL> channels = image . shape [ <NUM_LIT:2> ] <EOL> out = np . ndarray ( ( height , width , channels ) , dtype = np . uint8 ) <EOL> for x , y in np . ndindex ( ( width , height ) ) : <EOL> out [ y , x ] = image [ math . floor ( y / ratio ) , math . floor ( x / ratio ) ] <EOL> return out <EOL> def resize_image ( image , height , width , <EOL> channels = None , <EOL> resize_mode = None , <EOL> ) : <EOL> """<STR_LIT>""" <EOL> if resize_mode is None : <EOL> resize_mode = '<STR_LIT>' <EOL> if resize_mode not in [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] : <EOL> raise ValueError ( '<STR_LIT>' % resize_mode ) <EOL> if channels not in [ None , <NUM_LIT:1> , <NUM_LIT:3> ] : <EOL> raise ValueError ( '<STR_LIT>' % channels ) <EOL> if isinstance ( image , PIL . Image . Image ) : <EOL> if channels is None : <EOL> image_mode = image . mode <EOL> if image_mode == '<STR_LIT:L>' : <EOL> channels = <NUM_LIT:1> <EOL> elif image_mode == '<STR_LIT>' : <EOL> channels = <NUM_LIT:3> <EOL> else : <EOL> raise ValueError ( '<STR_LIT>' % image_mode ) <EOL> elif channels == <NUM_LIT:1> : <EOL> image_mode = '<STR_LIT:L>' <EOL> elif channels == <NUM_LIT:3> : <EOL> image_mode = '<STR_LIT>' <EOL> if image . mode != image_mode : <EOL> image = image . convert ( image_mode ) <EOL> image = np . array ( image ) <EOL> elif isinstance ( image , np . ndarray ) : <EOL> if image . dtype != np . uint8 : <EOL> image = image . astype ( np . uint8 ) <EOL> if image . ndim == <NUM_LIT:3> and image . shape [ <NUM_LIT:2> ] == <NUM_LIT:1> : <EOL> image = image . reshape ( image . shape [ : <NUM_LIT:2> ] ) <EOL> if channels is None : <EOL> if image . ndim == <NUM_LIT:2> : <EOL> channels = <NUM_LIT:1> <EOL> elif image . ndim == <NUM_LIT:3> and image . shape [ <NUM_LIT:2> ] == <NUM_LIT:3> : <EOL> channels = <NUM_LIT:3> <EOL> else : <EOL> raise ValueError ( '<STR_LIT>' % ( image . shape , ) ) <EOL> elif channels == <NUM_LIT:1> : <EOL> if image . ndim != <NUM_LIT:2> : <EOL> if image . ndim == <NUM_LIT:3> and image . shape [ <NUM_LIT:2> ] == <NUM_LIT:3> : <EOL> image = np . dot ( image , [ <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ] ) . astype ( np . uint8 ) <EOL> else : <EOL> raise ValueError ( '<STR_LIT>' % ( image . shape , ) ) <EOL> elif channels == <NUM_LIT:3> : <EOL> if image . ndim == <NUM_LIT:2> : <EOL> image = np . repeat ( image , <NUM_LIT:3> ) . reshape ( image . shape + ( <NUM_LIT:3> , ) ) <EOL> elif image . shape [ <NUM_LIT:2> ] != <NUM_LIT:3> : <EOL> raise ValueError ( '<STR_LIT>' % ( image . shape , ) ) <EOL> else : <EOL> raise ValueError ( '<STR_LIT>' ) <EOL> if image . shape [ <NUM_LIT:0> ] == height and image . shape [ <NUM_LIT:1> ] == width : <EOL> return image <EOL> interp = '<STR_LIT>' <EOL> width_ratio = float ( image . shape [ <NUM_LIT:1> ] ) / width <EOL> height_ratio = float ( image . shape [ <NUM_LIT:0> ] ) / height <EOL> if resize_mode == '<STR_LIT>' or width_ratio == height_ratio : <EOL> return scipy . misc . imresize ( image , ( height , width ) , interp = interp ) <EOL> elif resize_mode == '<STR_LIT>' : <EOL> if width_ratio > height_ratio : <EOL> resize_height = height <EOL> resize_width = int ( round ( image . shape [ <NUM_LIT:1> ] / height_ratio ) ) <EOL> else : <EOL> resize_width = width <EOL> resize_height = int ( round ( image . shape [ <NUM_LIT:0> ] / width_ratio ) ) <EOL> image = scipy . misc . imresize ( image , ( resize_height , resize_width ) , interp = interp ) <EOL> if width_ratio > height_ratio : <EOL> start = int ( round ( ( resize_width - width ) / <NUM_LIT> ) ) <EOL> return image [ : , start : start + width ] <EOL> else : <EOL> start = int ( round ( ( resize_height - height ) / <NUM_LIT> ) ) <EOL> return image [ start : start + height , : ] <EOL> else : <EOL> if resize_mode == '<STR_LIT>' : <EOL> if width_ratio > height_ratio : <EOL> resize_width = width <EOL> resize_height = int ( round ( image . shape [ <NUM_LIT:0> ] / width_ratio ) ) <EOL> if ( height - resize_height ) % <NUM_LIT:2> == <NUM_LIT:1> : <EOL> resize_height += <NUM_LIT:1> <EOL> else : <EOL> resize_height = height <EOL> resize_width = int ( round ( image . shape [ <NUM_LIT:1> ] / height_ratio ) ) <EOL> if ( width - resize_width ) % <NUM_LIT:2> == <NUM_LIT:1> : <EOL> resize_width += <NUM_LIT:1> <EOL> image = scipy . misc . imresize ( image , ( resize_height , resize_width ) , interp = interp ) <EOL> elif resize_mode == '<STR_LIT>' : <EOL> new_ratio = ( width_ratio + height_ratio ) / <NUM_LIT> <EOL> resize_width = int ( round ( image . shape [ <NUM_LIT:1> ] / new_ratio ) ) <EOL> resize_height = int ( round ( image . shape [ <NUM_LIT:0> ] / new_ratio ) ) <EOL> if width_ratio > height_ratio and ( height - resize_height ) % <NUM_LIT:2> == <NUM_LIT:1> : <EOL> resize_height += <NUM_LIT:1> <EOL> elif width_ratio < height_ratio and ( width - resize_width ) % <NUM_LIT:2> == <NUM_LIT:1> : <EOL> resize_width += <NUM_LIT:1> <EOL> image = scipy . misc . imresize ( image , ( resize_height , resize_width ) , interp = interp ) <EOL> if width_ratio > height_ratio : <EOL> start = int ( round ( ( resize_width - width ) / <NUM_LIT> ) ) <EOL> image = image [ : , start : start + width ] <EOL> else : <EOL> start = int ( round ( ( resize_height - height ) / <NUM_LIT> ) ) <EOL> image = image [ start : start + height , : ] <EOL> else : <EOL> raise Exception ( '<STR_LIT>' % resize_mode ) <EOL> if width_ratio > height_ratio : <EOL> padding = ( height - resize_height ) / <NUM_LIT:2> <EOL> noise_size = ( padding , width ) <EOL> if channels > <NUM_LIT:1> : <EOL> noise_size += ( channels , ) <EOL> noise = np . random . randint ( <NUM_LIT:0> , <NUM_LIT:255> , noise_size ) . astype ( '<STR_LIT>' ) <EOL> image = np . concatenate ( ( noise , image , noise ) , axis = <NUM_LIT:0> ) <EOL> else : <EOL> padding = ( width - resize_width ) / <NUM_LIT:2> <EOL> noise_size = ( height , padding ) <EOL> if channels > <NUM_LIT:1> : <EOL> noise_size += ( channels , ) <EOL> noise = np . random . randint ( <NUM_LIT:0> , <NUM_LIT:255> , noise_size ) . astype ( '<STR_LIT>' ) <EOL> image = np . concatenate ( ( noise , image , noise ) , axis = <NUM_LIT:1> ) <EOL> return image <EOL> def embed_image_html ( image ) : <EOL> """<STR_LIT>""" <EOL> if image is None : <EOL> return None <EOL> elif isinstance ( image , PIL . Image . Image ) : <EOL> pass <EOL> elif isinstance ( image , np . ndarray ) : <EOL> image = PIL . Image . fromarray ( image ) <EOL> else : <EOL> raise ValueError ( '<STR_LIT>' ) <EOL> fmt = image . format <EOL> if not fmt : <EOL> fmt = '<STR_LIT>' <EOL> else : <EOL> fmt = fmt . lower ( ) <EOL> string_buf = StringIO ( ) <EOL> image . save ( string_buf , format = fmt ) <EOL> data = string_buf . getvalue ( ) . encode ( '<STR_LIT>' ) . replace ( '<STR_LIT:\n>' , '<STR_LIT>' ) <EOL> return '<STR_LIT>' % ( fmt , data ) <EOL> def get_layer_vis_square ( data , <EOL> allow_heatmap = True , <EOL> normalize = True , <EOL> min_img_dim = <NUM_LIT:100> , <EOL> max_width = <NUM_LIT> , <EOL> ) : <EOL> """<STR_LIT>""" <EOL> if data . ndim == <NUM_LIT:1> : <EOL> data = data [ : , np . newaxis , np . newaxis ] <EOL> elif data . ndim == <NUM_LIT:2> : <EOL> data = data . reshape ( ( data . shape [ <NUM_LIT:0> ] * data . shape [ <NUM_LIT:1> ] , <NUM_LIT:1> , <NUM_LIT:1> ) ) <EOL> elif data . ndim == <NUM_LIT:3> : <EOL> if data . shape [ <NUM_LIT:0> ] == <NUM_LIT:3> : <EOL> data = data [ [ <NUM_LIT:2> , <NUM_LIT:1> , <NUM_LIT:0> ] , ... ] <EOL> data = data . transpose ( <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:0> ) <EOL> data = data [ np . newaxis , ... ] <EOL> else : <EOL> pass <EOL> elif data . ndim == <NUM_LIT:4> : <EOL> if data . shape [ <NUM_LIT:0> ] == <NUM_LIT:3> : <EOL> data = data . transpose ( <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:0> ) <EOL> data = data [ : , : , : , [ <NUM_LIT:2> , <NUM_LIT:1> , <NUM_LIT:0> ] ] <EOL> elif data . shape [ <NUM_LIT:1> ] == <NUM_LIT:3> : <EOL> data = data . transpose ( <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:1> ) <EOL> data = data [ : , : , : , [ <NUM_LIT:2> , <NUM_LIT:1> , <NUM_LIT:0> ] ] <EOL> else : <EOL> data = data . reshape ( ( data . shape [ <NUM_LIT:0> ] * data . shape [ <NUM_LIT:1> ] , data . shape [ <NUM_LIT:2> ] , data . shape [ <NUM_LIT:3> ] ) ) <EOL> else : <EOL> raise RuntimeError ( '<STR_LIT>' % ( data . shape , ) ) <EOL> padsize = <NUM_LIT:0> <EOL> width = data . shape [ <NUM_LIT:2> ] <EOL> if width > max_width : <EOL> data = data [ : <NUM_LIT:1> , : max_width , : max_width ] <EOL> else : <EOL> if width > <NUM_LIT:1> : <EOL> padsize = <NUM_LIT:1> <EOL> width += <NUM_LIT:1> <EOL> n = max ( max_width / width , <NUM_LIT:1> ) <EOL> n *= n <EOL> data = data [ : n ] <EOL> if not allow_heatmap and data . ndim == <NUM_LIT:3> : <EOL> data = data [ ... , np . newaxis ] <EOL> vis = vis_square ( data , <EOL> padsize = padsize , <EOL> normalize = normalize , <EOL> ) <EOL> _min = sorted ( vis . shape [ : <NUM_LIT:2> ] ) [ <NUM_LIT:0> ] <EOL> if _min < min_img_dim : <EOL> ratio = min_img_dim / float ( _min ) <EOL> vis = upscale ( vis , ratio ) <EOL> return vis <EOL> def vis_square ( images , <EOL> padsize = <NUM_LIT:1> , <EOL> normalize = False , <EOL> colormap = '<STR_LIT>' , <EOL> ) : <EOL> """<STR_LIT>""" <EOL> assert <NUM_LIT:3> <= images . ndim <= <NUM_LIT:4> , '<STR_LIT>' <EOL> images = images . astype ( '<STR_LIT>' ) <EOL> if normalize : <EOL> images -= images . min ( ) <EOL> if images . max ( ) > <NUM_LIT:0> : <EOL> images /= images . max ( ) <EOL> images *= <NUM_LIT:255> <EOL> if images . ndim == <NUM_LIT:3> : <EOL> redmap , greenmap , bluemap = get_color_map ( colormap ) <EOL> red = np . interp ( images * ( len ( redmap ) - <NUM_LIT:1> ) / <NUM_LIT> , xrange ( len ( redmap ) ) , redmap ) <EOL> green = np . interp ( images * ( len ( greenmap ) - <NUM_LIT:1> ) / <NUM_LIT> , xrange ( len ( greenmap ) ) , greenmap ) <EOL> blue = np . interp ( images * ( len ( bluemap ) - <NUM_LIT:1> ) / <NUM_LIT> , xrange ( len ( bluemap ) ) , bluemap ) <EOL> images = np . concatenate ( ( red [ ... , np . newaxis ] , green [ ... , np . newaxis ] , blue [ ... , np . newaxis ] ) , axis = <NUM_LIT:3> ) <EOL> images = np . minimum ( images , <NUM_LIT:255> ) <EOL> images = np . maximum ( images , <NUM_LIT:0> ) <EOL> images = images . astype ( '<STR_LIT>' ) <EOL> n = int ( np . ceil ( np . sqrt ( images . shape [ <NUM_LIT:0> ] ) ) ) <EOL> ny = n <EOL> nx = n <EOL> length = images . shape [ <NUM_LIT:0> ] <EOL> if n * ( n - <NUM_LIT:1> ) >= length : <EOL> nx = n - <NUM_LIT:1> <EOL> padding = ( ( <NUM_LIT:0> , nx * ny - length ) , ( <NUM_LIT:0> , padsize ) , ( <NUM_LIT:0> , padsize ) ) + ( ( <NUM_LIT:0> , <NUM_LIT:0> ) , ) * ( images . ndim - <NUM_LIT:3> ) <EOL> padded = np . pad ( images , padding , mode = '<STR_LIT>' , constant_values = <NUM_LIT:255> ) <EOL> tiles = padded . reshape ( ( ny , nx ) + padded . shape [ <NUM_LIT:1> : ] ) . transpose ( ( <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:1> , <NUM_LIT:3> ) + tuple ( range ( <NUM_LIT:4> , padded . ndim + <NUM_LIT:1> ) ) ) <EOL> tiles = tiles . reshape ( ( ny * tiles . shape [ <NUM_LIT:1> ] , nx * tiles . shape [ <NUM_LIT:3> ] ) + tiles . shape [ <NUM_LIT:4> : ] ) <EOL> if tiles . shape [ - <NUM_LIT:1> ] == <NUM_LIT:1> : <EOL> tiles = np . dstack ( [ tiles . squeeze ( ) ] * <NUM_LIT:3> ) <EOL> return tiles <EOL> def get_color_map ( name ) : <EOL> """<STR_LIT>""" <EOL> redmap = [ <NUM_LIT:0> ] <EOL> greenmap = [ <NUM_LIT:0> ] <EOL> bluemap = [ <NUM_LIT:0> ] <EOL> if name == '<STR_LIT>' : <EOL> redmap = [ <NUM_LIT:0> , <NUM_LIT:1> ] <EOL> greenmap = [ <NUM_LIT:0> , <NUM_LIT:1> ] <EOL> bluemap = [ <NUM_LIT:0> , <NUM_LIT:1> ] <EOL> elif name == '<STR_LIT>' : <EOL> redmap = [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> ] <EOL> greenmap = [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:1> ] <EOL> bluemap = [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> ] <EOL> elif name == '<STR_LIT>' : <EOL> redmap = [ <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> ] <EOL> greenmap = [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> ] <EOL> bluemap = [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:1> ] <EOL> elif name == '<STR_LIT>' : <EOL> redmap = [ <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ] <EOL> greenmap = [ <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] <EOL> bluemap = [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> ] <EOL> elif name == '<STR_LIT>' : <EOL> greenmap = [ <NUM_LIT:0> , <NUM_LIT:1> ] <EOL> bluemap = [ <NUM_LIT:1> , <NUM_LIT:0.5> ] <EOL> else : <EOL> if name != '<STR_LIT>' : <EOL> print '<STR_LIT>' % name <EOL> redmap = [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0.5> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:0.5> ] <EOL> greenmap = [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0.5> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:0.5> , <NUM_LIT:0> , <NUM_LIT:0> ] <EOL> bluemap = [ <NUM_LIT:0.5> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:0.5> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] <EOL> return <NUM_LIT> * np . array ( redmap ) , <NUM_LIT> * np . array ( greenmap ) , <NUM_LIT> * np . array ( bluemap ) </s>
