Visualization and GraphicsInteractionDept ICSFaculty of ScienceUU

//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.

AFMM

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

AFMM3D

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

AreaView

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

binvox

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

CUBu

CUDA Universal Bundling framework for huge graphs (CUDA)

CUDASkel2D

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

CUDASkelSalience

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

CUDASkelInteract

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

CVSgrab, CVSscan

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

ClonEvol

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)

DejaVu

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

DenseSkel

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

DenseSkel Benchmark

Benchmark for using dense skeletons for image compression

DepAnalyze

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

DigitalShave

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)

DreamCode

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

DTIBundling

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)

GCCIE

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)

KDEEB

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

MemoView

Visualize dynamic memory allocations (C/C++)

MetaBalls

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

Multiphase flow simulation

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

NNInv

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)

ProjQualExplain

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)

RTTI

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)

SkelNoiseRemoval

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

SkelCornerDetection

Skeleton-based corner detector for grayscale images (CUDA)

SkeletonSandbox

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

SoftVision

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

SolidSDD

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

SolidSX

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

SolidTA

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)

TableVision

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)