Visualization 2 - BiSet

Julian Flür (11807481), Simon Derflinger (12244572)

Project description

This project is a Python implementation of the paper "BiSet: Semantic Edge Bundling with Biclusters for Sensemaking" by Sun et. al. 2015. This paper presents an innovative method for identifying coordinated relationships that addresses the limitations of existing techniques. Traditional approaches that focus on individual relationships, such as those between lists of entities, often require repetitive manual selection and considerable mental effort to synthesise information from cluttered visualisations. In contrast, the proposed methodology, BiSet, improves this process by modelling coordinated relationships as biclusters and systematically extracting them from the dataset. This visualisation technique reduces the need for tedious manual selection and enables analysts to identify coordinated relationships with greater efficiency. In particular, we elevate bundles to the status of first-class objects and introduce an "in-between" layer dedicated to encapsulating these bundle objects. This layered approach improves the clarity and accessibility of the visual representation.

Implemented interactivity

View

  • Scaling viewport size
  • Panning viewport
  • Filtering selected items

Items

  • Single/Multi selection (+Highlighting)
  • Drag and drop for moving
  • Edge highlighting
  • Filtering on selected item

Bundles

  • Single/Multi Selection (+Highlighting)
  • Edge highlighting

GUI Elements

  • Change edge draw mode
  • Change ranking algoríthm
  • Change minimum support

Deviations to the paper

Most aspects of the visualisation have been successfully implemented according to the paper. A different biclustering algorithm has been used, which differs from the one originally proposed ones. In addition, some further interactions have been integrated to increase functionality. These include intuitive features such as drag-and-drop sorting and dynamic filtering options for selected items.

Execute

To run this project Python with PyQt6 installed is required. The project was tested with Python 3.10.8 and PyQt6 version 6.6.0

After the installation the project can be started with "python appQt.py"

For demonstration purposes it is not necessary to run the Mafia algorithm since the results are precomputed. If new data or a random sample should be analyzed please follow the installation guide in the folder Mafia-1.4

References