/inviwo

Inviwo - Interactive Visualization Workshop

Primary LanguageC++BSD 2-Clause "Simplified" LicenseBSD-2-Clause

Inviwo - Interactive Visualization Workshop

Build Status BSD licensed Release version

Inviwo is a software framework for rapid visualization prototyping.

Package releases and information is available at www.inviwo.org

Below follow some general information about the framework:

  • Freely available under the Simplified BSD License.
  • Cross-platform and runs on Windows, Linux and Mac OS X.
  • Easily extendable through inclusion of external modules and projects.

Core

  • The core is written in C/C++ only, with minor dependencies.

Modules

  • Modern graphics programming through OpenGL (>= 3.3 Core) related modules.
  • Parallel computing on multiple platforms (GPU/CPU) through OpenCL (>= 1.0) related modules.
  • Python (> 3.2) scripting and computation is supported through provided modules.

GUI

  • The primary GUI is based on Qt (Supported >= 5.12).
  • A minimal application is available, utilizing GLFW 3 for multiple window and context management.

Build system

  • The project and module configuration/generation is performed through CMake (>= 3.12.0).
  • Inviwo has been compiled in Visual Studio 2019, Clang 8, GCC 9, XCode 11
  • C++17 Required

Documentation

For help and general discussion join us on our Slack server

External modules and applications

There are a large number of modules developed and maintained in other repositories. These can be added through the CMake option IVW_EXTERNAL_MODULES, see Inviwo modules for more details. The following modules add a variety of functionalities to Inviwo. Please refer to the respective repository for possible issues related to them.

  • Dicom reader Adds support for reading DICOM image/volume files (.dcm file ending)
  • Molecular visualization Adds support for molecular data structures along with reading PDB and mmCIF files. Molecules are rendered in van-der-Waals, Licorice, and Ball and Stick representations.
  • Tensor visualization Adds support for reading/writing tensor fields. Includes algorithms such as HyperLIC and Anisotropy raycasting.
  • Topology visualization Integrates the Topology Toolkit into Inviwo. Includes algorithms for critical points, integral lines, persistence diagrams, persistence curves, merge trees, contour trees, Reeb graphs, Morse-Smale complexes, topological simplification, topology-aware compression, harmonic design, fiber surfaces, continuous scatterplots, Jacobi sets, Reeb spaces, bottleneck and Wasserstein distances between persistence diagrams etc.
  • Clustering Cluster rows of a DataFrame. Supported clustering methods are k-means, DBSCAN, agglomerative, and spectral clustering
  • Vector Graphics Integrates NanoVG, which is a small antialiased vector graphics rendering library for OpenGL.
  • NetCDF Adds support for reading NetCDF files
  • OpenMesh Integrats the OpenMesh library, which is a data structure for polygonal meshes. Includes for example mesh decimation and vertex normal generation.
  • Spring-mass system Simulation of spring-mass system.
  • Visualization Toolkit Integrates support for VTK, which has algorithms for surface reconstruction, implicit modeling, decimation and much more.
  • Photon mapping Volume illumination algorithm for time-varying heterogenous media.
  • Temporal Tree Maps Temporal treemaps for visualizing trees whose topology and data change over time.
  • Developer tools Log inviwo events, useful for debugging interaction.

Applications

  • Visual Neuro A visual analysis tool understanding cohorts of brain imaging and clinical data. Also includes algorithms for statistical computation.
  • ENVISIoN Visualization of electronic structure quantities from ab-initio calculations.

Is your repository missing above? Just add it and make a pull request!

Sponsors

This work is supported by Linköping University, Ulm University, and KTH Royal Institute of Technology as well as grants from the Swedish e-Science Research Centre (SeRC), the Excellence Center at Linköping - Lund in Information Technology (ELLIIT), the Swedish Research Council (Vetenskapsrådet), DFG (German Research Foundation), and the BMBF.