General Information
| Student: |
[Neel Parikh] |
| Office: |
[CoRE 450] |
| School: |
[Stanford University] |
| E-mail: |
[nparikh@gmail.com] |
| Project: |
[Visualization of Time-Varying Graphs] |
Project Description
This
project addresses the problem of visualizing graphs that are being
collected in a streaming fashion. A central question is the
identification of graph sub-structures and statistics on them that can
be used as the basis to depict the graph evolution through time.
Another key consideration is to come up with a visualization algorithm
that gives stable layout over time, thus preserving the user's mental
map.
Weekly Log
- Week 1:
- The members of our research group chose the specific projects we are going to work on. I will be continuing my research on visualizing time-varying data and working to extend our methods to handle data sets other than shipping manifest data.
The main focus of my work will be to convert the processing pipeline
into a streamlined sequence of processes that will be suitable for
streaming data sets such as twitter messages.
- Week 2:
- My reasearch partner Mikey Chen and I used the discrepancy based
manifest data analysis system that we had previously designed to
visualize the Japan tsunami data set. Unfortunately, none of the fossil
edges in the data log files were from ports in Japan. We concluded that
the reason for this was because of the "background noise" of
intermitant shipments from small ports globally. I filtered the graphs
before discrepancy processing to extract edges originating from
indiviual ports in Japan. Discrepancy processing on these graphs
yielded better results. For example, edges for shipments originating
from Kobe, Japan were slected as fossils and we were able to confirm
that there was a noticeable drop off in shipment volume from Kobe about
two weeks after the Tsunami hit Japan. Our findings were presented to
the CCICADA nuclear detection group during our monthly meeting.
- Week 3:
- Mikey Chen finished his work visualizing manifest graphs with Gephi
this week. I worked with him to learn about the implementation details
of his code so that I could integrate his visualization steps with my
graph processing steps. This included the processing to determine
fossil edges and create the stream of events which are captured in the
Gephi REC file format. It was apparent that much of the attribute
creation and processing steps were duplicated in our respective parts
of the projects.
I found a new dynamic graph visualization library called
GraphStream which provides features that will give us
much
greater controll over the specifics of graph visualization. This
included a multithreaded graph display feature with a
built in force directed layout algorithm. Additonally, it will allowed
for the addition of "sprites" to graph elements which
allows us to add labels to the display without having to create "dummy"
nodes.
- Week 4:
- The focus of this week's
work was creating a streaming visualization of manifest data using a
GraphStream graph as an event sink. The events were read from a Gephi
REC file that was created using Mikey's WadjProcessor program on the
Japan Tsunami dataset. Vertex styles were fully defined in a cascading
style sheet instead of relying on attribute events from the REC file.
Edge coloring and thickness attributes still came from the REC file but
fossil edges were highlighted and labeled using the ui.class attribute.
I also experimented with edges fading in and out, and though the result
was visually appealing it generated too many events to maintain a
smooth overall visualization. Special effects will most likely need to
be done in separte threads.
- Week 5:
- I worked
on completing the transition of visualization code to the GraphStream
library. This meant altering the attribute creator proceses to make ids
and values compatible with GraphStream syntax. Also, the events stream
was changed so that it could be recorded in GraphStreams native DGS
format instead of the Gephi REC format.
- Further work was done
on separating processing steps into independent programs so that the
bufferring can be added between each processing step.
-
- Week 6:
- Week 7:
Presentations
Additional Information