Skip to content

llorz/TVCG17_JointMap_code

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 

Joint Layout

This is the code for the paper "Joint Graph Layouts for Visualizing Collections of Segmented Meshes".

Code structure

data/

For each dataset (a collection of graphs), we have the adjacency matrix (A) and the label per node for each graph. If the initial/independent layout (X) is not given, it can be set randomly.

  • Princeton Shape Benchmark (19 shapes)
  • Stanford ShapeNetCore (3 shapes: airplane, motorcycle, rocket)
  • FAUST dataset (10 persons * 10 poses )
  • Floor plan (9 graphs manually created)
  • Stanford Scene database (8 graphs manually created)
  • Food network (4 countries)

func_JointMap/ (main functions of the algorithm)

  • step 0: preprocessing.m: given the adjacency matrix and labels, compute

    • the Laplacians (L)
    • the correspondence matrices(B and D)
    • the distance matrix (d) to be preserved,
    • the penalty coefficients (\mu, \lambda)
  • step 1: get_embedding.m: find the spectral initialization: the solution to optimize the first two energy terms

  • step 2: stress_majorization.m: apply the stress majorization algorithm to find the joint layout

func/ (not important functions)

  • set_parameters.m: It keeps the parameters (c1, c2, c3, c4) consistent with the paper

  • generateLayout.m: Simply the combination of preprocessing.m + get_embedding.m + stress_majorization.m

test/

  • testLayout.m: the main test script - generate the joint layout for the following dataset:
    • 6 shapes from PSB
    • 3 shapes from ShapeNetCore
    • other: scene, floorplan, food network

For the above datasets, just set the model_name and run the script, it will set the parameters consistent with the paper. For other datasets, load the data (with adjacency matrix, label and initial layout) and set the parameters.

  • testFAUST.m: use the FAUST dataset to compare the joint layout and the MDS layout

  • testGraphErr_PSB.m, testGraphErr_SNC.m: visualize the graph error (two scripts are almost the same but with different parameters)

License: CC BY-NC 4.0 This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License

About

code for the paper "Joint Graph Layouts for Visualizing Collections of Segmented Meshes"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages