Skip to content

Latest commit

 

History

History
81 lines (59 loc) · 4.83 KB

README.md

File metadata and controls

81 lines (59 loc) · 4.83 KB

Percolation Analysis

This is an Inviwo implementation for conducting Percolation Analysis on randomly sampled or loaded scalar data, as described in our paper:

Wiebke Köpp*, Anke Friederici*, Marco Atzori, Ricardo Vinuesa, Philipp Schlatter & Tino Weinkauf, "Notes on Percolation Analysis of Sampled Scalar Fields" (TopoInVis 2019). (*Both authors contributed equally)

Setup

Percolation analysis has been implemented in Inviwo with the help of some Python scripts. The setup instructions for Inviwo are briefly summarized below and can also be found in the Inviwo Github Wiki.

Dependency Windows (64 bit) Linux OSX
Git .exe sudo apt-get install git .dmg
CMake >= 3.12 .msi sudo apt-get install cmake cmake-qt-gui .dmg
Qt >= 5.12 .exe1 Qt 5 Install instructions2 .dmg1
C++(17) Visual Studio Website sudo apt-get install build-essential XCode Website

1 Select the version for the correct C++ compiler.
2 The given download path is outdated. Use a newer version number, e.g. 5.12.4.

  • Run git submodule sync --recursive and git submodule update --init --recursive within both the local Inviwo copy and the Inviwo modules copy.
  • Generate project files using CMake:
    • Set source and binary destination path.
    • Set all Qt variables.
    • Set MergeTreeMaps as an external module (see below).
  • Open the resulting project in Visual Studio/XCode/Shell and build it.

External Module

The contents of this repository need to be integrated in Inviwo as an external module.

  • Add the path to the modules folder of this repository (percAnalysis/modules) to IVW_EXTERNAL_MODULES in CMake.
  • Select the module IVW_MODULE_PERCOLATION.

This will enable some other modules our module depends on as well.

Examples

Workspaces to recreate the visualizations from the paper are located under modules/percolation/data/workspaces and are additionally accessible through the Inviwo user interface under File → Example Workspaces → Percolation.

For some of our results, we make use of Python scripts for additional processing (e.g. iterating over parameter settings in the optimization or simplification, repeating the analysis for recording timings) is necessary. These can be found in modules/kxpython/data/scripts

Cite

Please cite our paper if you use this code in your own work:

@InProceedings{KoeppEtAl2021_NotesPercolationAnalysis,
  author          = {K{\"o}pp, Wiebke and Friederici, Anke and Atzori, Marco and Vinuesa, Ricardo and Schlatter, Philipp and Weinkauf, Tino},
  booktitle       = {Topological Methods in Data Analysis and Visualization VI},
  date            = {2021},
  title           = {Notes on Percolation Analysis of Sampled Scalar Fields},
  booksubtitle    = {Theory, Applications, and Software},
  doi             = {10.1007/978-3-030-83500-2_3},
  editor          = {Hotz, Ingrid and Masood, Talha Bin and Sadlo, Filip and Tierny, Julien},
  eprint          = {diva2:1660119},
  eprinttype      = {DiVA},
  eventdate       = {2019-06-17/2019-06-19},
  eventtitle      = {Topology-Based Methods in Visualization (TopoInVis)},
  eventtitleaddon = {Software and Applications},
  pages           = {39--54},
  publisher       = {Springer International Publishing},
  series          = {Mathematics and Visualization},
  url             = {https://github.com/KTHVisualization/percAnalysis},
  venue           = {Norrköping, Sweden},
}