Changes between Version 38 and Version 39 of GSoC/Ideas

03/22/11 18:45:42 (3 years ago)


  • GSoC/Ideas

    v38 v39  
    77''Ideas are listed in no particular order.'' 
    9 == 3D Widgets in Orange == 
     9== Replacing PyQwt with pure PyQt visualizations, adding 3d visualization == 
    11 The idea is to support 3D visualizations in Orange Widgets. The task is to develop a 3D Plot class (similar to [ QwtPlot3D]) that can be used in an arbitrary Orange Widget instead of [ OWGraph]. The second task is to develop use case examples, especially Scatterplot 3D and NetExplorer 3D. 
     11Many visualizations in Orange widgets currently use PyQwt. It seems a good idea to migrate to pure Qt implementation, for several reasons: 
     12- PyQwt development seems stalled. The current version on the site is for Python 2.6 and Qt 4.5, and although Python 3.X is said to be supported, we have not been unable to build it. While Orange itself is basically ported to Python 3.X, PyQwt is a show stopper. We have also had this same problem with previous Python version upgrades. 
     13- Qwt is not very estaetically pleasing: it is a very good tool for plotting the data, but not for publishing pictures in glossy journals and web sites. ;) The new Qt graphics classes would do a much better job. 
     14- We are not using much of Qwt, we need only some basic stuff, which should be easy to reimplement. 
     15Given all this, it would make little sense for the Orange team to take over the maintenance of Qwt-to-Python interface. 
    13 Useful skills: Knowledge on 3D modeling ([ QtOpenGL], [ PyOpenGL]). Python programming. 
     17Fortunately, most widgets do not interact with PyQwt directly but instead use a middle layer, OWGraph, which is a part of Orange. The "toughest" part will be to reimplement the Qwt's classes for drawing curves, which need to be in C++ (with a sip interface to Python). 
     19Additionally, in parallel to OWGraph we should have a module OWGraph3d with similar functions, but for 3d visualization, which should be based on OpenGL. The test case examples for this task would be 3d scatter plot and 3d net explorer widgets. 
     22Useful skills: Python, C++, [ sip], [ QtOpenGL], [ PyOpenGL].  
    1524Level from 1 (beginner) to 5 (professional): 4.5