Has Bokeh matured enough to be a good idea for animating my data? (animating "amoebas")

Hi all,

I love Continuum tools (numba is fantastic), and I am pretty pumped for Bokeh. However, I am a bit out the loop with Bokeh, because the last time I checked, it seemed that animation was still growing, but now there are a few a more google hits for it.

Here’s my use case:

  1. simulations generate lots of numpy arrays

  2. numpy arrays encode the position of “amoebas”, which I then animate (current workflow is pygame → png images (for the frames I want) → ffmpeg) and here’s an example gif of an amoeba: GIF | Gfycat

  3. as you can see in gif example above, I am also plotting some additional data (e.g. the trail left behind by the amoeba, and some red and blue bars denoting various stuffs inside the amoeba) in the videos

  4. I also sometimes plot simple things like a piece of text denoting time on the top right hand corner (can also been seen in the example gif)

Could I produce such animations using Bokeh 0.10?

Given my awesome experience interacting with the numba devs (good feedback to questions, basically immediate bug fixes, and so on), I would be very happy to jump onto the Bokeh boat and ditch maptlotlib/pygame once and for all even if things are still a bit immature, as long as most of the functionality is there – I can help trace bugs, but I’d be no good at adding new functionality.

Kind regards,
Brian

Hi Brian,

It seems to me that to do this you’d want to use bokeh server and it should be pretty straightforward. However, the server has been completely re-written since 0.10 so I would recommend using one of our latest releases (knowing you’ll be on the bleeding edge) or waiting till the 0.11 release in january.

Bear in mind that we’re still cleaning up a lot of edges around the server so support responses might be “we’re working on it” in anticipation of the 0.11 release.

That said the more people we can have playing with the new server via the dev builds the more kinks we’ll work out before the release.

There are already some docs and a number of examples in master.

One caveat of all this is that i’m assuming you’ll be running both server and client on one machine, if not, you may want to scope out how much data you’d be sending per “frame” to make sure it’s realistic over a “normal” internet connection.

There would also be ways to do this animation without server, if u were really against that for some reason, but i think its what u want. For a demo grab the examples from master, install the latest dev build, and check out plotting/server/fourier_animated.py https://github.com/bokeh/bokeh/blob/master/examples/plotting/server/fourier_animated.py

Hope that helps.

Bird

···

Sent from my iPod

On Dec 10, 2015, at 9:29 PM, [email protected] wrote:

Hi all,

I love Continuum tools (numba is fantastic), and I am pretty pumped for Bokeh. However, I am a bit out the loop with Bokeh, because the last time I checked, it seemed that animation was still growing, but now there are a few a more google hits for it.

Here’s my use case:

  1. simulations generate lots of numpy arrays

  2. numpy arrays encode the position of “amoebas”, which I then animate (current workflow is pygame → png images (for the frames I want) → ffmpeg) and here’s an example gif of an amoeba: http://gfycat.com/SoftBrokenIndigowingedparrot

  3. as you can see in gif example above, I am also plotting some additional data (e.g. the trail left behind by the amoeba, and some red and blue bars denoting various stuffs inside the amoeba) in the videos

  4. I also sometimes plot simple things like a piece of text denoting time on the top right hand corner (can also been seen in the example gif)

Could I produce such animations using Bokeh 0.10?

Given my awesome experience interacting with the numba devs (good feedback to questions, basically immediate bug fixes, and so on), I would be very happy to jump onto the Bokeh boat and ditch maptlotlib/pygame once and for all even if things are still a bit immature, as long as most of the functionality is there – I can help trace bugs, but I’d be no good at adding new functionality.

