I want to use the code below to place an image figure in my Bokeh application. However, while the code works when I just it to place an image in an html file in the browser with show(), it does not work when I add the object to Bokeh Document for my application. Why is this the case?
On Mar 8, 2016, at 5:39 PM, Ricky Galliani <[email protected]> wrote:
I want to use the code below to place an image figure in my Bokeh application. However, while the code works when I just it to place an image in an html file in the browser with show(), it does not work when I add the object to Bokeh Document for my application. Why is this the case?
I want to use the code below to place an image figure in my Bokeh application. However, while the code works when I just it to place an image in an html file in the browser with show(), it does not work when I add the object to Bokeh Document for my application. Why is this the case?
I'm not aware of anything offhand, unfortunately. I will do my best to try and look at this problem this week.
Bryan
···
On Mar 8, 2016, at 7:04 PM, Ricky Galliani <[email protected]> wrote:
Do you know of any possible workarounds that I can use until the bug is resolved?
On Tuesday, March 8, 2016 at 5:03:12 PM UTC-8, Bryan Van de ven wrote:
I believe this is a bug.
Bryan
> On Mar 8, 2016, at 5:39 PM, Ricky Galliani <[email protected]> wrote:
>
> I want to use the code below to place an image figure in my Bokeh application. However, while the code works when I just it to place an image in an html file in the browser with show(), it does not work when I add the object to Bokeh Document for my application. Why is this the case?
>
> from bokeh.plotting import *
>
> IM_HEIGHT = 348
> IM_WIDTH = 1148
>
> def create_image_fig():
> '''
> '''
> IM_FIG = Figure(x_range = (0, IM_WIDTH), y_range = (0, IM_HEIGHT),
> plot_width = IM_WIDTH, plot_height = IM_HEIGHT)
> IM_FIG.image_url(url=['file:///Users/pjgalliani/Code/vitals/pit/test_image.png'],
> x=0, y=342, w=1148, h=342)
> IM_FIG.toolbar_location = None
> IM_FIG.xaxis.visible = None
> IM_FIG.yaxis.visible = None
> IM_FIG.outline_line_color = None
>
> # ---------------------------
> curdoc().add_root(IM_FIG)
> # ^^^ Shows no image! ^^^
>
> # ---------------------------
> # output_file("test_image.html")
> # show(IM_FIG)
> # ^^^ Works as expected ^^^
>
> create_image_fig()
>
>
> --
> You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to bokeh+un...@continuum.io.
> To post to this group, send email to bo...@continuum.io.
> To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/65f42590-056a-4124-a483-3e71b81389be%40continuum.io\.
> For more options, visit https://groups.google.com/a/continuum.io/d/optout\.
As a workaround, you can start an http-server from the directory that your images are in and then set the image url to be something like ‘http://127.0.0.1:8080/my_image.png’!
Best,
Claire
···
On Tuesday, March 8, 2016 at 5:04:22 PM UTC-8, Ricky Galliani wrote:
Do you know of any possible workarounds that I can use until the bug is resolved?
On Tuesday, March 8, 2016 at 5:03:12 PM UTC-8, Bryan Van de ven wrote:
I want to use the code below to place an image figure in my Bokeh application. However, while the code works when I just it to place an image in an html file in the browser with show(), it does not work when I add the object to Bokeh Document for my application. Why is this the case?
Oh! I did not notice you are using "image_url", instead of "image". The images for "image_url" need to be accessible to the *browser*, i.e. they need to be on some accessible server with an HTTP URL, as Claire correctly notes.
As a workaround, you can start an http-server from the directory that your images are in and then set the image url to be something like 'http://127.0.0.1:8080/my_image.png'\!
Best,
Claire
On Tuesday, March 8, 2016 at 5:04:22 PM UTC-8, Ricky Galliani wrote:
Do you know of any possible workarounds that I can use until the bug is resolved?
On Tuesday, March 8, 2016 at 5:03:12 PM UTC-8, Bryan Van de ven wrote:
I believe this is a bug.
Bryan
> On Mar 8, 2016, at 5:39 PM, Ricky Galliani <[email protected]> wrote:
>
> I want to use the code below to place an image figure in my Bokeh application. However, while the code works when I just it to place an image in an html file in the browser with show(), it does not work when I add the object to Bokeh Document for my application. Why is this the case?
>
> from bokeh.plotting import *
>
> IM_HEIGHT = 348
> IM_WIDTH = 1148
>
> def create_image_fig():
> '''
> '''
> IM_FIG = Figure(x_range = (0, IM_WIDTH), y_range = (0, IM_HEIGHT),
> plot_width = IM_WIDTH, plot_height = IM_HEIGHT)
> IM_FIG.image_url(url=['file:///Users/pjgalliani/Code/vitals/pit/test_image.png'],
> x=0, y=342, w=1148, h=342)
> IM_FIG.toolbar_location = None
> IM_FIG.xaxis.visible = None
> IM_FIG.yaxis.visible = None
> IM_FIG.outline_line_color = None
>
> # ---------------------------
> curdoc().add_root(IM_FIG)
> # ^^^ Shows no image! ^^^
>
> # ---------------------------
> # output_file("test_image.html")
> # show(IM_FIG)
> # ^^^ Works as expected ^^^
>
> create_image_fig()
>
>
> --
> You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to bokeh+un...@continuum.io.
> To post to this group, send email to bo...@continuum.io.
> To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/65f42590-056a-4124-a483-3e71b81389be%40continuum.io\.
> For more options, visit https://groups.google.com/a/continuum.io/d/optout\.
Is image supposed to be used for images saved an .jpg or .png? I ran into this issue with the image files in the bokeh application too and solved it with the workaround. When I tried to use the pixel data with image, I think it was having trouble because there was too much data? I'm not sure but it seemed much slower than having it load an image file using image url (the time it took for anything to show up in the browser). I think it may have something to do with needing to set up static routes? I know in flask you can specify a static folder to have images in that you could then use in web pages. Maybe tornado is the same? I don't really know anything about tornado though.
No "image" is like more like "imshow", it's for 2d arrays of numbers (e.g. numpy arrays), that you want to turn into RGBA images according to some colormap, in the browser. It's fine for arrays up to a certain size, but given the need to serialize/deserialize JSON there are fundamental limitations. A binary protocol for arrays might help this some but that is a non-trivial undertaking.
Is image supposed to be used for images saved an .jpg or .png? I ran into this issue with the image files in the bokeh application too and solved it with the workaround. When I tried to use the pixel data with image, I think it was having trouble because there was too much data? I'm not sure but it seemed much slower than having it load an image file using image url (the time it took for anything to show up in the browser). I think it may have something to do with needing to set up static routes? I know in flask you can specify a static folder to have images in that you could then use in web pages. Maybe tornado is the same? I don't really know anything about tornado though.
On Tuesday, March 8, 2016 at 7:24:28 PM UTC-8, Claire Tang wrote:
Hi Ricky,
As a workaround, you can start an http-server from the directory that your images are in and then set the image url to be something like ‘http://127.0.0.1:8080/my_image.png’!
Best,
Claire
On Tuesday, March 8, 2016 at 5:04:22 PM UTC-8, Ricky Galliani wrote:
Do you know of any possible workarounds that I can use until the bug is resolved?
On Tuesday, March 8, 2016 at 5:03:12 PM UTC-8, Bryan Van de ven wrote:
I want to use the code below to place an image figure in my Bokeh application. However, while the code works when I just it to place an image in an html file in the browser with show(), it does not work when I add the object to Bokeh Document for my application. Why is this the case?