On Wed, Apr 29, 2009 at 4:08 PM, Victor Amaducci
<vic...@las.ic.unicamp.br> wrote:
> Hi list!

Hello Victor and list,

first of all, thank you very much for your commitment with the Picviz
project, and thank you very much focusing on the GUI. As I am really
busy working on the engine (namely libpicviz), this is really cool to
finally have a decent interface normal people can use (and let aliens
use the command line tool!).

To give some context: Picviz is a project part of the honeynet project
and we develop it because it is an answer to data analysis. Because we
have multi-variate data and *a lot* of them, visualization was the way
to go, parallel coordinates were chosen and Picviz got implemented.
This is why the honeynet project proposed Picviz as a project among 7
other to Google for the summer of code (GSOC) and thank to Victor, it
got selected!

Without both the honeynet project and Victor commitment (and also
Gabriel who also works along with Victor, but out of GSOC money) we
would have had a poor GUI in the following month just because I have
still a lot to do on libpicviz. Thank to them!

I asked Victor to show you his own roadmap for obvious transparency
reasons I want to give to the free software community around Picviz
(YOU!). So feel free to comment any point, and I will make my best to

Victor and Gabriel *already* did commit code into the subversion
repository with a great awaited feature: reordering axes order in

Now here's my comment, inline:

> 2 - Allow user to select an event.
>     Selecting a event is needed by all other features. For brushing; delete
> and filter something, we need select some or at least one event.
>     The GUI have a item (lineItem in QT) for each line between axes, i.e.,
> exists some lines to each event. We need to think how create a linkage for
> all lines that represents an event. The PyQt give to us a manner to select
> each item in the graphic and we need overload this class to selection of a
> item be mapped to select the whole event.

The first step would be to use what you have in the Python object, but
you can also use this selection to create a filter and load the image
with this filter (from the engine).

> 3 - Addition features to apply brush effect to provide method of plot marks
> manually;
>     Selecting multiple events to detach them seems to be very effective
> method of drawing attention to signatures of a group observations that share
> similar values of one attribute. In addition, brushing can be used to
> highlight a subgroup of observations which have an inverse relationship
> between two variables.

What is cool with parallel coordinates is this bow-tie effect. So if
you allow a selection rectangle and then only show lines going through
this rectangle we would then see correlation among multiple dimensions
better. If you allow several selection rectangles that we could use
between two axes to be used, then that would again improve our
research a lot.

>     3.1 - Allow brushing of a layer (obviously before this the layers need
> have correct support in GUI).

That is very easy. Since every line object belongs to a layer, just
draw it if it belongs to the selected layer. You may add the "No
layer" choice also because lines may not belong to any layer.

>                 5 - Addition features to apply zoom/focus effect in some
> aspect from graphic;
>     I don't know if it would be the right zoom tool or focus tool.

I'd look at what the QGraphicsView from QT can provide on this side. I
have no idea on how to do that, but I agree this would be a required
feature for any Picviz GUI user.

>         6 -  Addition controls to choice a file log and a parser log, using
> the frontend, so that become easy the build of graphic from any service
> log;

Julien Miotte wrote a perl script generator to translate logs fields
automatically into pgdl. You may actually look at what he did with
GenPicvizParser (GPP). But I would take all possible dimensions from
those logs, and then comment unwanted dimensions in the axis section,
since current and soon to be release 0.6 allow this.
> 7 -  Dynamic graphic ploting;
>     Create a method for real-time getting information from log files to
> ploting  its dynamically.

I am working on improving the real-time capabilities from the engine,
and you may benefit those features from the binding very very soon.

>                 8 -  Automatic parser creation through user aided selection
> of sections text in the log.

Hum., ok see 6. ;-) I guess this is very similar.

> will support that. Mike was presented to us and he talked about the gPP
> (GenPicVizParser), he is willing to help us in this task and he allowed us
> to use the gPP code.

Great, thank Mike! (Julien, your nickname confuse people from your
real name ;)).

Hope my comments are useful,
thank you very much!

Picviz mailing list

Reply via email to