Kind regards,
Brian

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 [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/640eb5f6-c0c3-4a3c-b4e8-b747cbe31d55%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Hi Sarah,

Thanks for that answer! I’ll pick up the bleeding edge to play with.

A quick question: if I wanted to share the videos I produce with others, would I share objects that would be opened by a web browser (or alternatively, links to where those objects are hosted online), or can I produce *.mp4 or *.avi type video objects too?

Kind regards,

Brian

···

On Thu, Dec 10, 2015 at 10:58 PM, Sarah Bird [email protected] wrote:

Hi Brian,

It seems to me that to do this you’d want to use bokeh server and it should be pretty straightforward. However, the server has been completely re-written since 0.10 so I would recommend using one of our latest releases (knowing you’ll be on the bleeding edge) or waiting till the 0.11 release in january.

Bear in mind that we’re still cleaning up a lot of edges around the server so support responses might be “we’re working on it” in anticipation of the 0.11 release.

That said the more people we can have playing with the new server via the dev builds the more kinks we’ll work out before the release.

There are already some docs and a number of examples in master.

One caveat of all this is that i’m assuming you’ll be running both server and client on one machine, if not, you may want to scope out how much data you’d be sending per “frame” to make sure it’s realistic over a “normal” internet connection.

There would also be ways to do this animation without server, if u were really against that for some reason, but i think its what u want. For a demo grab the examples from master, install the latest dev build, and check out plotting/server/fourier_animated.py https://github.com/bokeh/bokeh/blob/master/examples/plotting/server/fourier_animated.py

Hope that helps.

Bird

Sent from my iPod

On Dec 10, 2015, at 9:29 PM, [email protected] wrote:

Hi all,

I love Continuum tools (numba is fantastic), and I am pretty pumped for Bokeh. However, I am a bit out the loop with Bokeh, because the last time I checked, it seemed that animation was still growing, but now there are a few a more google hits for it.

Here’s my use case:

  1. simulations generate lots of numpy arrays

  2. numpy arrays encode the position of “amoebas”, which I then animate (current workflow is pygame → png images (for the frames I want) → ffmpeg) and here’s an example gif of an amoeba: http://gfycat.com/SoftBrokenIndigowingedparrot

  3. as you can see in gif example above, I am also plotting some additional data (e.g. the trail left behind by the amoeba, and some red and blue bars denoting various stuffs inside the amoeba) in the videos

  4. I also sometimes plot simple things like a piece of text denoting time on the top right hand corner (can also been seen in the example gif)

Could I produce such animations using Bokeh 0.10?

Given my awesome experience interacting with the numba devs (good feedback to questions, basically immediate bug fixes, and so on), I would be very happy to jump onto the Bokeh boat and ditch maptlotlib/pygame once and for all even if things are still a bit immature, as long as most of the functionality is there – I can help trace bugs, but I’d be no good at adding new functionality.

Kind regards,
Brian

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 [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/640eb5f6-c0c3-4a3c-b4e8-b747cbe31d55%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

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 [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/52588A96-0AB6-4CDA-9144-BF005C2C19C1%40gmail.com.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Hi Brian,

When you create an animated plot with Bokeh you’ll get an animated canvas running on the browser and not an animated gif or video (*.avi, *.mp4, etc…). Bokeh is not able to produce these outputs [yet] and I’d say these are not on the roadmap for now.

If you have a “public” (where, public here mostly means “reachable by your users”) you can share the link of your plot with your users. We can simplify saying that it’s basically a web service that serves your animated plot. We are working hard to document and provide examples of the bokeh server usage and workflows as much as we can.

That said, you can create a video or an animated gif of your animated plot by screen capturing the animation (with one of the many available tools for that).

I hope this helps

Best

Fabio

···

On Fri, Dec 11, 2015 at 9:53 PM, Brian Merchant [email protected] wrote:

Hi Sarah,

Thanks for that answer! I’ll pick up the bleeding edge to play with.

A quick question: if I wanted to share the videos I produce with others, would I share objects that would be opened by a web browser (or alternatively, links to where those objects are hosted online), or can I produce *.mp4 or *.avi type video objects too?

Kind regards,

Brian

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 [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/CAMt_P4%3DAGEXF37%3Dmnt-6DsgGkd_hhxk%3DyHHHSE0Mc86AKeXyKA%40mail.gmail.com.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

On Thu, Dec 10, 2015 at 10:58 PM, Sarah Bird [email protected] wrote:

Hi Brian,

It seems to me that to do this you’d want to use bokeh server and it should be pretty straightforward. However, the server has been completely re-written since 0.10 so I would recommend using one of our latest releases (knowing you’ll be on the bleeding edge) or waiting till the 0.11 release in january.

Bear in mind that we’re still cleaning up a lot of edges around the server so support responses might be “we’re working on it” in anticipation of the 0.11 release.

That said the more people we can have playing with the new server via the dev builds the more kinks we’ll work out before the release.

There are already some docs and a number of examples in master.

One caveat of all this is that i’m assuming you’ll be running both server and client on one machine, if not, you may want to scope out how much data you’d be sending per “frame” to make sure it’s realistic over a “normal” internet connection.

There would also be ways to do this animation without server, if u were really against that for some reason, but i think its what u want. For a demo grab the examples from master, install the latest dev build, and check out plotting/server/fourier_animated.py https://github.com/bokeh/bokeh/blob/master/examples/plotting/server/fourier_animated.py

Hope that helps.

Bird

Sent from my iPod

On Dec 10, 2015, at 9:29 PM, [email protected] wrote:

Hi all,

I love Continuum tools (numba is fantastic), and I am pretty pumped for Bokeh. However, I am a bit out the loop with Bokeh, because the last time I checked, it seemed that animation was still growing, but now there are a few a more google hits for it.

Here’s my use case:

  1. simulations generate lots of numpy arrays

  2. numpy arrays encode the position of “amoebas”, which I then animate (current workflow is pygame → png images (for the frames I want) → ffmpeg) and here’s an example gif of an amoeba: http://gfycat.com/SoftBrokenIndigowingedparrot

  3. as you can see in gif example above, I am also plotting some additional data (e.g. the trail left behind by the amoeba, and some red and blue bars denoting various stuffs inside the amoeba) in the videos

  4. I also sometimes plot simple things like a piece of text denoting time on the top right hand corner (can also been seen in the example gif)

Could I produce such animations using Bokeh 0.10?

Given my awesome experience interacting with the numba devs (good feedback to questions, basically immediate bug fixes, and so on), I would be very happy to jump onto the Bokeh boat and ditch maptlotlib/pygame once and for all even if things are still a bit immature, as long as most of the functionality is there – I can help trace bugs, but I’d be no good at adding new functionality.

Kind regards,
Brian

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 [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/640eb5f6-c0c3-4a3c-b4e8-b747cbe31d55%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

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 [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/52588A96-0AB6-4CDA-9144-BF005C2C19C1%40gmail.com.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Fabio Pliger

Senior Software Engineer, Bokeh