title: Plotting local images within Bokeh serve application
body: <p>I am trying to plot a png image using <code>ImageURL</code> class that is locally stored within the applications <code>./static</code> directory. In the code below, when using a web url to the same image, it works as expected, but all attempts at creating a local url fail. Also, when running essentially the same code, outputting to file, all url cases work correctly.</p>
  
  <p><strong>bokeh serve --show</strong></p>
  
  <pre><code>import os
  import numpy as np
  from bokeh.plotting import curdoc
  from bokeh.models import ColumnDataSource, Range1d, Plot
  from bokeh.models.glyphs import ImageURL
  
  url= "http://pngimg.com/uploads/palm_tree/palm_tree_PNG2504.png", # works
  # url= "static/palm.png", # 404 GET /static/palm.png
  # url=os.path.join(os.path.dirname(__file__), 'palm.png'), # 404 GET /Volumes/Home/Code/scratch/palm.png
  # url='file://'+os.path.join(os.path.dirname(__file__), 'static', 'palm.png'),
  N = 1
  source = ColumnDataSource(dict(
      url = [url]*N,
      x1  = np.linspace(  1, 1, N),
      y1  = np.linspace(  1, 1, N),
      w1  = np.linspace( 253,  253, N),
      h1  = np.linspace( 409,  409, N),
  ))
  p = Plot(
      title=None, 
      x_range=Range1d(start=0, end=500), 
      y_range=Range1d(start=0, end=500), 
      plot_width=500, 
      plot_height=500,
      h_symmetry=False, 
      v_symmetry=False, 
      min_border=0, 
      toolbar_location=None
  )
  p.add_glyph(source, ImageURL(url="url", x="x1", y="y1", w="w1", h="h1", anchor="bottom_left"))
  curdoc().add_root(p)
  </code></pre>
  
  <p><strong>python main.py</strong></p>
  
  <pre><code>from bokeh.plotting import show, output_file
  output_file("tbe.html")
  
  import os
  import numpy as np
  from bokeh.plotting import curdoc
  from bokeh.models import ColumnDataSource, Range1d, Plot
  from bokeh.models.glyphs import ImageURL
  # all work
  url = "http://pngimg.com/uploads/palm_tree/palm_tree_PNG2504.png", 
  url = "static/palm.png",
  url = os.path.join(os.path.dirname(__file__), 'static', 'palm.png'),
  url ='file://'+os.path.join(os.path.dirname(__file__), 'static', 'palm.png'),
  N = 1
  source = ColumnDataSource(dict(
      url = [url]*N,
      x1  = np.linspace(  1, 1, N),
      y1  = np.linspace(  1, 1, N),
      w1  = np.linspace( 253,  253, N),
      h1  = np.linspace( 409,  409, N),
  ))
  p = Plot(
      title=None, 
      x_range=Range1d(start=0, end=500), 
      y_range=Range1d(start=0, end=500), 
      plot_width=500, 
      plot_height=500,
      h_symmetry=False, 
      v_symmetry=False, 
      min_border=0, 
      toolbar_location=None
  )
  p.add_glyph(source, ImageURL(url="url", x="x1", y="y1", w="w1", h="h1", anchor="bottom_left"))
  show(p)
  </code></pre>