[IPython-dev] Interactive visualization in the IPython notebook 2.0
cyrille.rossant at gmail.com
Thu Apr 3 13:22:53 EDT 2014
Thanks, pythreejs look cool! Now I'm wondering whether we should use
comms or the higher-level widgets API for our use-case...
2014-04-03 18:40 GMT+02:00 Jason Grout <jason-sage at creativetrax.com>:
> I should also mention that we have been working on wrapping three.js as
> a widget, which may be much closer to your usecase than the matplotlib
> work. I think we're nearly done (our main TODO now is wrapping
> interactive picking, and then cleaning up the existing code based on the
> patterns we've observed, plus documenting and providing examples).
> Live demo of your face on a sphere:
> http://sagecell.sagemath.org/?q=qjjurl (you may need to press Evaluate
> to grant the browser permission to use your camera)
> The idea behind wrapping three.js is that it provides useful scenegraph
> primitives, and also renders to canvas if webgl isn't available. We
> basically are just providing access to the three.js primitives in
> Python, along with a few convenience classes (for example, for rendering
> a function surface, or rendering a text sprite). We are also building a
> converter for Sage graphics on top of this wrapping.
> It sounds like vispy needs a lower layer than our pythree.js project
> (since it looks like you are constructing the opengl code directly).
> But it might give you some ideas...
> On 4/3/14, 8:13, Phil Elson wrote:
>> I'm not aware of IPython providing anything other than the generic (and
>> useful) infrastructure for this plotting usecase, but there exists a
>> comm based proof-of-concept interactive visualisation produced by Jason
>> Grout in https://github.com/matplotlib/matplotlib/pull/2524 which may be
>> of interest.
>> It is also worth noting that the WebAgg backend in matplotlib is a fully
>> bona fide backend available since v1.3.
>> Essentially the only reason there isn't an interactive matplotlib
>> IPython interface already is because nobody with the right technical
>> expertise has had an opportunity to do - I don't believe there are any
>> remaining technical hurdles, and I don't even think it is a big piece of
>> work at this point.
>> On 3 April 2014 10:47, Cyrille Rossant <cyrille.rossant at gmail.com
>> <mailto:cyrille.rossant at gmail.com>> wrote:
>> Dear IPython developers,
>> Let me introduce you to Mustafa Kaptan (in CC), a student who has
>> started to contribute to Vispy , and who has made an application to
>> GSoC this year. He'd be interested in integrating Vispy in the IPython
>> notebook for high-performance interactive visualization in the
>> browser. He already made a nice proof of concept . We're likely to
>> need your help soon enough!
>> There are many different and complementary approaches. For now, we've
>> chosen to start with the simplest approach: the server renders a
>> figure with OpenGL, outputs a PNG, and sends it to the browser with
>> clicks, mouse moves, keystrokes...) and sends them in return to the
>> server. I think that is similar to a proof of concept for matplotlib
>> made by Michael Droettboom some time ago .
>> IPython 2.0 now offers the right architecture for this. I was
>> wondering whether there was anyone on your side working on something
>> like this already? I think it would make sense to have common
>> protocols, interfaces and code for matplotlib, Vispy, and other
>> visualization libraries. Sending PNG and user events in JSON, creating
>> a sort of "distributed" event loop, all seem generic enough to me. It
>> would be too bad if we all duplicated our efforts for the same thing.
>> Where should we start? Comms, something else? Also, we'd like to reuse
>> some of this architecture for a slightly different approach. Instead
>> of letting the server render the figure with OpenGL, we'd just send
>> OpenGL commands and binary data to the browser (client-side rendering
>> with WebGL).
>> Best regards,
>>  http://vispy.org/
>> IPython-dev mailing list
>> IPython-dev at scipy.org <mailto:IPython-dev at scipy.org>
>> IPython-dev mailing list
>> IPython-dev at scipy.org
> IPython-dev mailing list
> IPython-dev at scipy.org
More information about the IPython-dev