Visualization and GraphicsInteractionDept ICSFaculty of ScienceUU

https://webspace.science.uu.nl/~telea001/Site/TopBar

Software

Below are various software tools that I have developed. Text in brackets indicates the main programming languages used. Note that CUDA implies C++.

Important: The software provided here is only available for research purposes (see disclaimer in side bar). Prior to any commercial use, contact me.

Computes 2D Euclidean distance transforms, feature transforms, and skeletons (C++)

Computes 3D Euclidean distance transforms, feature transforms, and skeletons (C++)

Visualization of UML diagrams with code quality metrics (C++)

An enhanced (faster, more stable) version of the open-source binvox voxelizer (C/C++)

CUDA Universal Bundling framework for huge graphs (CUDA)

Computes 2D Euclidean distance transforms, feature transforms, and skeletons on the GPU (CUDA)

Computes 2D Euclidean distance transforms, feature transforms, and salience skeletons on the GPU (CUDA)

Interactive axis-based 3D rotation tool based on image skeletons (CUDA)

,

Visualize evolution of CVS and SVN software repositories (C++, C#)

Extract and visualize evolution of software clones from code repositories (C++)

DataVisualizationBook

Code samples from my data visualization book (C++, OpenGL)

DeepFA-labeling

Support manual labeling of classification training data using FastDBM (Python)

DeforestVis

Visually explore classifiers via simple AdaBoost surrogates (Python,JS)

Extract and refactor (eliminate) code clones in Visual Basic (VB)

Encode grayscale and color images using dense multiscale skeleton descriptors (CUDA)

DenseSkel Benchmark

Benchmark for using dense skeletons for image compression

Extract and visualize evolution of software dependencies in code repositories (C#)

[[https://git.science.uu.nl/vig/adversarial-dbm-tool|Differentiable DBMs]

Compute several quality metrics for decision boundary maps (DBMs) (Python)

Digitally remove hairs from dermatoscopic skin imagery (C++)

Drawing near-planar graphs

A spring-based heuristic to find and handle cluttering edges in drawing near-planar graphs (Python)

Visualize structure and metrics of software source code using cushion treemaps (C++)

Simplification of DTI tracks with trail bundling (C++)

DynProjBenchmark

Benchmark for dynamic projections of time-dependent high-dimensional data (Python)

FastDBM

Fast implementation of the (S)DBM inverse projection algorithms (Python)

GD-2D3D

Finds good viewpoints to view 3D graph drawings, as ProjCompare2D3D but for graphs (Python)

Extract call and dependency graphs form any C/C++ code base (C++)

Guided Dynamic Projections

Two new methods for projecting high-dimensional time-dependent data (Python)

IBIX

Image-based inference explainer - explaining how deep learning regressors work on images (Python)

iMDS

Simple but effective inverse projection for MDS (Python)

Kernel density based edge bundling method (CPU and CPU, C#)

Visualize dynamic memory allocations (C/C++)

Render fluids using metaballs created via surface particles (C++)

Multiphase flow simulation

Simulate multiphase fluid flow real-time using SPH methods (C++)

Invert a multidimensional projection (get nD points from 2D locations) (Python)

NNP

Deep learning multidimensional projections (Python)

NNPStability

Visualize the stability of the NNP deep-learning projection method (Python)

OptMap

Visualization of high-dimensional optimization methods (Python)

ProjCompare2D3D

Comparing the quality of 2D and 3D projections of high-dimensional data (Python)

Compute and visualize quality metrics for multidimensional projections (CUDA)

ProjExplain

Dimension-centric explanation of 2D and 3D projections (Rust, OpenGL)

ProjectionExplorer

Same as ProjExplain but massively refined and with extra explanations (C++)

ProjQuantEval

Benchmark for computing and visualizing dimensionality-reduction quality (Python)

Add run-time type information (RTTI) to a C++ program for any C++ compiler (C++)

Saliency Spline Skeletons for Image Compression (3S-DMD)

Compress images using spline-based skeletons and saliency maps (CUDA)

Supervised Decision Boundary Maps (SDBM)

Compute decision boundary maps for classifiers accurately in and near-real-time (Python)

Spline-based Dense Medial Descriptors (SDMD)

Spline-and-skeleton-based compression of images (CUDA)

SHARC: SHArpened Dimensionality Reduction and Classification

Extends SDR(-NNP) to classify data using a projection (Python). Needs the companion package pySDR (C++)

Skeleton-based image manipulation

Perform powerful edits of images interactively using skeletons (CUDA)

Shape-Regularized Multidimensional Projections (ShaRP)

How to control the shapes generated by a projection technique (Python)

Sharpened Dimensionality Reduction (SDR)

Sharpened dimensionality reduction by preprocessing the input data (Python)

Sharpened Dimensionality Reduction with Neural Networks (SDR-NNP)

Fast implementation of the SDR method (see above) using neural networks (Python)

Spline-based Medial Axis Transform (SMAT)

Spline-based encoding of binary skeletons (CUDA)

SkelBenchmark

Benchmark for comparing 3D skeletonization algorithms (various languages)

3D shape denoising using saliency skeletons (C++)

Skeleton-based corner detector for grayscale images (CUDA)

SkeletonSandbox

Interactive tool to compute and visualize 3D distance transforms and multiscale skeletons (C++)

Programmable visualizations of reverse-engineered software system architectures (C++)

Extract and visualize source code clones in large code bases (C#)

Extract and visualize dependencies and structure from C#, .NET, and Java code (C#)

Extract and visualize software evolution from code repositories (multiple versions)

Salience-aware Dense Skeletons (SSDMD)

Represent an image with dense skeletons driven by image salience metrics (C++)

Self Supervised Neural Projection (SSNP)

Improvement of the NNP algorithm, also providing inverse projection (Python)

Programmable table lens and treemap-from-tables visualization framework (C++)

Thesne

Implementation of dynamic t-SNE projection for time-dependent high-dimensional data (Python)

TreemapBenchmark

Benchmark for comparing treemapping methods (Python)

tsNET

Implementation of tsNET graph layout method using t-SNE (Python). An older implementation is available here (Python)

USTNet

Unsupervised 3D Shape-to-Shape Translation (for morphing between shapes) (Python)