Skip to content

alexkallai/data-visualizer

Repository files navigation

data-visualizer

The goal of this project is to implement similar functions to ..cantor.dust.. in Python

The main GUI components are built with PyQt5 and with Vispy It's running on Windows and Linux as well, and because of Vispy, the graphics performance is great because of the GPU utilization

Features

Done:

  • Heatmap display of byteplots of the file for range selection
  • 2D digraph heatmap represenation of file
  • 2D Hilbert curve representation of

Planned:

  • implement range selection with range slider widget
  • 3D digraph display of selected section
  • 3D Hilbert curve display of selected section
  • Histogram display of selected section
  • Hex location selection by mouse
  • Change display type selection (heatmap colors etc.)
  • Improve load performance and memory management
  • Byteplot display with arbitrary width

Screenshots (may be old)

2D digraph Hilbert curve view

Usage:

WINDOWS
# Create venv
python -m venv venv
# Enter venv
.\venv\Scripts\activate.bat
# Install dependencies
pip install -r requirements_windows.txt
# If everything is ok, start main.py
python .\src\main.py

LINUX
# Create venv
python -m venv venv
# Enter venv
source venv/bin/activate
# Install dependencies
pip install -r requirements_linux.txt
# If everything is ok, start main.py
python ./src/main.py

(I couldn't generate a release yet because Vispy and Pyinstaller are not the best of friends)

Links

Related links

Derbycon 2012 talk that inspired this project

Open source publication article

Original Github release (note, that this is not what was demoed, it's a Ghidra )

Papers, concepts and useful stuff

https://corte.si/posts/visualisation/entropy/index.html

https://inside.battelle.org/blog-details/battelle-publishes-open-source-binary-visualization-tool

https://github.com/Battelle/cantordust

https://gynvael.coldwind.pl/?id=199

http://vigir.missouri.edu/~gdesouza/Research/Conference_CDs/IEEE_WCCI_2020/CEC/Papers/E-24183.pdf

https://www.sciencedirect.com/science/article/pii/S0167404822000591

https://wiki.python.org/moin/PyQt/Creating%20a%20widget%20with%20a%20fixed%20aspect%20ratio